final class org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback extends java.lang.Object implements org.apache.camel.AsyncCallback
{
private final org.apache.camel.Exchange exchange;
private final org.apache.camel.AsyncCallback callback;
private final org.apache.camel.AsyncProcessor jsonMarshal;
private final org.apache.camel.AsyncProcessor xmlMarshal;
private boolean wasXml;
final org.apache.camel.component.rest.RestProducerBindingProcessor this$0;
private void <init>(org.apache.camel.component.rest.RestProducerBindingProcessor, org.apache.camel.Exchange, org.apache.camel.AsyncCallback, org.apache.camel.AsyncProcessor, org.apache.camel.AsyncProcessor, boolean)
{
org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback v;
org.apache.camel.AsyncCallback v;
org.apache.camel.AsyncProcessor v, v;
org.apache.camel.Exchange v;
org.apache.camel.component.rest.RestProducerBindingProcessor v;
boolean v;
v := @this: org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback;
v := @parameter: org.apache.camel.component.rest.RestProducerBindingProcessor;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.AsyncCallback;
v := @parameter: org.apache.camel.AsyncProcessor;
v := @parameter: org.apache.camel.AsyncProcessor;
v := @parameter: boolean;
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange> = v;
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncCallback callback> = v;
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncProcessor jsonMarshal> = v;
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncProcessor xmlMarshal> = v;
v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: boolean wasXml> = v;
return;
}
public void done(boolean)
{
java.lang.Throwable v, v;
org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback v;
org.apache.camel.AsyncCallback v, v, v;
org.apache.camel.Exchange v;
boolean v;
v := @this: org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback;
v := @parameter: boolean;
label:
specialinvoke v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: void doDone()>();
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncCallback callback>;
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncCallback callback>;
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.AsyncCallback callback>;
interfaceinvoke v.<org.apache.camel.AsyncCallback: void done(boolean)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void doDone()
{
java.lang.Exception v;
java.lang.Throwable v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.Message v, v, v, v, v;
java.util.Locale v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.component.rest.RestProducerBindingProcessor v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.AsyncProcessor v, v, v, v, v, v;
org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback v;
org.apache.camel.Exchange v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v;
org.apache.camel.processor.binding.BindingException v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
if v == null goto label;
return;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: boolean skipBindingOnErrorCode>;
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
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,java.lang.Class)>("CamelHttpResponseCode", class "Ljava/lang/Integer;");
goto label;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("CamelHttpResponseCode", class "Ljava/lang/Integer;");
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v < 300 goto label;
return;
label:
v = 0;
v = 0;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v == null goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
if v == null goto label;
v = v;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("off");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
v = v;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("off");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: boolean wasXml>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: boolean wasXml>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
staticinvoke <org.apache.camel.util.ExchangeHelper: void prepareOutToIn(org.apache.camel.Exchange)>(v);
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
specialinvoke v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: void ensureHeaderContentType(boolean,boolean,org.apache.camel.Exchange)>(v, v, v);
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
if v == null goto label;
v = "off";
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor jsonUnmarshal>;
if v != null goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor xmlUnmarshal>;
if v != null goto label;
return;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
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;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
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;
label:
return;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
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,java.lang.Class)>("Content-Type", class "Ljava/lang/String;");
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
label:
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor jsonUnmarshal>;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor jsonUnmarshal>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
goto label;
label:
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor xmlUnmarshal>;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: org.apache.camel.AsyncProcessor xmlUnmarshal>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
goto label;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.component.rest.RestProducerBindingProcessor this$0>;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = new org.apache.camel.processor.binding.BindingException;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind from xml as message body is not xml compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
goto label;
label:
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
v = new org.apache.camel.processor.binding.BindingException;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind from json as message body is not json compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback: org.apache.camel.Exchange exchange>;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void ensureHeaderContentType(boolean, boolean, org.apache.camel.Exchange)
{
org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback v;
org.apache.camel.Message v, v;
org.apache.camel.Exchange v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.camel.Exchange;
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v != null goto label;
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)>("Content-Type", "application/json");
goto label;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v != null goto label;
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)>("Content-Type", "application/xml");
label:
return;
}
public java.lang.String toString()
{
org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback v;
v := @this: org.apache.camel.component.rest.RestProducerBindingProcessor$RestProducerBindingUnmarshalCallback;
return "RestProducerBindingUnmarshalCallback";
}
}