public class org.apache.camel.management.DefaultManagementMBeanAssembler extends org.apache.camel.support.ServiceSupport implements org.apache.camel.spi.ManagementMBeanAssembler
{
private static final org.slf4j.Logger LOG;
protected final org.apache.camel.management.MBeanInfoAssembler assembler;
protected final org.apache.camel.CamelContext camelContext;
public void <init>(org.apache.camel.CamelContext)
{
org.apache.camel.CamelContext v;
org.apache.camel.management.MBeanInfoAssembler v;
org.apache.camel.management.DefaultManagementMBeanAssembler v;
v := @this: org.apache.camel.management.DefaultManagementMBeanAssembler;
v := @parameter: org.apache.camel.CamelContext;
specialinvoke v.<org.apache.camel.support.ServiceSupport: void <init>()>();
v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.CamelContext camelContext> = v;
v = new org.apache.camel.management.MBeanInfoAssembler;
specialinvoke v.<org.apache.camel.management.MBeanInfoAssembler: void <init>()>();
v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler> = v;
return;
}
public javax.management.modelmbean.ModelMBean assemble(javax.management.MBeanServer, java.lang.Object, javax.management.ObjectName) throws javax.management.JMException
{
org.apache.camel.management.MixinRequiredModelMBean v;
boolean v, v, v, v, v, v;
javax.management.modelmbean.InvalidTargetObjectTypeException v, v;
javax.management.ObjectName v;
org.apache.camel.spi.ManagementAgent v, v;
javax.management.JMException v, v;
java.lang.'annotation'.Annotation[] v;
javax.management.modelmbean.ModelMBeanInfo v, v;
javax.management.MBeanServer v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v, v, v;
org.apache.camel.management.NotificationSenderAdapter v;
org.apache.camel.management.DefaultManagementMBeanAssembler v;
org.apache.camel.spi.ManagementStrategy v, v;
org.apache.camel.CamelContext v, v;
org.slf4j.Logger v, v;
org.apache.camel.management.MBeanInfoAssembler v, v, v;
java.lang.Class v, v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.management.DefaultManagementMBeanAssembler;
v := @parameter: javax.management.MBeanServer;
v := @parameter: java.lang.Object;
v := @parameter: javax.management.ObjectName;
v = null;
v = null;
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/apache/camel/api/management/ManagedResource;");
if v == 0 goto label;
v = <org.apache.camel.management.DefaultManagementMBeanAssembler: 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.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler>;
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.camel.management.MBeanInfoAssembler: javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object,java.lang.Object,java.lang.String)>(v, v, v);
v = v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler>;
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.camel.management.MBeanInfoAssembler: javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object,java.lang.Object,java.lang.String)>(v, null, v);
label:
if v != null goto label;
v = <org.apache.camel.management.DefaultManagementMBeanAssembler: 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.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler>;
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.camel.management.MBeanInfoAssembler: javax.management.modelmbean.ModelMBeanInfo getMBeanInfo(java.lang.Object,java.lang.Object,java.lang.String)>(v, null, v);
if v != null goto label;
return null;
label:
v = v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.CamelContext camelContext>;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ManagementStrategy getManagementStrategy()>();
v = interfaceinvoke v.<org.apache.camel.spi.ManagementStrategy: org.apache.camel.spi.ManagementAgent getManagementAgent()>();
v = interfaceinvoke v.<org.apache.camel.spi.ManagementAgent: java.lang.Boolean getMask()>();
if v == null goto label;
v = v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.CamelContext camelContext>;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ManagementStrategy getManagementStrategy()>();
v = interfaceinvoke v.<org.apache.camel.spi.ManagementStrategy: org.apache.camel.spi.ManagementAgent getManagementAgent()>();
v = interfaceinvoke v.<org.apache.camel.spi.ManagementAgent: java.lang.Boolean getMask()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == null goto label;
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;
label:
v = new org.apache.camel.management.MixinRequiredModelMBean;
specialinvoke v.<org.apache.camel.management.MixinRequiredModelMBean: void <init>(javax.management.modelmbean.ModelMBeanInfo,boolean,javax.management.modelmbean.ModelMBeanInfo,javax.management.DynamicMBean)>(v, v, v, 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;
catch javax.management.modelmbean.InvalidTargetObjectTypeException from label to label with label;
}
protected void doStart() throws java.lang.Exception
{
org.apache.camel.management.MBeanInfoAssembler v;
org.apache.camel.management.DefaultManagementMBeanAssembler v;
v := @this: org.apache.camel.management.DefaultManagementMBeanAssembler;
v = v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler>;
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
return;
}
protected void doStop() throws java.lang.Exception
{
org.apache.camel.management.MBeanInfoAssembler v;
org.apache.camel.management.DefaultManagementMBeanAssembler v;
v := @this: org.apache.camel.management.DefaultManagementMBeanAssembler;
v = v.<org.apache.camel.management.DefaultManagementMBeanAssembler: org.apache.camel.management.MBeanInfoAssembler assembler>;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopService(java.lang.Object)>(v);
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/management/DefaultManagementMBeanAssembler;");
<org.apache.camel.management.DefaultManagementMBeanAssembler: org.slf4j.Logger LOG> = v;
return;
}
}