public class org.apache.camel.processor.RoutingSlip extends org.apache.camel.support.ServiceSupport implements org.apache.camel.AsyncProcessor, org.apache.camel.Traceable, org.apache.camel.spi.IdAware
{
protected final org.slf4j.Logger log;
protected java.lang.String id;
protected org.apache.camel.impl.ProducerCache producerCache;
protected int cacheSize;
protected boolean ignoreInvalidEndpoints;
protected java.lang.String header;
protected org.apache.camel.Expression expression;
protected java.lang.String uriDelimiter;
protected final org.apache.camel.CamelContext camelContext;
protected org.apache.camel.AsyncProcessor errorHandler;
protected org.apache.camel.processor.SendDynamicProcessor sendDynamicProcessor;
public void <init>(org.apache.camel.CamelContext)
{
org.apache.camel.CamelContext v;
org.slf4j.Logger v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Class v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.CamelContext;
specialinvoke v.<org.apache.camel.support.ServiceSupport: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log> = v;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "camelContext");
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.CamelContext camelContext> = v;
return;
}
public void <init>(org.apache.camel.CamelContext, org.apache.camel.Expression, java.lang.String)
{
org.apache.camel.CamelContext v;
org.slf4j.Logger v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Class v;
java.lang.String v;
org.apache.camel.Expression v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: org.apache.camel.Expression;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.camel.support.ServiceSupport: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log> = v;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "camelContext");
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "expression");
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.CamelContext camelContext> = v;
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Expression expression> = v;
v.<org.apache.camel.processor.RoutingSlip: java.lang.String uriDelimiter> = v;
v.<org.apache.camel.processor.RoutingSlip: java.lang.String header> = null;
return;
}
public java.lang.String getId()
{
java.lang.String v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: java.lang.String id>;
return v;
}
public void setId(java.lang.String)
{
java.lang.String v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: java.lang.String;
v.<org.apache.camel.processor.RoutingSlip: java.lang.String id> = v;
return;
}
public org.apache.camel.Expression getExpression()
{
org.apache.camel.Expression v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Expression expression>;
return v;
}
public java.lang.String getUriDelimiter()
{
java.lang.String v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: java.lang.String uriDelimiter>;
return v;
}
public void setDelimiter(java.lang.String)
{
java.lang.String v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: java.lang.String;
v.<org.apache.camel.processor.RoutingSlip: java.lang.String uriDelimiter> = v;
return;
}
public boolean isIgnoreInvalidEndpoints()
{
org.apache.camel.processor.RoutingSlip v;
boolean v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: boolean ignoreInvalidEndpoints>;
return v;
}
public void setIgnoreInvalidEndpoints(boolean)
{
org.apache.camel.processor.RoutingSlip v;
boolean v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: boolean;
v.<org.apache.camel.processor.RoutingSlip: boolean ignoreInvalidEndpoints> = v;
return;
}
public int getCacheSize()
{
int v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: int cacheSize>;
return v;
}
public void setCacheSize(int)
{
int v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: int;
v.<org.apache.camel.processor.RoutingSlip: int cacheSize> = v;
return;
}
public org.apache.camel.AsyncProcessor getErrorHandler()
{
org.apache.camel.AsyncProcessor v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
return v;
}
public void setErrorHandler(org.apache.camel.AsyncProcessor)
{
org.apache.camel.AsyncProcessor v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.AsyncProcessor;
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler> = v;
return;
}
public java.lang.String toString()
{
org.apache.camel.processor.RoutingSlip v;
java.lang.String v, v;
org.apache.camel.Expression v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Expression expression>;
v = v.<org.apache.camel.processor.RoutingSlip: java.lang.String uriDelimiter>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.Expression,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("RoutingSlip[expression=\u uriDelimiter=\u]");
return v;
}
public java.lang.String getTraceLabel()
{
java.lang.String v;
org.apache.camel.Expression v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Expression expression>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.Expression)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("routingSlip[\u]");
return v;
}
public void process(org.apache.camel.Exchange) throws java.lang.Exception
{
org.apache.camel.Exchange v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
staticinvoke <org.apache.camel.util.AsyncProcessorHelper: void process(org.apache.camel.AsyncProcessor,org.apache.camel.Exchange)>(v, v);
return;
}
public boolean process(org.apache.camel.Exchange, org.apache.camel.AsyncCallback)
{
java.lang.IllegalStateException v;
org.apache.camel.AsyncCallback v;
org.apache.camel.Exchange v;
org.apache.camel.Expression v;
org.apache.camel.processor.RoutingSlip v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncCallback;
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: boolean isStarted()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.processor.RoutingSlip)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("RoutingSlip has not been started: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(1);
return 1;
label:
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Expression expression>;
v = specialinvoke v.<org.apache.camel.processor.RoutingSlip: boolean doRoutingSlipWithExpression(org.apache.camel.Exchange,org.apache.camel.Expression,org.apache.camel.AsyncCallback)>(v, v, v);
return v;
}
public boolean doRoutingSlip(org.apache.camel.Exchange, java.lang.Object, org.apache.camel.AsyncCallback)
{
org.apache.camel.AsyncCallback v;
org.apache.camel.Exchange v;
org.apache.camel.Expression v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.camel.AsyncCallback;
v = v instanceof org.apache.camel.Expression;
if v == 0 goto label;
v = specialinvoke v.<org.apache.camel.processor.RoutingSlip: boolean doRoutingSlipWithExpression(org.apache.camel.Exchange,org.apache.camel.Expression,org.apache.camel.AsyncCallback)>(v, v, v);
return v;
label:
v = staticinvoke <org.apache.camel.builder.ExpressionBuilder: org.apache.camel.Expression constantExpression(java.lang.Object)>(v);
v = specialinvoke v.<org.apache.camel.processor.RoutingSlip: boolean doRoutingSlipWithExpression(org.apache.camel.Exchange,org.apache.camel.Expression,org.apache.camel.AsyncCallback)>(v, v, v);
return v;
}
protected org.apache.camel.processor.RoutingSlip$RoutingSlipIterator createRoutingSlipIterator(org.apache.camel.Exchange, org.apache.camel.Expression) throws java.lang.Exception
{
java.util.Iterator v;
org.apache.camel.Exchange v;
org.apache.camel.Expression v;
java.lang.Exception v, v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Object v;
java.lang.String v;
org.apache.camel.processor.RoutingSlip$1 v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Expression;
v = interfaceinvoke v.<org.apache.camel.Expression: java.lang.Object evaluate(org.apache.camel.Exchange,java.lang.Class)>(v, class "Ljava/lang/Object;");
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
throw v;
label:
v = v.<org.apache.camel.processor.RoutingSlip: java.lang.String uriDelimiter>;
v = staticinvoke <org.apache.camel.util.ObjectHelper: java.util.Iterator createIterator(java.lang.Object,java.lang.String)>(v, v);
v = new org.apache.camel.processor.RoutingSlip$1;
specialinvoke v.<org.apache.camel.processor.RoutingSlip$1: void <init>(org.apache.camel.processor.RoutingSlip,java.util.Iterator)>(v, v);
return v;
}
private boolean doRoutingSlipWithExpression(org.apache.camel.Exchange, org.apache.camel.Expression, org.apache.camel.AsyncCallback)
{
org.apache.camel.Exchange v, v;
org.apache.camel.Endpoint v;
org.apache.camel.Expression v;
org.apache.camel.processor.RoutingSlip$RoutingSlipIterator v;
java.lang.String v, v, v, v;
boolean v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.apache.camel.AsyncCallback v;
java.lang.Exception v, v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Object v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Expression;
v := @parameter: org.apache.camel.AsyncCallback;
v = v;
label:
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.processor.RoutingSlip$RoutingSlipIterator createRoutingSlipIterator(org.apache.camel.Exchange,org.apache.camel.Expression)>(v, v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(1);
return 1;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasProperties()>();
if v == 0 goto label;
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelSlipEndpoint", null);
label:
v = interfaceinvoke v.<org.apache.camel.processor.RoutingSlip$RoutingSlipIterator: boolean hasNext(org.apache.camel.Exchange)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.processor.RoutingSlip$RoutingSlipIterator,org.apache.camel.Exchange)>(v, v);
if v == null goto label;
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: boolean processExchange(org.apache.camel.Endpoint,org.apache.camel.Exchange,org.apache.camel.Exchange,org.apache.camel.AsyncCallback,org.apache.camel.processor.RoutingSlip$RoutingSlipIterator)>(v, v, v, v, v);
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Exchange prepareExchangeForRoutingSlip(org.apache.camel.Exchange,org.apache.camel.Endpoint)>(v, v);
if v != 0 goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Processing exchangeId: {} is continued being processed asynchronously", v);
return 0;
label:
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Processing exchangeId: {} is continued being processed synchronously", v);
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: boolean isIgnoreInvalidEndpoints()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Object getException(java.lang.Class)>(class "Lorg/apache/camel/FailedToCreateProducerException;");
if v == null goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.camel.Endpoint)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Endpoint uri is invalid: \u. This exception will be ignored.");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(null);
label:
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = staticinvoke <org.apache.camel.processor.PipelineHelper: boolean continueProcessing(org.apache.camel.Exchange,java.lang.String,org.slf4j.Logger)>(v, "so breaking out of the routing slip", v);
if v != 0 goto label;
label:
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Processing complete for exchangeId: {} >>> {}", v, v);
staticinvoke <org.apache.camel.util.ExchangeHelper: void copyResults(org.apache.camel.Exchange,org.apache.camel.Exchange)>(v, v);
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(1);
return 1;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.processor.RoutingSlip$RoutingSlipIterator, org.apache.camel.Exchange) throws java.lang.Exception
{
org.slf4j.Logger v;
org.apache.camel.Exchange v;
org.apache.camel.Endpoint v;
java.lang.Exception v;
org.apache.camel.processor.RoutingSlip$RoutingSlipIterator v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.processor.RoutingSlip$RoutingSlipIterator;
v := @parameter: org.apache.camel.Exchange;
v = interfaceinvoke v.<org.apache.camel.processor.RoutingSlip$RoutingSlipIterator: java.lang.Object next(org.apache.camel.Exchange)>(v);
v = null;
label:
v = staticinvoke <org.apache.camel.util.ExchangeHelper: org.apache.camel.Endpoint resolveEndpoint(org.apache.camel.Exchange,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.camel.processor.RoutingSlip: boolean isIgnoreInvalidEndpoints()>();
if v == 0 goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Endpoint uri is invalid: \u. This exception will be ignored.");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
}
protected org.apache.camel.Exchange prepareExchangeForRoutingSlip(org.apache.camel.Exchange, org.apache.camel.Endpoint)
{
org.apache.camel.impl.DefaultExchange v;
org.apache.camel.Message v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.Exchange v;
java.lang.String v;
org.apache.camel.Endpoint v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Endpoint;
v = new org.apache.camel.impl.DefaultExchange;
specialinvoke v.<org.apache.camel.impl.DefaultExchange: void <init>(org.apache.camel.Exchange)>(v);
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<org.apache.camel.Exchange: void setExchangeId(java.lang.String)>(v);
specialinvoke v.<org.apache.camel.processor.RoutingSlip: void copyOutToIn(org.apache.camel.Exchange,org.apache.camel.Exchange)>(v, v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
staticinvoke <org.apache.camel.util.MessageHelper: void resetStreamCache(org.apache.camel.Message)>(v);
return v;
}
protected org.apache.camel.AsyncProcessor createErrorHandler(org.apache.camel.spi.RouteContext, org.apache.camel.Exchange, org.apache.camel.AsyncProcessor, org.apache.camel.Endpoint)
{
org.apache.camel.Exchange v;
org.apache.camel.Endpoint v;
org.apache.camel.processor.RoutingSlip v;
java.lang.Boolean v;
org.apache.camel.AsyncProcessor v, v, v;
java.lang.Class v;
java.lang.Object v;
org.apache.camel.spi.RouteContext v;
boolean v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.spi.RouteContext;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncProcessor;
v := @parameter: org.apache.camel.Endpoint;
v = v;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = <java.lang.Boolean: java.lang.Class TYPE>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Object getProperty(java.lang.String,java.lang.Object,java.lang.Class)>("TryRouteBlock", v, v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
if v == null goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
if v == null goto label;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
label:
return v;
}
protected boolean processExchange(org.apache.camel.Endpoint, org.apache.camel.Exchange, org.apache.camel.Exchange, org.apache.camel.AsyncCallback, org.apache.camel.processor.RoutingSlip$RoutingSlipIterator)
{
org.slf4j.Logger v;
org.apache.camel.AsyncCallback v;
org.apache.camel.Exchange v, v;
org.apache.camel.Endpoint v;
org.apache.camel.processor.RoutingSlip$RoutingSlipIterator v;
org.apache.camel.impl.ProducerCache v;
org.apache.camel.processor.RoutingSlip v;
java.lang.String v;
org.apache.camel.processor.RoutingSlip$3 v;
boolean v;
org.apache.camel.processor.RoutingSlip$2 v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Endpoint;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncCallback;
v := @parameter: org.apache.camel.processor.RoutingSlip$RoutingSlipIterator;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Processing exchangeId: {} >>> {}", v, v);
v = new org.apache.camel.processor.RoutingSlip$2;
specialinvoke v.<org.apache.camel.processor.RoutingSlip$2: void <init>(org.apache.camel.processor.RoutingSlip,org.apache.camel.AsyncCallback)>(v, v);
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
v = new org.apache.camel.processor.RoutingSlip$3;
specialinvoke v.<org.apache.camel.processor.RoutingSlip$3: void <init>(org.apache.camel.processor.RoutingSlip,org.apache.camel.Endpoint,org.apache.camel.processor.RoutingSlip$RoutingSlipIterator,org.apache.camel.Exchange,org.apache.camel.AsyncCallback)>(v, v, v, v, v);
v = virtualinvoke v.<org.apache.camel.impl.ProducerCache: boolean doInAsyncProducer(org.apache.camel.Endpoint,org.apache.camel.Exchange,org.apache.camel.ExchangePattern,org.apache.camel.AsyncCallback,org.apache.camel.AsyncProducerCallback)>(v, v, null, v, v);
return v;
}
protected void doStart() throws java.lang.Exception
{
java.lang.Object[] v;
java.lang.Integer v;
int v, v, v, v;
org.apache.camel.CamelContext v, v, v;
org.slf4j.Logger v, v, v;
org.apache.camel.impl.ProducerCache v, v, v, v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.impl.EmptyProducerCache v;
org.apache.camel.AsyncProcessor v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
if v != null goto label;
v = v.<org.apache.camel.processor.RoutingSlip: int cacheSize>;
if v >= 0 goto label;
v = new org.apache.camel.impl.EmptyProducerCache;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.CamelContext camelContext>;
specialinvoke v.<org.apache.camel.impl.EmptyProducerCache: void <init>(java.lang.Object,org.apache.camel.CamelContext)>(v, v);
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache> = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("RoutingSlip {} is not using ProducerCache", v);
goto label;
label:
v = v.<org.apache.camel.processor.RoutingSlip: int cacheSize>;
if v != 0 goto label;
v = new org.apache.camel.impl.ProducerCache;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.CamelContext camelContext>;
specialinvoke v.<org.apache.camel.impl.ProducerCache: void <init>(java.lang.Object,org.apache.camel.CamelContext)>(v, v);
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache> = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("RoutingSlip {} using ProducerCache with default cache size", v);
goto label;
label:
v = new org.apache.camel.impl.ProducerCache;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.CamelContext camelContext>;
v = v.<org.apache.camel.processor.RoutingSlip: int cacheSize>;
specialinvoke v.<org.apache.camel.impl.ProducerCache: void <init>(java.lang.Object,org.apache.camel.CamelContext,int)>(v, v, v);
v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache> = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.slf4j.Logger log>;
v = v.<org.apache.camel.processor.RoutingSlip: int cacheSize>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("RoutingSlip {} using ProducerCache with cacheSize={}", v, v);
label:
v = newarray (java.lang.Object)[2];
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
v[0] = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
v[1] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void startServices(java.lang.Object[])>(v);
return;
}
protected void doStop() throws java.lang.Exception
{
java.lang.Object[] v;
org.apache.camel.impl.ProducerCache v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.AsyncProcessor v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
v[0] = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
v[1] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopServices(java.lang.Object[])>(v);
return;
}
protected void doShutdown() throws java.lang.Exception
{
java.lang.Object[] v;
org.apache.camel.impl.ProducerCache v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.AsyncProcessor v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
v[0] = v;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.AsyncProcessor errorHandler>;
v[1] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopAndShutdownServices(java.lang.Object[])>(v);
return;
}
public org.apache.camel.spi.EndpointUtilizationStatistics getEndpointUtilizationStatistics()
{
org.apache.camel.impl.ProducerCache v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.spi.EndpointUtilizationStatistics v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.impl.ProducerCache producerCache>;
v = virtualinvoke v.<org.apache.camel.impl.ProducerCache: org.apache.camel.spi.EndpointUtilizationStatistics getEndpointUtilizationStatistics()>();
return v;
}
private org.apache.camel.Message getResultMessage(org.apache.camel.Exchange)
{
org.apache.camel.Message v, v;
org.apache.camel.processor.RoutingSlip v;
org.apache.camel.Exchange v;
boolean v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
return v;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
return v;
}
private void copyOutToIn(org.apache.camel.Exchange, org.apache.camel.Exchange)
{
org.apache.camel.Message v;
org.apache.camel.Exchange v, v;
java.lang.Exception v;
org.apache.camel.processor.RoutingSlip v;
java.util.Map v, v, v;
v := @this: org.apache.camel.processor.RoutingSlip;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Exchange;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
v = specialinvoke v.<org.apache.camel.processor.RoutingSlip: org.apache.camel.Message getResultMessage(org.apache.camel.Exchange)>(v);
interfaceinvoke v.<org.apache.camel.Exchange: void setIn(org.apache.camel.Message)>(v);
v = interfaceinvoke v.<org.apache.camel.Exchange: java.util.Map getProperties()>();
interfaceinvoke v.<java.util.Map: void clear()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.util.Map getProperties()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.util.Map getProperties()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
return;
}
public org.apache.camel.AsyncProcessor newRoutingSlipProcessorForErrorHandler()
{
org.apache.camel.processor.RoutingSlip$RoutingSlipProcessor v;
org.apache.camel.processor.RoutingSlip v;
v := @this: org.apache.camel.processor.RoutingSlip;
v = new org.apache.camel.processor.RoutingSlip$RoutingSlipProcessor;
specialinvoke v.<org.apache.camel.processor.RoutingSlip$RoutingSlipProcessor: void <init>(org.apache.camel.processor.RoutingSlip)>(v);
return v;
}
}