Example #1
0
        public static Persister<Request> CreateRequestPersisterInstance()
        {
            var requestPersister = new RequestPersister();
            var persister = new Persister<Request>(requestPersister) { PersistenceMethod = PersistenceMethod.MongoDb };

            return persister;
        }
Example #2
0
        public static Persister<Scrape> CreateScrapePersisterInstance()
        {
            var scrapePersister = new ScrapePersister();
            var persister = new Persister<Scrape>(scrapePersister) { PersistenceMethod = PersistenceMethod.MongoDb };

            return persister;
        }
Example #3
0
        public static Persister<Comparison> CreateComparePersisterInstance()
        {
            var comparePersister = new ComparePersister();
            var persister = new Persister<Comparison>(comparePersister) { PersistenceMethod = PersistenceMethod.MongoDb };

            return persister;
        }
Example #4
0
        public static Persister<Comparison> CreateComparePersisterInstance(string outputDirectory)
        {
            var comparePersister = new ComparePersister();
            var persister = new Persister<Comparison>(comparePersister)
                { PersistenceMethod = PersistenceMethod.File, OutputDir = outputDirectory };

            return persister;
        }
Example #5
0
        public static Persister<Request> CreateRequestPersisterInstance(string outputDirectory)
        {
            var requestPersister = new RequestPersister();
            var persister = new Persister<Request>(requestPersister)
                { PersistenceMethod = PersistenceMethod.File, OutputDir = outputDirectory };

            return persister;
        }
Example #6
0
        public static Persister<Scrape> CreateScrapePersisterInstance(string outputDirectory)
        {
            var scrapePersister = new ScrapePersister();
            var persister = new Persister<Scrape>(scrapePersister)
                { PersistenceMethod = PersistenceMethod.File, OutputDir = outputDirectory };

            return persister;
        }
 private XmlDeserializerStream(XmlReader xmlReader, FileStream fileStream,
     Persister serializer)
     : base(serializer)
 {
     _xmlReader = xmlReader;
     _fileStream = fileStream;
     _xmlReader.MoveToContent();
 }
Example #8
0
        public Service(string outputDir)
        {
            _comparePersister = PersisterFactory.CreateComparePersisterInstance(outputDir);
            _scrapePersister = PersisterFactory.CreateScrapePersisterInstance(outputDir);

            var elementProvider = new ElementProvider();
            var webRequestUtil = new WebRequestUtil();
            _scrapeBuilder = new ScrapeBuilder(elementProvider, webRequestUtil);
        }
        internal XmlSerializerStream(string filePath, Persister serializer)
            : base(serializer)
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Encoding = new UTF8Encoding(true);
            settings.Indent = true;
            settings.CloseOutput = true;

            _xmlWriter = XmlWriter.Create(filePath, settings);
        }
Example #10
0
        public void VerifyLoadMongoDb()
        {
            //Arrange
            var persistable = Substitute.For<IPersist>();
            var persist = Substitute.For<IPersister<IPersist>>();
            var persister = new Persister<IPersist>(persist) { PersistenceMethod = PersistenceMethod.MongoDb };

            //Act-Assert
            Assert.DoesNotThrow(() => persister.Load(persistable.Id.ToString()));
        }
Example #11
0
        public void VerifySaveException()
        {
            //Arrange
            var persistable = Substitute.For<IPersist>();
            var persist = Substitute.For<IPersister<IPersist>>();
            var persister = new Persister<IPersist>(persist) { PersistenceMethod = (PersistenceMethod)3 };

            //Act-Assert
            Assert.Throws<ArgumentException>(() => persister.Save(persistable));
        }
Example #12
0
        public void VerifySaveFile()
        {
            //Arrange
            var persistable = Substitute.For<IPersist>();
            var persist = Substitute.For<IPersister<IPersist>>();
            var persister = new Persister<IPersist>(persist) { PersistenceMethod = PersistenceMethod.File };

            //Act-Assert
            Assert.DoesNotThrow(() => persister.Save(persistable));
        }
Example #13
0
        public void VerifyLoadFile()
        {
            //Arrange
            var persistable = Substitute.For<IPersist>();
            persistable.Path = new StringAsReference {Value = "C:\\"};
            var persist = Substitute.For<IPersister<IPersist>>();
            var persister = new Persister<IPersist>(persist) { PersistenceMethod = PersistenceMethod.File };

            //Act-Assert
            Assert.DoesNotThrow(() => persister.Load(persistable.Path.Value));
        }
