public ExecutorBuilder RouteTasks(Action<AggregateMatcherBuilder> buildAction) { var aggregateMatcherBuilder = new AggregateMatcherBuilder(); _routeMatcherBuilder = aggregateMatcherBuilder; buildAction(aggregateMatcherBuilder); return this; }
public ExecutorBuilder PersistTasks(Action<AggregateMatcherBuilder> buildAction) { var aggregateMatcherBuilder = new AggregateMatcherBuilder(); _persisterMatcherBuilder = aggregateMatcherBuilder; buildAction(aggregateMatcherBuilder); return this; }
public DarkFlowFacility RouteTasks(Action<AggregateMatcherBuilder> buildAction) { var aggregateMatcherBuilder = new AggregateMatcherBuilder(); _routerMatcherBuilder = aggregateMatcherBuilder; buildAction(aggregateMatcherBuilder); return this; }
//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; }
public DarkFlowFacility PersistTasks(Action<AggregateMatcherBuilder> buildAction) { var builder = new AggregateMatcherBuilder(); _persisterMatchersBuilder = builder; buildAction(builder); return this; }