public class org.apache.camel.spring.spi.SpringManagementMBeanAssembler extends org.apache.camel.management.DefaultManagementMBeanAssembler
{
private static final org.slf4j.Logger LOG;
private final org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler springAssembler;
public void <init>(org.apache.camel.CamelContext)
{
org.apache.camel.CamelContext v;
org.apache.camel.spring.spi.SpringManagementMBeanAssembler v;
org.springframework.jmx.export.'annotation'.AnnotationJmxAttributeSource v;
org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler v, v;
v := @this: org.apache.camel.spring.spi.SpringManagementMBeanAssembler;
v := @parameter: org.apache.camel.CamelContext;
specialinvoke v.<org.apache.camel.management.DefaultManagementMBeanAssembler: void <init>(org.apache.camel.CamelContext)>(v);
v = new org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler;
specialinvoke v.<org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler: void <init>()>();
v.<org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler springAssembler> = v;
v = v.<org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler springAssembler>;
v = new org.springframework.jmx.export.'annotation'.AnnotationJmxAttributeSource;
specialinvoke v.<org.springframework.jmx.export.'annotation'.AnnotationJmxAttributeSource: void <init>()>();
virtualinvoke v.<org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler: void setAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource)>(v);
return;
}
public javax.management.modelmbean.ModelMBean assemble(javax.management.MBeanServer, java.lang.Object, javax.management.ObjectName) throws javax.management.JMException
{
javax.management.modelmbean.ModelMBean v;
java.lang.'annotation'.Annotation[] v, v;
javax.management.modelmbean.ModelMBeanInfo v;
org.apache.camel.spring.spi.SpringManagementMBeanAssembler v;
javax.management.MBeanServer v;
java.lang.String v, v, v, v;
org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler v, v;
org.apache.camel.management.NotificationSenderAdapter v;
boolean v, v, v, v;
javax.management.modelmbean.InvalidTargetObjectTypeException v;
org.slf4j.Logger v, v, v;
javax.management.ObjectName v;
javax.management.JMException v;
java.lang.Class v, v, v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.spring.spi.SpringManagementMBeanAssembler;
v := @parameter: javax.management.MBeanServer;
v := @parameter: java.lang.Object;
v := @parameter: javax.management.ObjectName;
v = null;
v = v instanceof org.apache.camel.api.management.ManagedInstance;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.api.management.ManagedInstance: java.lang.Object getInstance()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.'annotation'.Annotation[] getAnnotations()>();
v = staticinvoke <org.apache.camel.util.ObjectHelper: boolean hasAnnotation(java.lang.'annotation'.Annotation[],java.lang.Class)>(v, class "Lorg/springframework/jmx/export/annotation/ManagedResource;");
if v == 0 goto label;
v = <org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Assembling MBeanInfo for: {} from custom @ManagedResource object: {}", v, v);
v = v.<org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler springAssembler>;
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String toString()>();
v = virtualinvoke v.<org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler: javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object,java.lang.String)>(v, v);
v = v;
label:
if v != null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.'annotation'.Annotation[] getAnnotations()>();
v = staticinvoke <org.apache.camel.util.ObjectHelper: boolean hasAnnotation(java.lang.'annotation'.Annotation[],java.lang.Class)>(v, class "Lorg/springframework/jmx/export/annotation/ManagedResource;");
if v == 0 goto label;
v = <org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object,java.lang.Object)>("Assembling MBeanInfo for: {} from @ManagedResource object: {}", v, v);
v = v.<org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler springAssembler>;
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String toString()>();
v = virtualinvoke v.<org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler: javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object,java.lang.String)>(v, v);
goto label;
label:
v = specialinvoke v.<org.apache.camel.management.DefaultManagementMBeanAssembler: javax.management.modelmbean.ModelMBean assemble(javax.management.MBeanServer,java.lang.Object,javax.management.ObjectName)>(v, v, v);
return v;
label:
v = <org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Assembled MBeanInfo {}", v);
v = class "Ljavax/management/modelmbean/RequiredModelMBean;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object instantiate(java.lang.String)>(v);
virtualinvoke v.<javax.management.modelmbean.RequiredModelMBean: void setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)>(v);
label:
virtualinvoke v.<javax.management.modelmbean.RequiredModelMBean: void setManagedResource(java.lang.Object,java.lang.String)>(v, "ObjectReference");
label:
goto label;
label:
v := @caughtexception;
v = new javax.management.JMException;
v = virtualinvoke v.<javax.management.modelmbean.InvalidTargetObjectTypeException: java.lang.String getMessage()>();
specialinvoke v.<javax.management.JMException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof org.apache.camel.api.management.NotificationSenderAware;
if v == 0 goto label;
v = new org.apache.camel.management.NotificationSenderAdapter;
specialinvoke v.<org.apache.camel.management.NotificationSenderAdapter: void <init>(javax.management.modelmbean.ModelMBeanNotificationBroadcaster)>(v);
interfaceinvoke v.<org.apache.camel.api.management.NotificationSenderAware: void setNotificationSender(org.apache.camel.api.management.NotificationSender)>(v);
label:
return v;
catch javax.management.modelmbean.InvalidTargetObjectTypeException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/spring/spi/SpringManagementMBeanAssembler;");
<org.apache.camel.spring.spi.SpringManagementMBeanAssembler: org.slf4j.Logger LOG> = v;
return;
}
}