Example #14
0
 //This is a basic example of how to use the crawler
 //In case of a cache miss, it prints out the page's title and
 //absolute URI, and saves the page data to the filesystem.
 public static void Main(String[] args)
 {
     if ((args.Length == 2 || args.Length == 3) &&
         Uri.IsWellFormedUriString(args[0], UriKind.Absolute))
     {
         Uri startingUri = new Uri(args[0]);
         String targetDirectoryPath = args[1];
         bool followExternal =
             args.Length == 3 && args[2] == "--follow-external";
         Console.WriteLine("Loading from cache...");
         Cache cache = new Cache(startingUri, targetDirectoryPath);
         Console.WriteLine(
             "Cache loaded - {0} pages stored in cache", cache.Count());
         Crawler crawler = new Crawler(cache, followExternal);
         Persister persister = new Persister(targetDirectoryPath, startingUri);
         //This event is fired when the crawler's process is over
         crawler.WorkComplete += () =>
         {
             Environment.Exit(0);
         };
         //This event is fired every time a valid page is downloaded
         crawler.NewPageFetched += (page) =>
         {
             Console.WriteLine(page.Title + " - " + page.Uri.AbsoluteUri);
             persister.Save(page);
         };
         //starts the crawler, on a different thread
         crawler.Crawl(startingUri);
         Console.WriteLine("Crawler started, press CTRL+C to interrupt");
         while (true) { }
     }
     else
     {
         Console.WriteLine("Crawler");
         Console.WriteLine("Usage:");
         Console.WriteLine(
             "Tenteikura.Example.exe <starting_uri> <target_directory> [--options]");
         Console.WriteLine(
             "<starting_uri> : a valid absolute URL which will be the starting point for the crawler");
         Console.WriteLine(
             "<target_directory> : the directory where the page files will be saved");
         Console.WriteLine("");
         Console.WriteLine("OPTIONS:");
         Console.WriteLine(
             "The only option available is --follow-external, which will make the crawler fetch non-local urls as well");
         Console.WriteLine("EXAMPLE: ");
         Console.WriteLine(
             @"Tenteikura.Example.exe http://telenor.com C:\mytargetdirectory --follow-external");
     }
 }
