public class psiprobe.beans.JBossResourceResolverBean extends java.lang.Object implements psiprobe.beans.ResourceResolver
{
private static final org.slf4j.Logger logger;
public void <init>()
{
psiprobe.beans.JBossResourceResolverBean v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public javax.management.MBeanServer getMBeanServer()
{
java.util.Iterator v;
java.util.ArrayList v;
psiprobe.beans.JBossResourceResolverBean v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v = staticinvoke <javax.management.MBeanServerFactory: java.util.ArrayList findMBeanServer(java.lang.String)>(null);
v = virtualinvoke v.<java.util.ArrayList: 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 = "jboss";
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.String getDefaultDomain()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "DefaultDomain";
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.String getDefaultDomain()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
return v;
label:
return null;
}
public boolean supportsPrivateResources()
{
psiprobe.beans.JBossResourceResolverBean v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
return 0;
}
public boolean supportsGlobalResources()
{
psiprobe.beans.JBossResourceResolverBean v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
return 1;
}
public boolean supportsDataSourceLookup()
{
psiprobe.beans.JBossResourceResolverBean v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
return 0;
}
public java.util.List getApplicationResources() throws javax.naming.NamingException
{
boolean v, v, v, v, v, v;
java.util.Set v;
javax.management.ObjectName v, v;
java.lang.Exception v;
psiprobe.model.ApplicationResource v;
java.util.ArrayList v;
javax.management.MBeanServer v;
org.w3c.dom.Node v, v, v, v, v;
psiprobe.beans.JBossResourceResolverBean v;
int v, v, v, v, v;
org.w3c.dom.NamedNodeMap v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
psiprobe.model.DataSourceInfo v;
org.slf4j.Logger v;
org.w3c.dom.NodeList v;
java.util.Iterator v;
java.lang.Object v, v, v, v, v, v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<psiprobe.beans.JBossResourceResolverBean: javax.management.MBeanServer getMBeanServer()>();
if v == null goto label;
label:
v = new javax.management.ObjectName;
specialinvoke v.<javax.management.ObjectName: void <init>(java.lang.String)>("jboss.jca:service=ManagedConnectionPool,*");
v = interfaceinvoke v.<javax.management.MBeanServer: java.util.Set queryNames(javax.management.ObjectName,javax.management.QueryExp)>(v, null);
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 = new psiprobe.model.ApplicationResource;
specialinvoke v.<psiprobe.model.ApplicationResource: void <init>()>();
v = virtualinvoke v.<javax.management.ObjectName: java.lang.String getKeyProperty(java.lang.String)>("name");
virtualinvoke v.<psiprobe.model.ApplicationResource: void setName(java.lang.String)>(v);
virtualinvoke v.<psiprobe.model.ApplicationResource: void setType(java.lang.String)>("jboss");
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object getAttribute(javax.management.ObjectName,java.lang.String)>(v, "Criteria");
v = "ByApplication";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<psiprobe.model.ApplicationResource: void setAuth(java.lang.String)>("Application");
goto label;
label:
v = "ByContainerAndApplication";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<psiprobe.model.ApplicationResource: void setAuth(java.lang.String)>("Both");
goto label;
label:
virtualinvoke v.<psiprobe.model.ApplicationResource: void setAuth(java.lang.String)>("Container");
label:
v = new psiprobe.model.DataSourceInfo;
specialinvoke v.<psiprobe.model.DataSourceInfo: void <init>()>();
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object getAttribute(javax.management.ObjectName,java.lang.String)>(v, "MaxSize");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setMaxConnections(int)>(v);
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object getAttribute(javax.management.ObjectName,java.lang.String)>(v, "ConnectionCount");
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setEstablishedConnections(int)>(v);
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object getAttribute(javax.management.ObjectName,java.lang.String)>(v, "InUseConnectionCount");
v = virtualinvoke v.<java.lang.Long: int intValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setBusyConnections(int)>(v);
v = new javax.management.ObjectName;
v = virtualinvoke v.<psiprobe.model.ApplicationResource: java.lang.String getName()>();
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[])>("jboss.jca:service=ManagedConnectionFactory,name=\u0001");
specialinvoke v.<javax.management.ObjectName: void <init>(java.lang.String)>(v);
v = interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object getAttribute(javax.management.ObjectName,java.lang.String)>(v, "ManagedConnectionFactoryProperties");
if v == null goto label;
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NodeList getChildNodes()>();
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.NamedNodeMap getAttributes()>();
v = interfaceinvoke v.<org.w3c.dom.NamedNodeMap: org.w3c.dom.Node getNamedItem(java.lang.String)>("name");
if v == null goto label;
v = "ConnectionURL";
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.Node getFirstChild()>();
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setJdbcUrl(java.lang.String)>(v);
label:
v = "UserName";
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.Node getFirstChild()>();
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setUsername(java.lang.String)>(v);
label:
v = "JmsProviderAdapterJNDI";
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Node: org.w3c.dom.Node getFirstChild()>();
v = interfaceinvoke v.<org.w3c.dom.Node: java.lang.String getNodeValue()>();
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setJdbcUrl(java.lang.String)>(v);
virtualinvoke v.<psiprobe.model.ApplicationResource: void setType(java.lang.String)>("jms");
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<psiprobe.model.DataSourceInfo: void setResettable(boolean)>(1);
virtualinvoke v.<psiprobe.model.ApplicationResource: void setDataSourceInfo(psiprobe.model.DataSourceInfo)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
v = <psiprobe.beans.JBossResourceResolverBean: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("There was an error querying JBoss JMX server:", v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
public java.util.List getApplicationResources(org.apache.catalina.Context) throws javax.naming.NamingException
{
org.apache.catalina.Context v;
java.util.ArrayList v;
psiprobe.beans.JBossResourceResolverBean v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v := @parameter: org.apache.catalina.Context;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
return v;
}
public java.util.List getApplicationResources(org.apache.catalina.Context, psiprobe.beans.ContainerWrapperBean) throws javax.naming.NamingException
{
java.lang.UnsupportedOperationException v;
psiprobe.beans.ContainerWrapperBean v;
psiprobe.beans.JBossResourceResolverBean v;
org.apache.catalina.Context v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v := @parameter: org.apache.catalina.Context;
v := @parameter: psiprobe.beans.ContainerWrapperBean;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Not supported yet.");
throw v;
}
public boolean resetResource(org.apache.catalina.Context, java.lang.String, psiprobe.beans.ContainerWrapperBean) throws javax.naming.NamingException
{
org.slf4j.Logger v, v;
javax.management.ObjectName v;
javax.naming.NamingException v;
org.apache.catalina.Context v;
java.lang.Exception v;
javax.management.MalformedObjectNameException v;
javax.management.MBeanServer v;
psiprobe.beans.ContainerWrapperBean v;
psiprobe.beans.JBossResourceResolverBean v;
java.lang.String v, v, v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v := @parameter: org.apache.catalina.Context;
v := @parameter: java.lang.String;
v := @parameter: psiprobe.beans.ContainerWrapperBean;
label:
v = new javax.management.ObjectName;
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[])>("jboss.jca:service=ManagedConnectionPool,name=\u0001");
specialinvoke v.<javax.management.ObjectName: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<psiprobe.beans.JBossResourceResolverBean: javax.management.MBeanServer getMBeanServer()>();
if v == null goto label;
label:
interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object invoke(javax.management.ObjectName,java.lang.String,java.lang.Object[],java.lang.String[])>(v, "stop", null, null);
interfaceinvoke v.<javax.management.MBeanServer: java.lang.Object invoke(javax.management.ObjectName,java.lang.String,java.lang.Object[],java.lang.String[])>(v, "start", null, null);
label:
return 1;
label:
v := @caughtexception;
v = <psiprobe.beans.JBossResourceResolverBean: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Could not reset resource \'{}\'", v, v);
label:
return 0;
label:
v := @caughtexception;
v = <psiprobe.beans.JBossResourceResolverBean: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Throwable)>("", v);
v = new javax.naming.NamingException;
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[])>("Resource name: \"\u0001\" makes a malformed ObjectName");
specialinvoke v.<javax.naming.NamingException: void <init>(java.lang.String)>(v);
throw v;
catch java.lang.Exception from label to label with label;
catch javax.management.MalformedObjectNameException from label to label with label;
catch javax.management.MalformedObjectNameException from label to label with label;
}
public javax.sql.DataSource lookupDataSource(org.apache.catalina.Context, java.lang.String, psiprobe.beans.ContainerWrapperBean) throws javax.naming.NamingException
{
java.lang.UnsupportedOperationException v;
psiprobe.beans.ContainerWrapperBean v;
psiprobe.beans.JBossResourceResolverBean v;
java.lang.String v;
org.apache.catalina.Context v;
v := @this: psiprobe.beans.JBossResourceResolverBean;
v := @parameter: org.apache.catalina.Context;
v := @parameter: java.lang.String;
v := @parameter: psiprobe.beans.ContainerWrapperBean;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("This feature has not been implemented for JBoss server yet.");
throw v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lpsiprobe/beans/JBossResourceResolverBean;");
<psiprobe.beans.JBossResourceResolverBean: org.slf4j.Logger logger> = v;
return;
}
}