/// <summary> /// Get request object from provider /// </summary> /// <param name="provider">provider</param> /// <returns>request object</returns> private FeedRequestObject GetRequestObject(IFeedProvider provider) { provider.RequestFeedsDelegate = this.FeedRequestDelegateCallback; FeedRequestObject reqObject = new FeedRequestObject(provider); return(reqObject); }
/// <summary> /// Deregister feed provider for stop request feeds /// </summary> /// <param name="provider">provider for deregister</param> public void DeRegister(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } if (this.FeedProviders.ContainsKey(provider) == false) { return; } FeedRequestObject reqObject = null; bool result = this.FeedProviders.TryGetValue(provider, out reqObject); if (result == true) { reqObject.StopRequest(); } //해당 파서에 대한 피딩 중단 //프로바이더 제거 provider.RequestFeedsDelegate = null; this.FeedProviders.Remove(provider); }
public void RegisterFeedProvider <TData, TContext>(string channelName, IFeedProvider <TData, TContext> feedProvider) { if (string.IsNullOrEmpty(channelName)) { throw new ArgumentException("'channelName' should be not empty string", "channelName"); } if (feedProvider == null) { throw new ArgumentNullException("feedProvider"); } IDisposable obj; Channel <TData, TContext> channel; if (!m_Channels.TryGetValue(channelName, out obj)) { channel = new Channel <TData, TContext>(channelName, m_DefaultRetryPeriod, Logger); m_ChannelErrorsSubscribtion.Add(channel.Errors.Subscribe(ex => onUnhandledException(channelName, ex))); m_Channels[channelName] = channel; } else { channel = obj as Channel <TData, TContext>; } if (channel == null) { throw new DataBusException( string.Format( "Can not register feed provider resolving feeds of '{0}' within context of '{1}' for channel '{2}'", typeof(TData).Name, typeof(TContext).Name, obj)); } channel.AddFeedProvider(feedProvider); }
public void SetUp() { theSolution = new Solution(); theSolution.ClearFeeds(); theSolution.AddFeed(Feed.Fubu); theSolution.AddFeed(Feed.NuGetV2); theSolution.AddDependency(bottles = new Dependency("Bottles")); theSolution.AddDependency(fubucore = new Dependency("FubuCore", "1.0.1.201")); theSolution.AddDependency(rhinomocks = new Dependency("RhinoMocks", "3.6.1", UpdateMode.Fixed)); theSolution.AddDependency(structuremap = new Dependency("StructureMap", "2.6.3", UpdateMode.Fixed)); RippleEnvironment.StubConnection(true); theFubuFeed = MockRepository.GenerateStub <IFloatingFeed>(); theFubuFeed.Stub(x => x.GetLatest()).Return(new IRemoteNuget[] { new StubNuget("Bottles", "1.0.2.2"), new StubNuget("FubuCore", "1.0.2.232"), new StubNuget("StructureMap", "2.6.4.71"), }); theFubuFeed.Stub(x => x.IsOnline()).Return(true); theNugetFeed = MockRepository.GenerateStub <INugetFeed>(); theNugetFeed.Stub(x => x.Find(rhinomocks)).Return(new StubNuget("RhinoMocks", "3.6.1")); theNugetFeed.Stub(x => x.Find(structuremap)).Return(new StubNuget("StructureMap", "2.6.3")); theNugetFeed.Stub(x => x.IsOnline()).Return(true); theFeedProvider = MockRepository.GenerateStub <IFeedProvider>(); theFeedProvider.Stub(x => x.For(Feed.Fubu)).Return(theFubuFeed); theFeedProvider.Stub(x => x.For(Feed.NuGetV2)).Return(theNugetFeed); FeedRegistry.Stub(theFeedProvider); }
public void SetUp() { theSolution = new Solution(); theSolution.ClearFeeds(); theSolution.AddFeed(Feed.Fubu); theSolution.AddFeed(Feed.NuGetV2); theSolution.AddDependency(fubucore = new Dependency("FubuCore", "1.0.1.201")); var theProject = new Project("Test.csproj"); theSolution.AddProject(theProject); theProject.AddDependency(bottles = new Dependency("Bottles")); theProject.AddDependency(rhinomocks = new Dependency("RhinoMocks", "3.6.1", UpdateMode.Fixed)); theProject.AddDependency(structuremap = new Dependency("StructureMap", "2.6.3", UpdateMode.Fixed)); theFubuFeed = MockRepository.GenerateStub<IFloatingFeed>(); theFubuFeed.Stub(x => x.GetLatest()).Return(new IRemoteNuget[] { new StubNuget("Bottles", "1.0.2.2"), new StubNuget("FubuCore", "1.0.2.232"), new StubNuget("StructureMap", "2.6.4.71"), }); theNugetFeed = MockRepository.GenerateStub<INugetFeed>(); theNugetFeed.Stub(x => x.Find(rhinomocks)).Return(new StubNuget("RhinoMocks", "3.6.1")); theNugetFeed.Stub(x => x.Find(structuremap)).Return(new StubNuget("StructureMap", "2.6.3")); theFeedProvider = MockRepository.GenerateStub<IFeedProvider>(); theFeedProvider.Stub(x => x.For(Feed.Fubu)).Return(theFubuFeed); theFeedProvider.Stub(x => x.For(Feed.NuGetV2)).Return(theNugetFeed); FeedRegistry.Stub(theFeedProvider); }
/// <summary> /// Erstellt eine neue Beschreibung. /// </summary> /// <param name="provider">Die Verwaltung aller Sender.</param> public static IFeedSet CreateFeedSet( IFeedProvider provider ) { // Validate if (ReferenceEquals( provider, null )) throw new ArgumentException( "keine Senderverwaltung angegeben", "provider" ); else return new FeedSet( provider ); }
internal void AddFeedProvider(IFeedProvider <TData, TContext> feedProvider) { if (_feedProviders.Contains(feedProvider)) { throw new DataBusException(string.Format("FeedProvider {1} is already registered in channel '{0}' [{2}]", Name, feedProvider.GetType().Name, typeof(TContext).Name)); } _feedProviders.Add(feedProvider); }
public void RequestFeeds() { IFeedProvider provider = this as IFeedProvider; if (provider.RequestFeedsDelegate != null) { provider.RequestFeedsDelegate(this); } }
public FeedRequestObject(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } this.Provider = provider; }
public HomeController(IBlogProvider blogProvider, IPostProvider postProvider, IFeedProvider feedProvider, IAuthorProvider authorProvider, IThemeProvider themeProvider, IStorageProvider storageProvider) { _blogProvider = blogProvider; _postProvider = postProvider; _feedProvider = feedProvider; _authorProvider = authorProvider; _themeProvider = themeProvider; _storageProvider = storageProvider; }
/// <summary> /// Try send request to web again with refreshed request from provider /// </summary> /// <param name="provider"></param> private void FeedRequestDelegateCallback(IFeedProvider provider) { FeedRequestObject reqObject = null; bool isReqObjectExist = this.FeedProviders.TryGetValue(provider, out reqObject); if (isReqObjectExist == true && reqObject != null) { reqObject.BeginRequest(); } }
private void ProcessFeed(IFeedProvider feedProvider) { while (feedProvider.HasNext) { var randomeMilliSeconds = Randomizer.GetRandomNumber(1, 1) * 1000; //Thread.Sleep(randomeMilliSeconds); // raise new tick event NewTickEvent?.Invoke(this, new TickEventArgs(feedProvider.NextTick())); } }
/// <summary> /// Erstellt eine neue Beschreibung. /// </summary> /// <param name="provider">Die Verwaltung aller Sender.</param> public static IFeedSet CreateFeedSet(IFeedProvider provider) { // Validate if (ReferenceEquals(provider, null)) { throw new ArgumentException("keine Senderverwaltung angegeben", "provider"); } else { return(new FeedSet(provider)); } }
public HomeController(IBlogProvider blogProvider, IPostProvider postProvider, IFeedProvider feedProvider, IAuthorProvider authorProvider, IThemeProvider themeProvider, IStorageProvider storageProvider, ICompositeViewEngine compositeViewEngine) { _blogProvider = blogProvider; _postProvider = postProvider; _feedProvider = feedProvider; _authorProvider = authorProvider; _themeProvider = themeProvider; _storageProvider = storageProvider; _compositeViewEngine = compositeViewEngine; }
public void RemoveFeedProvider <TData, TContext>(string channelName, IFeedProvider <TData, TContext> feedProvider) { Channel <TData, TContext> channel; IDisposable obj; if (m_Channels.TryGetValue(channelName, out obj)) { channel = obj as Channel <TData, TContext>; if (channel != null) { channel.RemoveFeedProvider(feedProvider); } } }
static void PrintAllFeeds() { IFeedProvider <IItem> provider = ProvidersFactory.GetProvider(ProviderType.Rss); IFeed <IItem> collection = provider.GetFeedCollection(URL); foreach (IItem one in collection) { Console.WriteLine($"Id: {one.Id}\n" + $"Link: {one.Link}\n" + $"PublishDate: {one.PublishDate}\n" + $"Title: {one.Title}\n" + $"TypeDescription: {one.TypeDescription}\n" + $"Description: {one.Description}\n\n\n"); } }
/// <summary> /// Begin asynchronous parsing /// </summary> /// <param name="provider">provider</param> /// <returns>true to register success</returns> public bool Register(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } if (this.FeedProviders.ContainsKey(provider) == true) { return false; } FeedRequestObject requestObject = this.GetRequestObject(provider); this.FeedProviders.Add(provider, requestObject); return true; }
/// <summary> /// Begin asynchronous parsing /// </summary> /// <param name="provider">provider</param> /// <returns>true to register success</returns> public bool Register(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } if (this.FeedProviders.ContainsKey(provider) == true) { return(false); } FeedRequestObject requestObject = this.GetRequestObject(provider); this.FeedProviders.Add(provider, requestObject); return(true); }
public DataFeed(IFeedProvider feedProvider) { if (feedProvider == null) { throw new ArgumentNullException("Feed Provider is invalid"); } FeedQueue <Tick> feedQueue = new FeedQueue <Tick>(); queue = feedQueue; this.FeedProvider = feedProvider; FeedProvider.NewTickEvent += OnNewTick; lock (this) { Start(); started = true; } }
public Feed(IFeedProvider <TData, TContext> feedProvider, TContext context, Subject <Exception> errorsSubject, long retryPeriod, string channelName, ILogger logger) { _channelName = channelName; _logger = logger ?? NullLogger.Instance; // _retryPeriod = retryPeriod; if (feedProvider == null) { throw new ArgumentNullException("feedProvider"); } if (errorsSubject == null) { throw new ArgumentNullException("errorsSubject"); } _context = context; _feedProvider = feedProvider; _errorsSubject = errorsSubject; _resubscriptionPolicy = feedProvider.GetResubscriptionPolicy(_context) ?? new TimeoutFeedResubscriptionPolicy(retryPeriod); }
public void RemoveFeedProvider(IFeedProvider <TData, TContext> feedProvider) { if (_feedProviders.Contains(feedProvider)) { var feeds = from reference in _feeds let f = reference.Value.Target as Feed <TData, TContext> where f != null && f.FeedProvider == feedProvider select new { feed = f, context = reference.Key }; foreach (var feed in feeds.ToArray()) { if (feed.feed.FeedProvider == feedProvider) { _feeds.Remove(feed.context); feed.feed.Dispose(); } } _feedProviders.Remove(feedProvider); } }
/// <summary> /// Deregister feed provider for stop request feeds /// </summary> /// <param name="provider">provider for deregister</param> public void DeRegister(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } if (this.FeedProviders.ContainsKey(provider) == false) { return; } FeedRequestObject reqObject = null; bool result = this.FeedProviders.TryGetValue(provider, out reqObject); if (result == true) { reqObject.StopRequest(); } //해당 파서에 대한 피딩 중단 //프로바이더 제거 provider.RequestFeedsDelegate = null; this.FeedProviders.Remove(provider); }
public void Initialize() { logger = new SimpleLogger(); provider = (RSSAtomProvider)ProvidersFactory.GetProvider(ProviderType.Rss, logger: logger); }
public Hub(ISubscriptionVerifier subscriptionVerifier, IFeedProvider feedProvider) { _subscriptionVerifier = subscriptionVerifier; _feedProvider = feedProvider; }
public static void Stub(IFeedProvider provider) { _provider = provider; }
/// <summary> /// Erstellt eine neue Beschreibung. /// </summary> /// <param name="provider">Die Verwaltung aller Sender.</param> public FeedSet( IFeedProvider provider ) { m_devices = Enumerable.Range( 0, provider.NumberOfDevices ).Select( i => new Device( i, provider ) ).ToArray(); m_provider = provider; }
public GetLatestFeedHandler(IFeedProvider feedProvider, IProcessedTitlesRepository processedTitles) { _feedProvider = feedProvider; _processedTitles = processedTitles; }
public FeedRecievedEventHandler(IFeedProvider provider) { this.Provider = provider; }
public FeedRequestObject(IFeedProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } this.Provider = provider; }
/// <summary> /// Get request object from provider /// </summary> /// <param name="provider">provider</param> /// <returns>request object</returns> private FeedRequestObject GetRequestObject(IFeedProvider provider) { provider.RequestFeedsDelegate = this.FeedRequestDelegateCallback; FeedRequestObject reqObject = new FeedRequestObject(provider); return reqObject; }
/// <summary> /// Try send request to web again with refreshed request from provider /// </summary> /// <param name="provider"></param> private void FeedRequestDelegateCallback(IFeedProvider provider) { FeedRequestObject reqObject = null; bool isReqObjectExist = this.FeedProviders.TryGetValue(provider, out reqObject); if (isReqObjectExist == true && reqObject != null) { reqObject.BeginRequest(); } }
public Hub(ISubscriptionVerifier subscriptionVerifier, IFeedProvider feedProvider) { _subscriptionVerifier = subscriptionVerifier; _feedProvider = feedProvider; }
public static void Stub(IFeedProvider provider) { _provider = provider; }
public FeedConnector(IFeedProvider feedProvider) { _feedProvider = feedProvider; }
public FeedController( IFeedProvider feedProvider ) { this.feedProvider = feedProvider; }
/// <summary> /// Erstellt eine neue Beschreibung. /// </summary> /// <param name="provider">Die Verwaltung aller Sender.</param> public FeedSet(IFeedProvider provider) { m_devices = Enumerable.Range(0, provider.NumberOfDevices).Select(i => new Device(i, provider)).ToArray(); m_provider = provider; }
public FeedRecievedEventHandler(IFeedProvider provider) { this.Provider = provider; }
/// <summary> /// Erstellt ein neues Gerät. /// </summary> /// <param name="index">Die laufende Nummer des Gerätes.</param> /// <param name="provider">Die Verwaltung aller Quellen.</param> public Device(int index, IFeedProvider provider) { ProviderDevice = provider.GetDevice(index); m_provider = provider; }