Example #15
0
 public void TestCase()
 {
     Persister   persister = new Persister();
     CaseExample example   = persister.read(CaseExample.class, SOURCE);
Example #16
0
 public void SetUp()
 {
     persister = new Persister(new CycleStrategy("id", "ref"));
 }
Example #17
0
 public void TestExamplePrimitiveArray() {
    Serializer serializer = new Persister();
    ExamplePrimitiveArray list = serializer.read(ExamplePrimitiveArray.class, PRIMITIVE_LIST);
Example #18
0
 public RQLEmitter(Persister _persistCallback)
     : this()
 {
     persistCallback = _persistCallback;
 }
 private XmlDeserializerStream(FileStream fileStream, Persister serializer)
     : this(XmlReader.Create(fileStream), fileStream, serializer)
 {
 }
Example #20
0
 public void SetUp()
 {
     serializer = new Persister(new Format(4, "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>"));
 }
Example #21
0
 public void TestEmptyCompositeValue()
 {
     Serializer serializer = new Persister();
     ComplexMap value      = serializer.read(ComplexMap.class, EMPTY_COMPOSITE_VALUE);
Example #22
0
 public void TestInitialize()
 {
     _transactionPersister = new Persister <Transaction>(_context);
     _transactionBuilder   = new Builder <Transaction>();
 }
 protected override string[] GetColumns()
 {
     return(Persister.GetSubclassPropertyColumnNames(propertyIdx));
 }
Example #24
0
        /// <summary>
        /// Get Dispatcher
        /// </summary>
        /// <param name="messageHandlerType">Type of the message Handler</param>
        /// <param name="builder">Builder</param>
        /// <param name="message">Message</param>
        /// <returns>Saga Dispatcher</returns>
        public IEnumerable <Action> GetDispatcher(Type messageHandlerType, IBuilder builder, object message)
        {
            var isTimeoutMessage = message.IsTimeoutMessage();

            if (isTimeoutMessage && !message.TimeoutHasExpired())
            {
                yield return(() => Bus.HandleCurrentMessageLater());

                yield break;
            }

            var entitiesHandled  = new List <ISagaEntity>();
            var sagaTypesHandled = new List <Type>();

            foreach (var finder in GetFindersFor(message, builder))
            {
                bool        sagaEntityIsPersistent = true;
                ISagaEntity sagaEntity             = UseFinderToFindSaga(finder, message);
                Type        sagaType;

                if (sagaEntity == null)
                {
                    sagaType = Configure.GetSagaTypeToStartIfMessageNotFoundByFinder(message, finder);
                    if (sagaType == null)
                    {
                        continue;
                    }

                    if (sagaTypesHandled.Contains(sagaType))
                    {
                        continue; // don't create the same saga type twice for the same message
                    }
                    sagaEntity = CreateNewSagaEntity(sagaType);

                    sagaEntityIsPersistent = false;
                }
                else
                {
                    if (entitiesHandled.Contains(sagaEntity))
                    {
                        continue; // don't call the same saga twice
                    }
                    sagaType = Configure.GetSagaTypeForSagaEntityType(sagaEntity.GetType());
                }

                if (messageHandlerType.IsAssignableFrom(sagaType))
                {
                    yield return () =>
                           {
                               var saga = (ISaga)builder.Build(sagaType);

                               saga.Entity = sagaEntity;

                               try
                               {
                                   SagaContext.Current = saga;

                                   if (isTimeoutMessage && !(message is TimeoutMessage))
                                   {
                                       HandlerInvocationCache.Invoke(typeof(IHandleTimeouts <>), saga, message);
                                   }
                                   else
                                   {
                                       HandlerInvocationCache.Invoke(typeof(IMessageHandler <>), saga, message);
                                   }

                                   if (!saga.Completed)
                                   {
                                       if (!sagaEntityIsPersistent)
                                       {
                                           Persister.Save(saga.Entity);
                                       }
                                       else
                                       {
                                           Persister.Update(saga.Entity);
                                       }
                                   }
                                   else
                                   {
                                       if (sagaEntityIsPersistent)
                                       {
                                           Persister.Complete(saga.Entity);
                                       }

                                       NotifyTimeoutManagerThatSagaHasCompleted(saga);
                                   }

                                   LogIfSagaIsFinished(saga);
                               }
                               finally
                               {
                                   SagaContext.Current = null;
                               }
                           }
                }
                ;
                sagaTypesHandled.Add(sagaType);
                entitiesHandled.Add(sagaEntity);
            }

            if (entitiesHandled.Count == 0)
            {
                yield return () =>
                       {
                           logger.InfoFormat("Could not find a saga for the message type {0} with id {1}. Going to invoke SagaNotFoundHandlers.", message.GetType().FullName, Bus.CurrentMessageContext.Id);

                           foreach (var handler in builder.BuildAll <IHandleSagaNotFound>())
                           {
                               logger.DebugFormat("Invoking SagaNotFoundHandler: {0}",
                                                  handler.GetType().FullName);
                               handler.Handle(message);
                           }
                       }
            }
            ;
        }

        ISagaEntity CreateNewSagaEntity(Type sagaType)
        {
            var sagaEntityType = Configure.GetSagaEntityTypeForSagaType(sagaType);

            if (sagaEntityType == null)
            {
                throw new InvalidOperationException("No saga entity type could be found for saga: " + sagaType);
            }

            var sagaEntity = (ISagaEntity)Activator.CreateInstance(sagaEntityType);

            sagaEntity.Id = GuidCombGenerator.Generate();

            sagaEntity.Originator        = Bus.CurrentMessageContext.ReplyToAddress.ToString();
            sagaEntity.OriginalMessageId = Bus.CurrentMessageContext.Id;

            return(sagaEntity);
        }
 public void SetUp()
 {
     persister = Substitute.For <Persister>();
     store     = new SerialSaveStore(persister);
     store.Load();
 }
Example #26
0
 public void TestEntryMap()
 {
     Serializer serializer = new Persister();
     EntryMap   example    = serializer.read(EntryMap.class, ENTRY_MAP);
Example #27
0
 public void SetUp()
 {
     persister = new Persister(new CycleStrategy());
 }
Example #28
0
        /// <summary>
        /// Creates an instance of the given type.
        /// </summary>
        /// <param name="requestedType"></param>
        /// <returns></returns>
        /// <remarks>
        /// Every object in the composite root should be instantiates before returning the requested type.
        /// Otherwise, classes may not work correctly with each other, if they use an indirect way of communicating
        /// such as through events.
        /// </remarks>
        private object CreateInstance(Type requestedType)
        {
            MetroWindow                 metroWindow                 = Application.Current.MainWindow as MetroWindow;
            App                         app                         = Application.Current as App;
            LibraryUpdater              libraryUpdater              = new LibraryUpdater();
            DialogCoordinator           dialogCoordinator           = new DialogCoordinator();
            Persister                   persister                   = new Persister();
            UpdateEliteAPI              updateEliteAPI              = new UpdateEliteAPI(libraryUpdater, dialogCoordinator, EventMessenger);
            SelectCharacter             selectCharacterRequest      = new SelectCharacter(EventMessenger, metroWindow);
            SelectAbilityRequestHandler selectAbilityRequestHandler = new SelectAbilityRequestHandler(metroWindow);
            BattlesViewModel            battlesViewModel            = new BattlesViewModel();
            FollowViewModel             followViewModel             = new FollowViewModel();
            IgnoredViewModel            ignoredViewModel            = new IgnoredViewModel();
            LogViewModel                logViewModel                = new LogViewModel();
            SelectProcessViewModel      selectProcessViewModel      = new SelectProcessViewModel(new SelectProcessDialog());
            RestingViewModel            restingViewModel            = new RestingViewModel();
            RoutesViewModel             routesViewModel             = new RoutesViewModel();
            SettingsViewModel           settingsViewModel           = new SettingsViewModel();
            TargetingViewModel          targetingViewModel          = new TargetingViewModel();
            TargetsViewModel            targetsViewModel            = new TargetsViewModel();
            TabViewModels               tabViewModels               = new TabViewModels(new List <IViewModel>()
            {
                battlesViewModel,
                targetingViewModel,
                restingViewModel,
                routesViewModel,
                followViewModel,
                logViewModel,
                settingsViewModel,
            });
            MainViewModel   mainViewModel   = new MainViewModel(tabViewModels);
            MasterViewModel masterViewModel = new MasterViewModel(mainViewModel, EventMessenger);

            if (requestedType == typeof(EventMessenger))
            {
                return(EventMessenger);
            }
            if (requestedType == typeof(App))
            {
                return(app);
            }
            if (requestedType == typeof(LibraryUpdater))
            {
                return(libraryUpdater);
            }
            if (requestedType == typeof(SelectCharacter))
            {
                return(selectCharacterRequest);
            }
            if (requestedType == typeof(SelectAbilityRequestHandler))
            {
                return(selectAbilityRequestHandler);
            }
            if (requestedType == typeof(IDialogCoordinator))
            {
                return(dialogCoordinator);
            }
            if (requestedType == typeof(IPersister))
            {
                return(persister);
            }
            if (requestedType == typeof(UpdateEliteAPI))
            {
                return(updateEliteAPI);
            }
            if (requestedType == typeof(BattlesViewModel))
            {
                return(battlesViewModel);
            }
            if (requestedType == typeof(FollowViewModel))
            {
                return(followViewModel);
            }
            if (requestedType == typeof(IgnoredViewModel))
            {
                return(ignoredViewModel);
            }
            if (requestedType == typeof(LogViewModel))
            {
                return(logViewModel);
            }
            if (requestedType == typeof(TabViewModels))
            {
                return(tabViewModels);
            }
            if (requestedType == typeof(MainViewModel))
            {
                return(mainViewModel);
            }
            if (requestedType == typeof(MasterViewModel))
            {
                return(masterViewModel);
            }
            if (requestedType == typeof(SelectProcessViewModel))
            {
                return(selectProcessViewModel);
            }
            if (requestedType == typeof(RestingViewModel))
            {
                return(restingViewModel);
            }
            if (requestedType == typeof(RoutesViewModel))
            {
                return(routesViewModel);
            }
            if (requestedType == typeof(SettingsViewModel))
            {
                return(settingsViewModel);
            }
            if (requestedType == typeof(TargetingViewModel))
            {
                return(targetingViewModel);
            }
            if (requestedType == typeof(TargetsViewModel))
            {
                return(targetsViewModel);
            }

            throw new InvalidOperationException($"Could not create instance of requested type {requestedType.Name}");
        }
Example #29
0
 public void InsertFile(string filepath)
 {
     Persister.InsertFile(filepath, MaxNumberOfFiles);
 }
Example #30
0
 public void TestInitialize()
 {
     _categoryPersister = new Persister <Category>(_context);
     _categoryBuilder   = new Builder <Category>();
 }
Example #31
0
 public void GetCustomWorldNames(Action <String[]> callback)
 {
     Persister.LoadAllFileNames(@"*", callback);
 }
Example #32
0
 public RQLEmitter(Persister _persistCallback)
     : this()
 {
     persistCallback = _persistCallback;
 }
Example #33
0
 public void SetUp()
 {
     serializer = new Persister();
 }
Example #34
0
 public void RemoveFile(string filepath)
 {
     Persister.RemoveFile(filepath, MaxNumberOfFiles);
 }
 protected override string[] GetAliasedColumns()
 {
     return(Persister.ToColumns(Alias, propertyIdx));
 }
Example #36
0
 public void SetUp() {
    this.persister = new Persister();
 }
 protected override string[] GetAliasedColumns()
 {
     return(Persister.ToIdentifierColumns(Alias));
 }
Example #38
0
 public DataModelBase()
 {
     this._persister = new Persister(this);
 }
Example #39
0
 public void LoadWorld(String name, Action <List <WorldObject> > callback)
 {
     Persister.LoadFromLoose <List <WorldObject> >(name, (objectsLoaded => ObjectsLoaded(objectsLoaded, callback)));
 }
Example #40
0
 public void RemoveFile(string filepath)
 {
     Persister.RemoveFile(filepath);
 }
Example #41
0
 public RQLEmitter(string _context, string _table, Persister _persistCallback)
     : this(_context)
 {
     persistCallback = _persistCallback;
     table           = _table;
 }
Example #42
0
 public void InsertFile(string filepath)
 {
     Persister.InsertFile(filepath);
 }
Example #43
0
 public void SetUp()
 {
     persister = new Persister();
 }
Example #44
0
 public void InsertFile(string filepath)
 {
     Persister.InsertFile(filepath, MaxNumberOfFiles);
     _itemsUpToDate      = false;
     BindableRecentFiles = RecentFiles;
 }
 internal XmlDeserializerStream(string filepath, Persister serializer)
     : this(new FileStream(filepath, FileMode.Open), serializer)
 {
 }
        private async Task ExecuteExportExpressions()
        {
            Log.StartTiming();

            RefreshCommands();
            try
            {
                if (!SyncLocally)
                {
                    if (SyncWithDropboxEnabled && SyncWithLiveEnabled)
                    {
                        WindowService.ShowMessage(Msg.CannotSyncFromTwoSourcesAtTheSameTime);
                        return;
                    }

                    var entity = new MainEntity();
                    entity.Expressions.AddRange(DataAccess.GetAllExpressions());

                    var cts = GetTokenSource(ImportExportGroupName);
                    var ct  = cts.Token;

                    if (SyncWithDropboxEnabled)
                    {
                        if (!await UploadToDropbox(entity, ct))
                        {
                            WindowService.ShowMessage(Msg.DropboxExportFailed);
                        }
                    }
                    if (SyncWithLiveEnabled)
                    {
                        if (!await UploadToLive(entity, ct))
                        {
                            WindowService.ShowMessage(Msg.LiveExportFailed);
                        }
                    }
                }
                else
                {
                    using (var o = new SaveFileDialog())
                    {
                        var res = o.ShowDialog();
                        if (res == DialogResult.OK)
                        {
                            var since = ExportSince && ExportSinceDate != DateTime.MinValue
                                            ? ExportSinceDate
                                            : (DateTime?)null;

                            var entity = new MainEntity();
                            entity.Expressions.AddRange(
                                DataAccess.GetAllExpressions(since));

                            Log.StartTiming("ExportToFile");
                            Persister.ExportToFile(o.FileName, entity);
                            Log.StartTiming("ExportToFile");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                WindowService.ShowError(ex);
            }
            finally
            {
                RefreshCommands();
            }

            Log.StopTiming();
        }
Example #47
0
    //public Character[] GetArray() {
    //   return list;
    //}
 public void TestExampleArray() {
    Serializer serializer = new Persister();
    ExampleArray list = serializer.read(ExampleArray.class, LIST);
Example #48
0
 public RQLEmitter(string _context, string _table, Persister _persistCallback)
     : this(_context)
 {
     persistCallback = _persistCallback;
     table = _table;
 }