public class org.glassfish.resources.admin.cli.DeleteJndiResource extends java.lang.Object implements org.glassfish.api.admin.AdminCommand
{
private static final com.sun.enterprise.util.LocalStringManagerImpl localStrings;
private java.lang.String target;
private java.lang.String jndiName;
private com.sun.enterprise.config.serverbeans.Domain domain;
private org.glassfish.api.admin.ServerEnvironment environment;
private org.glassfish.resourcebase.resources.admin.cli.ResourceUtil resourceUtil;
public void <init>()
{
org.glassfish.resources.admin.cli.DeleteJndiResource v;
v := @this: org.glassfish.resources.admin.cli.DeleteJndiResource;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void execute(org.glassfish.api.admin.AdminCommandContext)
{
org.glassfish.api.admin.ServerEnvironment v;
java.util.Set v, v;
org.glassfish.resourcebase.resources.admin.cli.ResourceUtil v, v, v, v;
java.lang.Throwable v;
java.lang.Object[] v, v, v, v, v, v;
com.sun.enterprise.util.LocalStringManagerImpl v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.resources.admin.cli.DeleteJndiResource v;
org.jvnet.hk.config.SingleConfigCode v;
org.glassfish.api.naming.SimpleJndiName v;
org.glassfish.api.ActionReport$ExitCode v, v, v, v, v, v;
boolean v, v, v, v, v, v;
com.sun.enterprise.config.serverbeans.Domain v, v;
com.sun.enterprise.config.serverbeans.Resources v, v;
org.glassfish.api.ActionReport v;
int v;
org.glassfish.api.admin.AdminCommandContext v;
v := @this: org.glassfish.resources.admin.cli.DeleteJndiResource;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v = interfaceinvoke v.<org.glassfish.api.admin.AdminCommandContext: org.glassfish.api.ActionReport getActionReport()>();
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v = staticinvoke <org.glassfish.api.naming.SimpleJndiName: org.glassfish.api.naming.SimpleJndiName of(java.lang.String)>(v);
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.config.serverbeans.Domain domain>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Domain: com.sun.enterprise.config.serverbeans.Resources getResources()>();
v = specialinvoke v.<org.glassfish.resources.admin.cli.DeleteJndiResource: boolean doesResourceExist(com.sun.enterprise.config.serverbeans.Resources,org.glassfish.api.naming.SimpleJndiName)>(v, v);
if v != 0 goto label;
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.notfound", "A jndi resource named {0} does not exist.", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return;
label:
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: org.glassfish.api.admin.ServerEnvironment environment>;
v = interfaceinvoke v.<org.glassfish.api.admin.ServerEnvironment: boolean isDas()>();
if v == 0 goto label;
v = "domain";
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String target>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: org.glassfish.resourcebase.resources.admin.cli.ResourceUtil resourceUtil>;
v = virtualinvoke v.<org.glassfish.resourcebase.resources.admin.cli.ResourceUtil: java.util.Set getTargetsReferringResourceRef(org.glassfish.api.naming.SimpleJndiName)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.resource-ref.exist", "external-jndi-resource [ {0} ] is referenced in an instance/cluster target, Use delete-resource-ref on appropriate target", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return;
label:
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: org.glassfish.resourcebase.resources.admin.cli.ResourceUtil resourceUtil>;
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String target>;
v = virtualinvoke v.<org.glassfish.resourcebase.resources.admin.cli.ResourceUtil: boolean isResourceRefInTarget(org.glassfish.api.naming.SimpleJndiName,java.lang.String)>(v, v);
if v != 0 goto label;
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[2];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String target>;
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.no.resource-ref", "external-jndi-resource [ {0} ] is not referenced in target [ {1} ]", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return;
label:
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: org.glassfish.resourcebase.resources.admin.cli.ResourceUtil resourceUtil>;
v = virtualinvoke v.<org.glassfish.resourcebase.resources.admin.cli.ResourceUtil: java.util.Set getTargetsReferringResourceRef(org.glassfish.api.naming.SimpleJndiName)>(v);
v = interfaceinvoke v.<java.util.Set: int size()>();
if v <= 1 goto label;
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.multiple.resource-refs", "external-jndi-resource [ {0} ] is referenced in multiple instance/cluster targets, Use delete-resource-ref on appropriate target", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return;
label:
v = "domain";
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String target>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: org.glassfish.resourcebase.resources.admin.cli.ResourceUtil resourceUtil>;
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String target>;
virtualinvoke v.<org.glassfish.resourcebase.resources.admin.cli.ResourceUtil: void deleteResourceRef(org.glassfish.api.naming.SimpleJndiName,java.lang.String)>(v, v);
label:
v = staticinvoke <org.glassfish.resources.admin.cli.DeleteJndiResource$lambda_execute_0__3: org.jvnet.hk.config.SingleConfigCode bootstrap$(org.glassfish.resources.admin.cli.DeleteJndiResource,org.glassfish.api.naming.SimpleJndiName)>(v, v);
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.config.serverbeans.Domain domain>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Domain: com.sun.enterprise.config.serverbeans.Resources getResources()>();
staticinvoke <org.jvnet.hk.config.ConfigSupport: java.lang.Object apply(org.jvnet.hk.config.SingleConfigCode,org.jvnet.hk.config.ConfigBeanProxy)>(v, v);
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.success", "Jndi resource {0} deleted.", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode SUCCESS>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = v.<org.glassfish.resources.admin.cli.DeleteJndiResource: java.lang.String jndiName>;
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("delete.jndi.resource.fail", "Unable to delete jndi resource {0}.", v);
v = virtualinvoke v.<org.jvnet.hk.config.TransactionFailure: java.lang.String getLocalizedMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u \u0001");
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setFailureCause(java.lang.Throwable)>(v);
label:
return;
catch org.jvnet.hk.config.TransactionFailure from label to label with label;
}
private boolean doesResourceExist(com.sun.enterprise.config.serverbeans.Resources, org.glassfish.api.naming.SimpleJndiName)
{
org.glassfish.api.naming.SimpleJndiName v;
org.glassfish.resources.admin.cli.DeleteJndiResource v;
com.sun.enterprise.config.serverbeans.Resources v;
boolean v;
com.sun.enterprise.config.serverbeans.Resource v;
v := @this: org.glassfish.resources.admin.cli.DeleteJndiResource;
v := @parameter: com.sun.enterprise.config.serverbeans.Resources;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Resources: com.sun.enterprise.config.serverbeans.Resource getResourceByName(java.lang.Class,org.glassfish.api.naming.SimpleJndiName)>(class "Lorg/glassfish/resources/config/ExternalJndiResource;", v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
com.sun.enterprise.util.LocalStringManagerImpl v;
v = new com.sun.enterprise.util.LocalStringManagerImpl;
specialinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: void <init>(java.lang.Class)>(class "Lorg/glassfish/resources/admin/cli/DeleteJndiResource;");
<org.glassfish.resources.admin.cli.DeleteJndiResource: com.sun.enterprise.util.LocalStringManagerImpl localStrings> = v;
return;
}
}