Esempio n. 1
0
        public static void Enrich(XElement step, Exchange exchange, Route routeObj)
        {
            try
            {
                var uri         = step.Attribute("uri");
                var strategyref = step.Attribute("strategyref");

                if (uri == null || strategyref == null)
                {
                    return;
                }

                var uriInfo        = UriDescriptor.Parse(uri.Value, exchange);
                var clonedExchange = exchange.CloneExchange();
                EndpointBuilder.HandleTo(uriInfo, clonedExchange, routeObj);

                //fetch strategy
                var stragegyObj = SynapseContext.Registry[strategyref.Value] as AggregationStrategy;
                if (stragegyObj != null)
                {
                    stragegyObj.Aggregate(exchange, clonedExchange);
                }
            }
            catch (Exception exc)
            {
            }
        }
Esempio n. 2
0
        public static void Execute(string uri, Exchange exchange, Route route)
        {
            uri = SimpleExpression.ResolveSpecifiedUriPart(uri, exchange);
            var leafNodeParts = UriDescriptor.Parse(uri, exchange);

            EndpointBuilder.HandleFrom(leafNodeParts, route);
        }
Esempio n. 3
0
 private static void Tap(Exchange exchange, string path, Route route)
 {
     try
     {
         var leafNodeParts = UriDescriptor.Parse(path, exchange);
         EndpointBuilder.HandleTo(leafNodeParts, exchange, route);
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception.Message);
     }
 }
Esempio n. 4
0
        public static void Execute(string uri, Exchange exchange, Route route)
        {
            var leafNodeParts = UriDescriptor.Parse(uri, exchange);

            EndpointBuilder.HandleTo(leafNodeParts, exchange, route);
        }
Esempio n. 5
0
 public EndpointBase(string uri, Route route)
 {
     Route         = route;
     Uri           = uri;
     UriDescriptor = UriDescriptor.Parse(uri);
 }