public class org.apache.camel.processor.interceptor.BacklogDebugger extends org.apache.camel.support.ServiceSupport implements org.apache.camel.spi.InterceptStrategy
{
private static final org.slf4j.Logger LOG;
private long fallbackTimeout;
private final org.apache.camel.CamelContext camelContext;
private org.apache.camel.LoggingLevel loggingLevel;
private final org.apache.camel.util.CamelLogger logger;
private final java.util.concurrent.atomic.AtomicBoolean enabled;
private final java.util.concurrent.atomic.AtomicLong debugCounter;
private final org.apache.camel.spi.Debugger debugger;
private final java.util.concurrent.ConcurrentMap breakpoints;
private final java.util.concurrent.ConcurrentMap suspendedBreakpoints;
private final java.util.concurrent.ConcurrentMap suspendedBreakpointMessages;
private volatile java.lang.String singleStepExchangeId;
private int bodyMaxChars;
private boolean bodyIncludeStreams;
private boolean bodyIncludeFiles;
public void <init>(org.apache.camel.CamelContext)
{
org.apache.camel.LoggingLevel v, v;
org.apache.camel.CamelContext v;
org.slf4j.Logger v;
java.util.concurrent.ConcurrentHashMap v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.camel.impl.DefaultDebugger v;
org.apache.camel.util.CamelLogger v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: org.apache.camel.CamelContext;
specialinvoke v.<org.apache.camel.support.ServiceSupport: void <init>()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: long fallbackTimeout> = 300L;
v = <org.apache.camel.LoggingLevel: org.apache.camel.LoggingLevel INFO>;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.LoggingLevel loggingLevel> = v;
v = new org.apache.camel.util.CamelLogger;
v = <org.apache.camel.processor.interceptor.BacklogDebugger: org.slf4j.Logger LOG>;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.LoggingLevel loggingLevel>;
specialinvoke v.<org.apache.camel.util.CamelLogger: void <init>(org.slf4j.Logger,org.apache.camel.LoggingLevel)>(v, v);
v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicBoolean enabled> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicLong debugCounter> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages> = v;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: int bodyMaxChars> = 131072;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean bodyIncludeFiles> = 1;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.CamelContext camelContext> = v;
v = new org.apache.camel.impl.DefaultDebugger;
specialinvoke v.<org.apache.camel.impl.DefaultDebugger: void <init>(org.apache.camel.CamelContext)>(v);
virtualinvoke v.<org.apache.camel.impl.DefaultDebugger: void setUseTracer(boolean)>(0);
v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger> = v;
return;
}
public org.apache.camel.Processor wrapProcessorInInterceptors(org.apache.camel.CamelContext, org.apache.camel.model.ProcessorDefinition, org.apache.camel.Processor, org.apache.camel.Processor) throws java.lang.Exception
{
java.lang.UnsupportedOperationException v;
org.apache.camel.CamelContext v;
org.apache.camel.Processor v, v;
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.Processor;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Deprecated");
throw v;
}
public static org.apache.camel.processor.interceptor.BacklogDebugger getBacklogDebugger(org.apache.camel.CamelContext)
{
org.apache.camel.CamelContext v;
java.util.List v;
java.util.Iterator v;
org.apache.camel.spi.InterceptStrategy v;
java.lang.Object v;
boolean v, v;
v := @parameter: org.apache.camel.CamelContext;
v = interfaceinvoke v.<org.apache.camel.CamelContext: java.util.List getInterceptStrategies()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof org.apache.camel.processor.interceptor.BacklogDebugger;
if v == 0 goto label;
return v;
label:
return null;
}
public org.apache.camel.spi.Debugger getDebugger()
{
org.apache.camel.spi.Debugger v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
return v;
}
public java.lang.String getLoggingLevel()
{
org.apache.camel.LoggingLevel v;
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.LoggingLevel loggingLevel>;
v = virtualinvoke v.<org.apache.camel.LoggingLevel: java.lang.String name()>();
return v;
}
public void setLoggingLevel(java.lang.String)
{
org.apache.camel.LoggingLevel v, v;
org.apache.camel.util.CamelLogger v;
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.camel.LoggingLevel: org.apache.camel.LoggingLevel valueOf(java.lang.String)>(v);
v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.LoggingLevel loggingLevel> = v;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.LoggingLevel loggingLevel>;
virtualinvoke v.<org.apache.camel.util.CamelLogger: void setLevel(org.apache.camel.LoggingLevel)>(v);
return;
}
public void enableDebugger()
{
org.apache.camel.RuntimeCamelException v;
org.apache.camel.spi.Debugger v;
org.apache.camel.util.CamelLogger v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Exception v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>("Enabling debugger");
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicBoolean enabled>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.camel.util.ObjectHelper: org.apache.camel.RuntimeCamelException wrapRuntimeCamelException(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void disableDebugger()
{
org.apache.camel.spi.Debugger v;
org.apache.camel.util.CamelLogger v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Exception v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>("Disabling debugger");
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicBoolean enabled>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopService(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void clearBreakpoints()>();
return;
catch java.lang.Exception from label to label with label;
}
public boolean isEnabled()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicBoolean enabled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean hasBreakpoint(java.lang.String)
{
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
public boolean isSingleStepMode()
{
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void addBreakpoint(java.lang.String)
{
org.apache.camel.spi.Debugger v;
org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v;
org.apache.camel.spi.Condition[] v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Adding breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = new org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint;
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void <init>(org.apache.camel.processor.interceptor.BacklogDebugger,java.lang.String,org.apache.camel.Predicate)>(v, v, null);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = newarray (org.apache.camel.spi.Condition)[1];
v[0] = v;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void addBreakpoint(org.apache.camel.spi.Breakpoint,org.apache.camel.spi.Condition[])>(v, v);
goto label;
label:
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void setCondition(org.apache.camel.Predicate)>(null);
label:
return;
}
public void addConditionalBreakpoint(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.camel.spi.Debugger v, v, v;
org.apache.camel.spi.Language v;
org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint v;
java.util.concurrent.ConcurrentMap v, v, v;
org.apache.camel.Predicate v, v, v;
org.apache.camel.util.CamelLogger v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.camel.spi.Condition[] v, v;
org.apache.camel.CamelContext v;
java.lang.Object v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.CamelContext camelContext>;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.Language resolveLanguage(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.camel.spi.Language: org.apache.camel.Predicate createPredicate(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("Adding conditional breakpoint \u [\u]");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = new org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint;
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void <init>(org.apache.camel.processor.interceptor.BacklogDebugger,java.lang.String,org.apache.camel.Predicate)>(v, v, v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = newarray (org.apache.camel.spi.Condition)[1];
v[0] = v;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void addBreakpoint(org.apache.camel.spi.Breakpoint,org.apache.camel.spi.Condition[])>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: org.apache.camel.Predicate getCondition()>();
if v != null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("Updating to conditional breakpoint \u [\u]");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void removeBreakpoint(org.apache.camel.spi.Breakpoint)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = newarray (org.apache.camel.spi.Condition)[1];
v[0] = v;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void addBreakpoint(org.apache.camel.spi.Breakpoint,org.apache.camel.spi.Condition[])>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: org.apache.camel.Predicate getCondition()>();
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("Updating conditional breakpoint \u [\u]");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void setCondition(org.apache.camel.Predicate)>(v);
label:
return;
}
public void removeBreakpoint(java.lang.String)
{
org.apache.camel.spi.Debugger v;
java.util.concurrent.ConcurrentMap v, v, v;
java.util.concurrent.CountDownLatch v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v, v;
java.lang.String v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Removing breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void removeBreakpoint(org.apache.camel.spi.Breakpoint)>(v);
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: java.util.concurrent.CountDownLatch getLatch()>();
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
return;
}
public void removeAllBreakpoints()
{
java.util.Iterator v;
java.util.Set v;
java.lang.Object v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId> = null;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.Set getSuspendedBreakpointNodeIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void removeBreakpoint(java.lang.String)>(v);
goto label;
label:
return;
}
public java.util.Set getBreakpoints()
{
java.util.Set v;
java.util.LinkedHashSet v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = new java.util.LinkedHashSet;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
return v;
}
public void resumeBreakpoint(java.lang.String)
{
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void resumeBreakpoint(java.lang.String,boolean)>(v, 0);
return;
}
private void resumeBreakpoint(java.lang.String, boolean)
{
org.apache.camel.spi.Debugger v;
java.util.concurrent.ConcurrentMap v, v;
java.util.concurrent.CountDownLatch v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Resume breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
if v != 0 goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId>;
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId>;
interfaceinvoke v.<org.apache.camel.spi.Debugger: void stopSingleStepExchange(java.lang.String)>(v);
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId> = null;
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: java.util.concurrent.CountDownLatch getLatch()>();
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
return;
}
public void setMessageBodyOnBreakpoint(java.lang.String, java.lang.Object)
{
org.apache.camel.Message v, v, v, v;
org.apache.camel.Exchange v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
java.lang.String v;
boolean v, v;
java.lang.Class v, v, v;
java.lang.Object v, v, v, v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void removeMessageBodyOnBreakpoint(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
goto label;
label:
v = null;
label:
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
goto label;
label:
v = null;
label:
v = v;
label:
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void setMessageBodyOnBreakpoint(java.lang.String,java.lang.Object,java.lang.Class)>(v, v, v);
label:
return;
}
public void setMessageBodyOnBreakpoint(java.lang.String, java.lang.Object, java.lang.Class)
{
org.apache.camel.Message v, v, v, v;
org.apache.camel.Exchange v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
org.apache.camel.util.CamelLogger v;
java.lang.String v, v, v;
boolean v, v;
java.lang.Class v;
java.lang.Object v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void removeMessageBodyOnBreakpoint(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.Object)>(v, 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[])>("Breakpoint at node \u is updating message body on exchangeId: \u with new body: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object,java.lang.Class)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object,java.lang.Class)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(v);
label:
return;
}
public void removeMessageBodyOnBreakpoint(java.lang.String)
{
org.apache.camel.Message v, v;
org.apache.camel.Exchange v, v, v, v;
java.util.concurrent.ConcurrentMap v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("Breakpoint at node \u is removing message body on exchangeId: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(null);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(null);
label:
return;
}
public void setMessageHeaderOnBreakpoint(java.lang.String, java.lang.String, java.lang.Object) throws org.apache.camel.NoTypeConversionAvailableException
{
org.apache.camel.Message v, v, v, v;
org.apache.camel.Exchange v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
java.lang.String v, v;
boolean v;
java.lang.Class v, v, v;
java.lang.Object v, v, v, v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
goto label;
label:
v = null;
label:
v = v;
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
goto label;
label:
v = null;
label:
v = v;
label:
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void setMessageHeaderOnBreakpoint(java.lang.String,java.lang.String,java.lang.Object,java.lang.Class)>(v, v, v, v);
label:
return;
}
public void setMessageHeaderOnBreakpoint(java.lang.String, java.lang.String, java.lang.Object, java.lang.Class) throws org.apache.camel.NoTypeConversionAvailableException
{
org.apache.camel.Message v, v, v, v;
org.apache.camel.Exchange v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
org.apache.camel.util.CamelLogger v;
java.lang.String v, v, v, v;
boolean v;
org.apache.camel.CamelContext v, v;
org.apache.camel.TypeConverter v, v;
java.lang.Class v;
java.lang.Object v, v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.Object)>(v, v, 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[])>("Breakpoint at node \u is updating message header on exchangeId: \u with header: \u and value: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.TypeConverter getTypeConverter()>();
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.TypeConverter: java.lang.Object mandatoryConvertTo(java.lang.Class,org.apache.camel.Exchange,java.lang.Object)>(v, v, v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.TypeConverter getTypeConverter()>();
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.TypeConverter: java.lang.Object mandatoryConvertTo(java.lang.Class,org.apache.camel.Exchange,java.lang.Object)>(v, v, v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>(v, v);
label:
return;
}
public long getFallbackTimeout()
{
long v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: long fallbackTimeout>;
return v;
}
public void setFallbackTimeout(long)
{
long v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: long;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: long fallbackTimeout> = v;
return;
}
public void removeMessageHeaderOnBreakpoint(java.lang.String, java.lang.String)
{
org.apache.camel.Message v, v;
org.apache.camel.Exchange v, v, v, v;
java.util.concurrent.ConcurrentMap v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.String getExchangeId()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Breakpoint at node \u is removing message header on exchangeId: \u with header: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: java.lang.Object removeHeader(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: java.lang.Object removeHeader(java.lang.String)>(v);
label:
return;
}
public void resumeAll()
{
java.util.Iterator v;
java.util.Set v;
java.util.concurrent.ConcurrentMap v, v;
java.util.concurrent.CountDownLatch v;
org.apache.camel.util.CamelLogger v;
java.lang.Object v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>("Resume all");
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId> = null;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.Set getSuspendedBreakpointNodeIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: java.util.concurrent.CountDownLatch getLatch()>();
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
goto label;
label:
return;
}
public void stepBreakpoint(java.lang.String)
{
org.apache.camel.spi.Debugger v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.camel.util.CamelLogger v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
java.lang.Object v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
org.apache.camel.processor.interceptor.BacklogDebugger$StepBreakpoint v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean isSingleStepMode()>();
if v == 0 goto label;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("stepBreakpoint \u is already in single step mode, so stepping instead.");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void step()>();
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Step breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.api.management.mbean.BacklogTracerEventMessage: java.lang.String getExchangeId()>();
v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId> = v;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.lang.String singleStepExchangeId>;
v = new org.apache.camel.processor.interceptor.BacklogDebugger$StepBreakpoint;
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$StepBreakpoint: void <init>(org.apache.camel.processor.interceptor.BacklogDebugger)>(v);
v = interfaceinvoke v.<org.apache.camel.spi.Debugger: boolean startSingleStepExchange(java.lang.String,org.apache.camel.spi.Breakpoint)>(v, v);
if v == 0 goto label;
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void resumeBreakpoint(java.lang.String,boolean)>(v, 1);
label:
return;
}
public void step()
{
java.util.Iterator v;
java.util.Set v;
java.util.concurrent.ConcurrentMap v, v;
java.util.concurrent.CountDownLatch v;
java.lang.Object v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.Set getSuspendedBreakpointNodeIds()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: java.util.concurrent.CountDownLatch getLatch()>();
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
goto label;
label:
return;
}
public java.util.Set getSuspendedBreakpointNodeIds()
{
java.util.Set v;
java.util.LinkedHashSet v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = new java.util.LinkedHashSet;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
return v;
}
public org.apache.camel.Exchange getSuspendedExchange(java.lang.String)
{
java.lang.Object v;
org.apache.camel.Exchange v;
java.lang.String v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: org.apache.camel.Exchange getExchange()>();
goto label;
label:
v = null;
label:
return v;
}
public void disableBreakpoint(java.lang.String)
{
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Disable breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void suspend()>();
label:
return;
}
public void enableBreakpoint(java.lang.String)
{
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Enable breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$NodeBreakpoint: void activate()>();
label:
return;
}
public int getBodyMaxChars()
{
int v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: int bodyMaxChars>;
return v;
}
public void setBodyMaxChars(int)
{
int v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: int;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: int bodyMaxChars> = v;
return;
}
public boolean isBodyIncludeStreams()
{
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean bodyIncludeStreams>;
return v;
}
public void setBodyIncludeStreams(boolean)
{
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: boolean;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean bodyIncludeStreams> = v;
return;
}
public boolean isBodyIncludeFiles()
{
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean bodyIncludeFiles>;
return v;
}
public void setBodyIncludeFiles(boolean)
{
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: boolean;
v.<org.apache.camel.processor.interceptor.BacklogDebugger: boolean bodyIncludeFiles> = v;
return;
}
public java.lang.String dumpTracedMessagesAsXml(java.lang.String)
{
org.apache.camel.util.CamelLogger v;
java.lang.Object v;
java.lang.String v, v, v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: java.lang.String;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Dump trace message from breakpoint \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.api.management.mbean.BacklogTracerEventMessage: java.lang.String toXml(int)>(0);
return v;
label:
return null;
}
public long getDebugCounter()
{
java.util.concurrent.atomic.AtomicLong v;
long v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicLong debugCounter>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
return v;
}
public void resetDebugCounter()
{
java.util.concurrent.atomic.AtomicLong v;
org.apache.camel.util.CamelLogger v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.util.CamelLogger logger>;
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>("Reset debug counter");
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicLong debugCounter>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(0L);
return;
}
public boolean beforeProcess(org.apache.camel.Exchange, org.apache.camel.Processor, org.apache.camel.model.ProcessorDefinition)
{
org.apache.camel.Processor v;
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.spi.Debugger v;
org.apache.camel.Exchange v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: org.apache.camel.spi.Debugger debugger>;
v = interfaceinvoke v.<org.apache.camel.spi.Debugger: boolean beforeProcess(org.apache.camel.Exchange,org.apache.camel.Processor,org.apache.camel.model.ProcessorDefinition)>(v, v, v);
return v;
}
public boolean afterProcess(org.apache.camel.Exchange, org.apache.camel.Processor, org.apache.camel.model.ProcessorDefinition, long)
{
org.apache.camel.Processor v;
org.apache.camel.model.ProcessorDefinition v;
long v;
org.apache.camel.Exchange v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.Processor;
v := @parameter: org.apache.camel.model.ProcessorDefinition;
v := @parameter: long;
return 0;
}
protected void doStart() throws java.lang.Exception
{
org.apache.camel.processor.interceptor.BacklogDebugger v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
return;
}
protected void doStop() throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.atomic.AtomicBoolean enabled>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void disableDebugger()>();
label:
specialinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger: void clearBreakpoints()>();
return;
}
private void clearBreakpoints()
{
java.util.Iterator v;
java.util.Collection v;
java.util.concurrent.ConcurrentMap v, v, v, v;
java.util.concurrent.CountDownLatch v;
java.lang.Object v;
org.apache.camel.processor.interceptor.BacklogDebugger v;
boolean v;
v := @this: org.apache.camel.processor.interceptor.BacklogDebugger;
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap breakpoints>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.camel.processor.interceptor.BacklogDebugger$SuspendedExchange: java.util.concurrent.CountDownLatch getLatch()>();
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
goto label;
label:
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpoints>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
v = v.<org.apache.camel.processor.interceptor.BacklogDebugger: java.util.concurrent.ConcurrentMap suspendedBreakpointMessages>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/processor/interceptor/BacklogDebugger;");
<org.apache.camel.processor.interceptor.BacklogDebugger: org.slf4j.Logger LOG> = v;
return;
}
}