public class org.springframework.jms.support.converter.MappingJackson2MessageConverter extends java.lang.Object implements org.springframework.jms.support.converter.SmartMessageConverter, org.springframework.beans.factory.BeanClassLoaderAware
{
public static final java.lang.String DEFAULT_ENCODING;
private com.fasterxml.jackson.databind.ObjectMapper objectMapper;
private org.springframework.jms.support.converter.MessageType targetType;
private java.lang.String encoding;
private java.lang.String encodingPropertyName;
private java.lang.String typeIdPropertyName;
private java.util.Map idClassMappings;
private java.util.Map classIdMappings;
private java.lang.ClassLoader beanClassLoader;
public void <init>()
{
org.springframework.jms.support.converter.MessageType v;
com.fasterxml.jackson.databind.ObjectMapper v, v, v;
java.util.HashMap v, v;
com.fasterxml.jackson.databind.DeserializationFeature v;
com.fasterxml.jackson.databind.MapperFeature v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.springframework.jms.support.converter.MessageType: org.springframework.jms.support.converter.MessageType BYTES>;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType> = v;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encoding> = "UTF-8";
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map idClassMappings> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map classIdMappings> = v;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = <com.fasterxml.jackson.databind.MapperFeature: com.fasterxml.jackson.databind.MapperFeature DEFAULT_VIEW_INCLUSION>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.MapperFeature,boolean)>(v, 0);
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature FAIL_ON_UNKNOWN_PROPERTIES>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.DeserializationFeature,boolean)>(v, 0);
return;
}
public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)
{
com.fasterxml.jackson.databind.ObjectMapper v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: com.fasterxml.jackson.databind.ObjectMapper;
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "ObjectMapper must not be null");
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper> = v;
return;
}
public void setTargetType(org.springframework.jms.support.converter.MessageType)
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageType v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: org.springframework.jms.support.converter.MessageType;
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "MessageType must not be null");
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType> = v;
return;
}
public void setEncoding(java.lang.String)
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.String;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encoding> = v;
return;
}
public void setEncodingPropertyName(java.lang.String)
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.String;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName> = v;
return;
}
public void setTypeIdPropertyName(java.lang.String)
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.String;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String typeIdPropertyName> = v;
return;
}
public void setTypeIdMappings(java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
java.util.HashMap v;
java.util.Map v, v, v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v, v, v;
boolean v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.util.Map;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map idClassMappings> = v;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map idClassMappings>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map classIdMappings>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
public void setBeanClassLoader(java.lang.ClassLoader)
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.ClassLoader v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.ClassLoader;
v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.ClassLoader beanClassLoader> = v;
return;
}
public javax.jms.Message toMessage(java.lang.Object, javax.jms.Session) throws javax.jms.JMSException, org.springframework.jms.support.converter.MessageConversionException
{
org.springframework.jms.support.converter.MessageType v, v;
com.fasterxml.jackson.databind.ObjectMapper v, v, v;
java.io.IOException v;
javax.jms.Session v;
int[] v;
int v, v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageConversionException v;
java.lang.Object v;
java.lang.String v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
label:
v = <org.springframework.jms.support.converter.MappingJackson2MessageConverter$1: int[] $SwitchMap$org$springframework$jms$support$converter$MessageType>;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MessageType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.TextMessage mapToTextMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectMapper)>(v, v, v);
goto label;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.BytesMessage mapToBytesMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectMapper)>(v, v, v);
goto label;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message mapToMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectMapper,org.springframework.jms.support.converter.MessageType)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.springframework.jms.support.converter.MessageConversionException;
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[])>("Could not map JSON object [\u]");
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: void setTypeIdOnMessage(java.lang.Object,javax.jms.Message)>(v, v);
return v;
catch java.io.IOException from label to label with label;
}
public javax.jms.Message toMessage(java.lang.Object, javax.jms.Session, java.lang.Object) throws javax.jms.JMSException, org.springframework.jms.support.converter.MessageConversionException
{
javax.jms.Session v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v;
java.lang.Object v, v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Class getSerializationView(java.lang.Object)>(v);
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message toMessage(java.lang.Object,javax.jms.Session,java.lang.Class)>(v, v, v);
return v;
}
public javax.jms.Message toMessage(java.lang.Object, javax.jms.Session, java.lang.Class) throws javax.jms.JMSException, org.springframework.jms.support.converter.MessageConversionException
{
com.fasterxml.jackson.databind.ObjectWriter v, v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
javax.jms.Session v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v;
java.lang.Object v;
javax.jms.Message v, v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: java.lang.Class;
if v == null goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writerWithView(java.lang.Class)>(v);
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message toMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
return v;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message toMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
return v;
}
public java.lang.Object fromMessage(javax.jms.Message) throws javax.jms.JMSException, org.springframework.jms.support.converter.MessageConversionException
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageConversionException v;
java.io.IOException v;
java.lang.Object v;
com.fasterxml.jackson.databind.JavaType v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.Message;
label:
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.JavaType getJavaTypeForMessage(javax.jms.Message)>(v);
v = specialinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Object convertToObject(javax.jms.Message,com.fasterxml.jackson.databind.JavaType)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.jms.support.converter.MessageConversionException;
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to convert JSON message content", v);
throw v;
catch java.io.IOException from label to label with label;
}
protected javax.jms.Message toMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectWriter) throws javax.jms.JMSException, org.springframework.jms.support.converter.MessageConversionException
{
org.springframework.jms.support.converter.MessageType v, v;
com.fasterxml.jackson.databind.ObjectWriter v;
java.io.IOException v;
javax.jms.Session v;
int[] v;
int v, v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageConversionException v;
java.lang.Object v;
java.lang.String v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectWriter;
label:
v = <org.springframework.jms.support.converter.MappingJackson2MessageConverter$1: int[] $SwitchMap$org$springframework$jms$support$converter$MessageType>;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MessageType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.TextMessage mapToTextMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.BytesMessage mapToBytesMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
goto label;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: org.springframework.jms.support.converter.MessageType targetType>;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message mapToMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter,org.springframework.jms.support.converter.MessageType)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.springframework.jms.support.converter.MessageConversionException;
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[])>("Could not map JSON object [\u]");
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: void setTypeIdOnMessage(java.lang.Object,javax.jms.Message)>(v, v);
return v;
catch java.io.IOException from label to label with label;
}
protected javax.jms.TextMessage mapToTextMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectMapper) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.Session v;
com.fasterxml.jackson.databind.ObjectWriter v;
javax.jms.TextMessage v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectMapper;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.TextMessage mapToTextMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
return v;
}
protected javax.jms.TextMessage mapToTextMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectWriter) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.Session v;
com.fasterxml.jackson.databind.ObjectWriter v;
javax.jms.TextMessage v;
java.io.StringWriter v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectWriter;
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>(int)>(1024);
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: void writeValue(java.io.Writer,java.lang.Object)>(v, v);
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
v = interfaceinvoke v.<javax.jms.Session: javax.jms.TextMessage createTextMessage(java.lang.String)>(v);
return v;
}
protected javax.jms.BytesMessage mapToBytesMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectMapper) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.Session v;
com.fasterxml.jackson.databind.ObjectWriter v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
javax.jms.BytesMessage v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectMapper;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.BytesMessage mapToBytesMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter)>(v, v, v);
return v;
}
protected javax.jms.BytesMessage mapToBytesMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectWriter) throws javax.jms.JMSException, java.io.IOException
{
byte[] v;
java.io.ByteArrayOutputStream v;
com.fasterxml.jackson.databind.ObjectWriter v;
javax.jms.BytesMessage v;
javax.jms.Session v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.io.OutputStreamWriter v;
java.lang.Object v;
java.lang.String v, v, v, v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectWriter;
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>(int)>(1024);
v = new java.io.OutputStreamWriter;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encoding>;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream,java.lang.String)>(v, v);
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: void writeValue(java.io.Writer,java.lang.Object)>(v, v);
v = interfaceinvoke v.<javax.jms.Session: javax.jms.BytesMessage createBytesMessage()>();
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
interfaceinvoke v.<javax.jms.BytesMessage: void writeBytes(byte[])>(v);
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName>;
if v == null goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName>;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encoding>;
interfaceinvoke v.<javax.jms.BytesMessage: void setStringProperty(java.lang.String,java.lang.String)>(v, v);
label:
return v;
}
protected javax.jms.Message mapToMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectMapper, org.springframework.jms.support.converter.MessageType) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.Session v;
org.springframework.jms.support.converter.MessageType v;
com.fasterxml.jackson.databind.ObjectWriter v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectMapper;
v := @parameter: org.springframework.jms.support.converter.MessageType;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: javax.jms.Message mapToMessage(java.lang.Object,javax.jms.Session,com.fasterxml.jackson.databind.ObjectWriter,org.springframework.jms.support.converter.MessageType)>(v, v, v, v);
return v;
}
protected javax.jms.Message mapToMessage(java.lang.Object, javax.jms.Session, com.fasterxml.jackson.databind.ObjectWriter, org.springframework.jms.support.converter.MessageType) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.Session v;
org.springframework.jms.support.converter.MessageType v;
com.fasterxml.jackson.databind.ObjectWriter v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Session;
v := @parameter: com.fasterxml.jackson.databind.ObjectWriter;
v := @parameter: org.springframework.jms.support.converter.MessageType;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.jms.support.converter.MessageType)>(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[])>("Unsupported message type [\u]. MappingJackson2MessageConverter by default only supports TextMessages and BytesMessages.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
protected void setTypeIdOnMessage(java.lang.Object, javax.jms.Message) throws javax.jms.JMSException
{
java.util.Map v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v, v;
java.lang.Object v, v;
java.lang.String v, v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v := @parameter: javax.jms.Message;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String typeIdPropertyName>;
if v == null goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map classIdMappings>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String typeIdPropertyName>;
interfaceinvoke v.<javax.jms.Message: void setStringProperty(java.lang.String,java.lang.String)>(v, v);
label:
return;
}
private java.lang.Object convertToObject(javax.jms.Message, com.fasterxml.jackson.databind.JavaType) throws javax.jms.JMSException, java.io.IOException
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v, v, v;
com.fasterxml.jackson.databind.JavaType v;
javax.jms.Message v;
boolean v, v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.Message;
v := @parameter: com.fasterxml.jackson.databind.JavaType;
v = v instanceof javax.jms.TextMessage;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Object convertFromTextMessage(javax.jms.TextMessage,com.fasterxml.jackson.databind.JavaType)>(v, v);
return v;
label:
v = v instanceof javax.jms.BytesMessage;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Object convertFromBytesMessage(javax.jms.BytesMessage,com.fasterxml.jackson.databind.JavaType)>(v, v);
return v;
label:
v = virtualinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Object convertFromMessage(javax.jms.Message,com.fasterxml.jackson.databind.JavaType)>(v, v);
return v;
}
protected java.lang.Object convertFromTextMessage(javax.jms.TextMessage, com.fasterxml.jackson.databind.JavaType) throws javax.jms.JMSException, java.io.IOException
{
javax.jms.TextMessage v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Object v;
com.fasterxml.jackson.databind.JavaType v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.TextMessage;
v := @parameter: com.fasterxml.jackson.databind.JavaType;
v = interfaceinvoke v.<javax.jms.TextMessage: java.lang.String getText()>();
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,com.fasterxml.jackson.databind.JavaType)>(v, v);
return v;
}
protected java.lang.Object convertFromBytesMessage(javax.jms.BytesMessage, com.fasterxml.jackson.databind.JavaType) throws javax.jms.JMSException, java.io.IOException
{
byte[] v;
com.fasterxml.jackson.databind.ObjectMapper v;
long v;
javax.jms.BytesMessage v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageConversionException v;
java.lang.Object v;
com.fasterxml.jackson.databind.JavaType v;
java.lang.String v, v, v, v, v;
java.io.UnsupportedEncodingException v;
boolean v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.BytesMessage;
v := @parameter: com.fasterxml.jackson.databind.JavaType;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encoding>;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName>;
if v == null goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName>;
v = interfaceinvoke v.<javax.jms.BytesMessage: boolean propertyExists(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String encodingPropertyName>;
v = interfaceinvoke v.<javax.jms.BytesMessage: java.lang.String getStringProperty(java.lang.String)>(v);
label:
v = interfaceinvoke v.<javax.jms.BytesMessage: long getBodyLength()>();
v = newarray (byte)[v];
interfaceinvoke v.<javax.jms.BytesMessage: int readBytes(byte[])>(v);
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[],java.lang.String)>(v, v);
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,com.fasterxml.jackson.databind.JavaType)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.jms.support.converter.MessageConversionException;
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>("Cannot convert bytes to String", v);
throw v;
catch java.io.UnsupportedEncodingException from label to label with label;
}
protected java.lang.Object convertFromMessage(javax.jms.Message, com.fasterxml.jackson.databind.JavaType) throws javax.jms.JMSException, java.io.IOException
{
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v;
com.fasterxml.jackson.databind.JavaType v;
java.lang.String v;
java.lang.IllegalArgumentException v;
javax.jms.Message v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.Message;
v := @parameter: com.fasterxml.jackson.databind.JavaType;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("Unsupported message type [\u]. MappingJacksonMessageConverter by default only supports TextMessages and BytesMessages.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
protected com.fasterxml.jackson.databind.JavaType getJavaTypeForMessage(javax.jms.Message) throws javax.jms.JMSException
{
java.lang.Throwable v;
com.fasterxml.jackson.databind.type.TypeFactory v, v;
java.util.Map v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
org.springframework.jms.support.converter.MessageConversionException v, v;
com.fasterxml.jackson.databind.JavaType v, v;
java.lang.String v, v, v, v, v, v;
javax.jms.Message v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
javax.jms.Destination v;
java.lang.Class v;
java.lang.Object v;
java.lang.ClassLoader v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: javax.jms.Message;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String typeIdPropertyName>;
v = interfaceinvoke v.<javax.jms.Message: java.lang.String getStringProperty(java.lang.String)>(v);
if v != null goto label;
v = new org.springframework.jms.support.converter.MessageConversionException;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.String typeIdPropertyName>;
v = interfaceinvoke v.<javax.jms.Message: java.lang.String getJMSMessageID()>();
v = interfaceinvoke v.<javax.jms.Message: javax.jms.Destination getJMSDestination()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,javax.jms.Destination)>(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[])>("Could not find type id property [\u] on message [\u] from destination [\u]");
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.util.Map idClassMappings>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.type.TypeFactory getTypeFactory()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.type.TypeFactory: com.fasterxml.jackson.databind.JavaType constructType(java.lang.reflect.Type)>(v);
return v;
label:
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.ClassLoader beanClassLoader>;
v = staticinvoke <org.springframework.util.ClassUtils: java.lang.Class forName(java.lang.String,java.lang.ClassLoader)>(v, v);
v = v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: com.fasterxml.jackson.databind.ObjectMapper objectMapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.type.TypeFactory getTypeFactory()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.type.TypeFactory: com.fasterxml.jackson.databind.JavaType constructType(java.lang.reflect.Type)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.springframework.jms.support.converter.MessageConversionException;
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[])>("Failed to resolve type id [\u]");
specialinvoke v.<org.springframework.jms.support.converter.MessageConversionException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
}
protected java.lang.Class getSerializationView(java.lang.Object)
{
java.lang.'annotation'.Annotation v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v, v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: java.lang.Object;
v = v instanceof org.springframework.core.MethodParameter;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.core.MethodParameter: java.lang.'annotation'.Annotation getParameterAnnotation(java.lang.Class)>(class "Lcom/fasterxml/jackson/annotation/JsonView;");
if v != null goto label;
virtualinvoke v.<org.springframework.core.MethodParameter: java.lang.'annotation'.Annotation getMethodAnnotation(java.lang.Class)>(class "Lcom/fasterxml/jackson/annotation/JsonView;");
return null;
label:
v = specialinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Class extractViewClass(com.fasterxml.jackson.'annotation'.JsonView,java.lang.Object)>(v, v);
return v;
label:
v = v instanceof com.fasterxml.jackson.'annotation'.JsonView;
if v == 0 goto label;
v = specialinvoke v.<org.springframework.jms.support.converter.MappingJackson2MessageConverter: java.lang.Class extractViewClass(com.fasterxml.jackson.'annotation'.JsonView,java.lang.Object)>(v, v);
return v;
label:
v = v instanceof java.lang.Class;
if v == 0 goto label;
return v;
label:
return null;
}
private java.lang.Class extractViewClass(com.fasterxml.jackson.'annotation'.JsonView, java.lang.Object)
{
com.fasterxml.jackson.'annotation'.JsonView v;
java.lang.Class[] v;
java.lang.IllegalArgumentException v;
int v;
org.springframework.jms.support.converter.MappingJackson2MessageConverter v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
v := @this: org.springframework.jms.support.converter.MappingJackson2MessageConverter;
v := @parameter: com.fasterxml.jackson.'annotation'.JsonView;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<com.fasterxml.jackson.'annotation'.JsonView: java.lang.Class[] value()>();
v = lengthof v;
if v == 1 goto label;
v = new java.lang.IllegalArgumentException;
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[])>("@JsonView only supported for handler methods with exactly 1 class argument: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v[0];
return v;
}
}