Beispiel #1
0
 public static bool HasUserSuccessfullyDoneTopic(UserProfile userProfile, TopicHandle topic)
 {
     // TODO: Figure out if IsSuccessful condition is required or not. This might potentially lead to infinite
     // loops since we will keep forcing the user to cover failed topics. Those are already taken care of by
     // failure counters.
     return userProfile.History.TopicHistory.Any(thi => thi.Topic.Equals(topic) && (thi.IsSuccessful || thi.IsSkipped));
 }
        public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription, RuleDescription rule, Filter filter)
        {
            var topicEntity = Topics.Get(topic);

            var subscriptionEntity = new SubscriptionEntity(GetNextId(), topicEntity, subscriptionDescription);

            return(Subscriptions.GetOrAdd(subscriptionEntity));
        }
Beispiel #3
0
        public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination)
        {
            var id = GetNextId();

            var sourceEntity = Topics.Get(source);

            var destinationEntity = Topics.Get(destination);

            var binding = new TopicSubscriptionEntity(id, sourceEntity, destinationEntity);

            return(TopicSubscriptions.GetOrAdd(binding));
        }
Beispiel #4
0
        public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle topic, QueueHandle queue)
        {
            var id = GetNextId();

            var topicEntity = Topics.Get(topic);

            var queueEntity = Queues.Get(queue);

            var binding = new QueueSubscriptionEntity(id, topicEntity, queueEntity);

            return(QueueSubscriptions.GetOrAdd(binding));
        }
        public ConsumerHandle BindConsumer(TopicHandle topic, QueueHandle queue, string selector)
        {
            var id = GetNextId();

            var exchangeEntity = Topics.Get(topic);

            var queueEntity = Queues.Get(queue);

            var binding = new ConsumerEntity(id, exchangeEntity, queueEntity, selector);

            return(Consumers.GetOrAdd(binding));
        }
        public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination, SubscriptionDescription subscriptionDescription)
        {
            var sourceEntity = Topics.Get(source);

            var destinationEntity = Topics.Get(destination);

            if (sourceEntity.TopicDescription.EnablePartitioning)
            {
                destinationEntity.TopicDescription.EnablePartitioning = true;
            }

            var subscriptionEntity = new TopicSubscriptionEntity(GetNextId(), GetNextId(), sourceEntity, destinationEntity, subscriptionDescription);

            return(TopicSubscriptions.GetOrAdd(subscriptionEntity));
        }
        public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription)
        {
            var topicEntity = Topics.Get(exchange);

            var queueEntity = Queues.Get(queue);

            if (topicEntity.TopicDescription.EnablePartitioning)
            {
                queueEntity.QueueDescription.EnablePartitioning = true;
            }

            var binding = new QueueSubscriptionEntity(GetNextId(), GetNextId(), topicEntity, queueEntity, subscriptionDescription);

            return(QueueSubscriptions.GetOrAdd(binding));
        }
 public TopicSubscriptionHandle CreateTopicSubscription(TopicHandle source, TopicHandle destination)
 {
     return(_builder.CreateTopicSubscription(source, destination));
 }
 public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle topic, QueueHandle queue)
 {
     return(_builder.CreateQueueSubscription(topic, queue));
 }
 public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription, RuleDescription rule,
                                                        Filter filter)
 {
     return(_builder.CreateQueueSubscription(exchange, queue, subscriptionDescription, rule, filter));
 }
 public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription, RuleDescription rule, Filter filter)
 {
     return(_builder.CreateSubscription(topic, subscriptionDescription, rule, filter));
 }
Beispiel #12
0
 public QueueSubscriptionHandle CreateQueueSubscription(TopicHandle exchange, QueueHandle queue, SubscriptionDescription subscriptionDescription)
 {
     return(_builder.CreateQueueSubscription(exchange, queue, subscriptionDescription));
 }
Beispiel #13
0
 public SubscriptionHandle CreateSubscription(TopicHandle topic, SubscriptionDescription subscriptionDescription)
 {
     return(_builder.CreateSubscription(topic, subscriptionDescription));
 }
Beispiel #14
0
 public static IMongoQuery GetSentencesByTopic(TopicHandle handle)
 {
     return Query.EQ("PrimaryTopic", new BsonDocument("_id", new BsonObjectId(handle.ObjectId.Value)));
 }
Beispiel #15
0
 public ConsumerHandle BindConsumer(TopicHandle topic, QueueHandle queue, string selector)
 {
     return(_builder.BindConsumer(topic, queue, selector));
 }