Exemple #1
0
        public object LoadFromFile(string filePath)
        {
            if (filePath == null)
            {
                throw new InvalidOperationException("Cannot load from a null file path.");
            }
            if (!File.Exists(filePath))
            {
                throw new InvalidOperationException("File does not exist.");
            }

            IFileReader fileReader = FileReaderFactory.Instance.CreateBinaryFileReader();

            if (fileReader == null)
            {
                return(null);
            }

            IObjectContentWriter contentWriter = ObjectContentWriterFactory.Instance.CreateSequenceCacheContentWriter(filePath);

            if (contentWriter == null)
            {
                return(null);
            }

            ISequenceCache sequenceCache = SequenceService.Instance.CreateNewCache(filePath);

            if (sequenceCache == null)
            {
                return(null);
            }

            object content = fileReader.ReadFile(sequenceCache.CacheFilePath);

            if (content == null)
            {
                return(null);
            }

            var cacheContainer = new CacheContainer();

            cacheContainer.SequenceCache = sequenceCache;
            contentWriter.WriteContentToObject(content, cacheContainer);

            return(cacheContainer.SequenceCache);
        }
        public void WriteContentToObject(byte[] content, CacheContainer cacheContainer)
        {
            using(Stream stream = new MemoryStream(content))
            {

                try
                {
                    BinaryFormatter reader = new BinaryFormatter();
                    Object obj = reader.Deserialize(stream);
                    cacheContainer.SequenceCache = obj as ISequenceCache;
                }
                catch (Exception e)
                {
                    Logging.ErrorException("Error deserializing cache instance", e);
                }

            }
        }
Exemple #3
0
        public object LoadFromFile(string filePath)
        {
            if (filePath == null) throw new InvalidOperationException("Cannot load from a null file path.");
            if (!File.Exists(filePath)) throw new InvalidOperationException("File does not exist.");

            IFileReader fileReader = FileReaderFactory.Instance.CreateBinaryFileReader();
            if (fileReader == null) return null;

            IObjectContentWriter contentWriter = ObjectContentWriterFactory.Instance.CreateSequenceCacheContentWriter(filePath);
            if (contentWriter == null) return null;

            ISequenceCache sequenceCache = SequenceService.Instance.CreateNewCache(filePath);
            if (sequenceCache == null) return null;

            object content = fileReader.ReadFile(sequenceCache.CacheFilePath);
            if (content == null) return null;

            var cacheContainer = new CacheContainer();
            cacheContainer.SequenceCache = sequenceCache;
            contentWriter.WriteContentToObject(content, cacheContainer);

            return cacheContainer.SequenceCache;
        }