コード例 #1
0
 public ExecutorBuilder RouteTasks(Action<AggregateMatcherBuilder> buildAction)
 {
     var aggregateMatcherBuilder = new AggregateMatcherBuilder();
     _routeMatcherBuilder = aggregateMatcherBuilder;
     buildAction(aggregateMatcherBuilder);
     return this;
 }
コード例 #2
0
 public ExecutorBuilder PersistTasks(Action<AggregateMatcherBuilder> buildAction)
 {
     var aggregateMatcherBuilder = new AggregateMatcherBuilder();
     _persisterMatcherBuilder = aggregateMatcherBuilder;
     buildAction(aggregateMatcherBuilder);
     return this;
 }
コード例 #3
0
 public DarkFlowFacility RouteTasks(Action<AggregateMatcherBuilder> buildAction)
 {
     var aggregateMatcherBuilder = new AggregateMatcherBuilder();
     _routerMatcherBuilder = aggregateMatcherBuilder;
     buildAction(aggregateMatcherBuilder);
     return this;
 }
コード例 #4
0
ファイル: Create.cs プロジェクト: Codestellation/DarkFlow
        //note - usage of default queue name is merely hach to bring things to work without refactoting matchers. (Persister does not need to know queue name)
        public static IMatcherBuilder BuildMatcher(IEnumerable<MatcherSettings> matcherSettings, string executorName = "no-matter")
        {
            var matchers = new List<IMatcherBuilder>();
            var result = new AggregateMatcherBuilder();

            foreach (var matcherSettingse in matcherSettings)
            {
                IMatcherBuilder builder;
                var routeTo = matcherSettingse.RouteTo ?? executorName;
                switch (matcherSettingse.Type)
                {
                    case "namespace" :
                        builder = new NamespaceMatcherBuilder{Mask = matcherSettingse.Mask}.To(routeTo);
                        matchers.Add(builder);
                        break;
                    case "attribute" :

                        builder = new AttributeMatcherBuilder()
                            .Match(matcherSettingse.Attributes)
                            .FromAssembly(matcherSettingse.Assembly)
                            .To(executorName);
                        matchers.Add(builder);
                        break;
                    default:
                        throw new ArgumentException();

                }
                result.AddBuilder(builder);
            }

            return result;
        }
コード例 #5
0
 public DarkFlowFacility PersistTasks(Action<AggregateMatcherBuilder> buildAction)
 {
     var builder = new AggregateMatcherBuilder();
     _persisterMatchersBuilder = builder;
     buildAction(builder);
     return this;
 }