public class org.glassfish.ejb.startup.EjbApplication extends java.lang.Object implements org.glassfish.api.deployment.ApplicationContainer
{
static final java.lang.String KEEP_STATE;
private static final java.lang.String CONTAINER_LIST_KEY;
private static final java.lang.String EJB_APP_MARKED_AS_STARTED_STATUS;
private static final java.util.logging.Logger _logger;
private static final com.sun.enterprise.util.LocalStringManagerImpl localStrings;
private final org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle;
private final java.util.Collection ejbs;
private final java.util.Collection containers;
private final java.lang.ClassLoader ejbAppClassLoader;
private final org.glassfish.api.deployment.DeploymentContext dc;
private final org.glassfish.hk.api.ServiceLocator services;
private org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM;
private final com.sun.enterprise.security.PolicyLoader policyLoader;
private final boolean initializeInOrder;
private volatile boolean started;
public void <init>(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl, org.glassfish.api.deployment.DeploymentContext, java.lang.ClassLoader, org.glassfish.hk.api.ServiceLocator)
{
java.util.Set v;
java.lang.'annotation'.Annotation[] v;
java.util.ArrayList v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v, v;
org.glassfish.api.deployment.DeploymentContext v;
com.sun.enterprise.deployment.Application v;
java.lang.Object v;
java.lang.ClassLoader v;
org.glassfish.hk.api.ServiceLocator v;
boolean v, v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
v := @parameter: java.lang.ClassLoader;
v := @parameter: org.glassfish.hk.api.ServiceLocator;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers> = v;
v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle> = v;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getEjbs()>();
v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection ejbs> = v;
v.<org.glassfish.ejb.startup.EjbApplication: java.lang.ClassLoader ejbAppClassLoader> = v;
v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.api.deployment.DeploymentContext dc> = v;
v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.hk.api.ServiceLocator services> = v;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lcom/sun/enterprise/security/PolicyLoader;", v);
v.<org.glassfish.ejb.startup.EjbApplication: com.sun.enterprise.security.PolicyLoader policyLoader> = v;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle>;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: com.sun.enterprise.deployment.Application getApplication()>();
if v == null goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: boolean isInitializeInOrder()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.glassfish.ejb.startup.EjbApplication: boolean initializeInOrder> = v;
return;
}
public java.util.Collection getDescriptor()
{
java.util.Collection v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection ejbs>;
return v;
}
public org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()
{
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle>;
return v;
}
public boolean isStarted()
{
boolean v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: boolean started>;
return v;
}
void markAllContainersAsStarted()
{
java.util.Iterator v;
java.util.Collection v;
java.lang.Object v;
boolean v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
v = interfaceinvoke v.<java.util.Collection: 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()>();
interfaceinvoke v.<com.sun.ejb.Container: void setStartedState()>();
goto label;
label:
return;
}
public boolean start(org.glassfish.api.deployment.ApplicationContext) throws java.lang.Exception
{
org.glassfish.api.deployment.OpsParams v;
org.glassfish.api.deployment.DeploymentContext v, v, v;
org.glassfish.ejb.startup.SingletonLifeCycleManager v;
java.lang.Boolean v;
boolean v, v, v, v, v;
org.glassfish.ejb.startup.EjbApplication v;
java.util.Iterator v, v;
org.glassfish.api.deployment.ApplicationContext v;
java.util.Collection v;
org.glassfish.api.deployment.OpsParams$Origin v;
java.lang.Exception v;
java.lang.Object v, v, v, v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v := @parameter: org.glassfish.api.deployment.ApplicationContext;
v.<org.glassfish.ejb.startup.EjbApplication: boolean started> = 1;
v = v.<org.glassfish.ejb.startup.EjbApplication: boolean initializeInOrder>;
if v != 0 goto label;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.api.deployment.DeploymentContext dc>;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.ejb.startup.EjbApplicationMarkedAsStarted", class "Ljava/lang/Boolean;");
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.api.deployment.DeploymentContext dc>;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.ejb.startup.EjbContainerList", class "Ljava/util/List;");
v = interfaceinvoke v.<java.util.List: 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()>();
virtualinvoke v.<org.glassfish.ejb.startup.EjbApplication: void markAllContainersAsStarted()>();
goto label;
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.api.deployment.DeploymentContext dc>;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.ejb.startup.EjbApplicationMarkedAsStarted", v);
label:
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.OpsParams getCommandParameters(java.lang.Class)>(class "Lorg/glassfish/api/deployment/DeployCommandParameters;");
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
v = interfaceinvoke v.<java.util.Collection: 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 = v.<org.glassfish.api.deployment.DeployCommandParameters: org.glassfish.api.deployment.OpsParams$Origin origin>;
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams$Origin: boolean isDeploy()>();
interfaceinvoke v.<com.sun.ejb.Container: void startApplication(boolean)>(v);
goto label;
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM>;
virtualinvoke v.<org.glassfish.ejb.startup.SingletonLifeCycleManager: void doStartup(org.glassfish.ejb.startup.EjbApplication)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.glassfish.ejb.startup.EjbApplication: void abortInitializationAfterException()>();
throw v;
label:
return 1;
catch java.lang.Exception from label to label with label;
}
boolean loadContainers(org.glassfish.api.deployment.ApplicationContext)
{
java.lang.IllegalStateException v;
org.glassfish.ejb.startup.SingletonLifeCycleManager v, v, v, v;
boolean v, v, v, v, v;
org.glassfish.ejb.startup.EjbApplication v;
com.sun.enterprise.security.PolicyLoader v;
org.glassfish.api.deployment.ApplicationContext v;
java.util.Collection v, v;
java.lang.ClassLoader v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
org.glassfish.hk.api.ServiceLocator v;
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.'annotation'.Annotation[] v;
java.util.ArrayList v;
com.sun.enterprise.util.LocalStringManagerImpl v;
java.lang.Boolean v;
java.lang.String v, v, v;
com.sun.ejb.Container v;
java.util.Iterator v;
java.lang.RuntimeException v;
java.lang.Object v, v, v, v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v := @parameter: org.glassfish.api.deployment.ApplicationContext;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.ejb.startup.SingletonLCM", class "Lorg/glassfish/ejb/startup/SingletonLifeCycleManager;");
v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM> = v;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM>;
if v != null goto label;
v = new org.glassfish.ejb.startup.SingletonLifeCycleManager;
v = v.<org.glassfish.ejb.startup.EjbApplication: boolean initializeInOrder>;
specialinvoke v.<org.glassfish.ejb.startup.SingletonLifeCycleManager: void <init>(boolean)>(v);
v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM> = v;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM>;
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.ejb.startup.SingletonLCM", v);
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: boolean initializeInOrder>;
if v != 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.ejb.startup.EjbApplicationMarkedAsStarted", v);
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.ejb.startup.EjbContainerList", class "Ljava/util/List;");
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v;
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.ejb.startup.EjbContainerList", v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: com.sun.enterprise.security.PolicyLoader policyLoader>;
virtualinvoke v.<com.sun.enterprise.security.PolicyLoader: void loadPolicy()>();
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection ejbs>;
v = interfaceinvoke v.<java.util.Collection: 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 = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.hk.api.ServiceLocator services>;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getContainerFactoryQualifier()>();
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.String,java.lang.'annotation'.Annotation[])>(class "Lcom/sun/ejb/ContainerFactory;", v, v);
if v != null goto label;
v = <org.glassfish.ejb.startup.EjbApplication: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getEjbTypeForDisplay()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("invalid.container.module", "Container module is not available", v);
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: java.lang.ClassLoader ejbAppClassLoader>;
v = interfaceinvoke v.<com.sun.ejb.ContainerFactory: com.sun.ejb.Container createContainer(org.glassfish.ejb.deployment.descriptor.EjbDescriptor,java.lang.ClassLoader,org.glassfish.api.deployment.DeploymentContext)>(v, v, v);
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: boolean isSingleton()>();
if v == 0 goto label;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM>;
virtualinvoke v.<org.glassfish.ejb.startup.SingletonLifeCycleManager: void addSingletonContainer(org.glassfish.ejb.startup.EjbApplication,com.sun.ejb.containers.AbstractSingletonContainer)>(v, v);
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.glassfish.ejb.startup.EjbApplication: void abortInitializationAfterException()>();
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("EJB Container initialization error", v);
throw v;
label:
return 1;
catch java.lang.Throwable from label to label with label;
}
public boolean stop(org.glassfish.api.deployment.ApplicationContext)
{
org.glassfish.ejb.startup.SingletonLifeCycleManager v;
boolean v, v, v, v, v, v, v, v;
org.glassfish.ejb.startup.EjbApplication v;
org.glassfish.api.deployment.ApplicationContext v;
java.util.Collection v, v;
org.glassfish.api.deployment.OpsParams$Origin v, v, v;
java.util.logging.Logger v;
com.sun.enterprise.deployment.Application v, v;
org.glassfish.hk.api.ServiceLocator v;
java.lang.Object[] v;
org.glassfish.api.deployment.OpsParams v;
com.sun.enterprise.security.SecurityManager v, v;
java.lang.'annotation'.Annotation[] v;
java.util.logging.Level v;
org.glassfish.api.ActionReport v, v;
org.glassfish.api.deployment.DeploymentContext v;
java.lang.Boolean v;
java.lang.String v, v, v, v;
java.util.Properties v, v;
java.util.Iterator v;
org.glassfish.internal.deployment.ExtendedDeploymentContext v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v, v, v;
org.glassfish.internal.data.ApplicationInfo v;
java.lang.Object v, v, v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v := @parameter: org.glassfish.api.deployment.ApplicationContext;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.OpsParams getCommandParameters(java.lang.Class)>(class "Lorg/glassfish/api/deployment/OpsParams;");
v = 0;
v = v.<org.glassfish.api.deployment.OpsParams: org.glassfish.api.deployment.OpsParams$Origin origin>;
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams$Origin: boolean isUndeploy()>();
if v == 0 goto label;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle>;
v = specialinvoke v.<org.glassfish.ejb.startup.EjbApplication: boolean resolveKeepStateOptions(org.glassfish.api.deployment.DeploymentContext,boolean,org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)>(v, 0, v);
if v == 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.util.Properties getAppProps()>();
v = virtualinvoke v.<java.util.Properties: java.lang.Object get(java.lang.Object)>("org.glassfish.ejb.container.application_unique_id");
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle>;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: com.sun.enterprise.deployment.Application getApplication()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: boolean isVirtual()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.ActionReport getActionReport()>();
v = virtualinvoke v.<org.glassfish.api.ActionReport: java.util.Properties getExtraProperties()>();
goto label;
label:
v = interfaceinvoke v.<org.glassfish.internal.deployment.ExtendedDeploymentContext: org.glassfish.internal.deployment.ExtendedDeploymentContext getParentContext()>();
v = interfaceinvoke v.<org.glassfish.internal.deployment.ExtendedDeploymentContext: org.glassfish.api.ActionReport getActionReport()>();
v = virtualinvoke v.<org.glassfish.api.ActionReport: java.util.Properties getExtraProperties()>();
label:
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("org.glassfish.ejb.container.application_unique_id", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(boolean)>(1);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("org.glassfish.ejb.startup.keepstate", v);
v = <org.glassfish.ejb.startup.EjbApplication: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams: java.lang.String name()>();
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "keepstate options resolved to true, saving appId {0} for application {1}.", v);
label:
v = v.<org.glassfish.api.deployment.OpsParams: org.glassfish.api.deployment.OpsParams$Origin origin>;
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams$Origin: boolean isUndeploy()>();
if v != 0 goto label;
v = v.<org.glassfish.api.deployment.OpsParams: org.glassfish.api.deployment.OpsParams$Origin origin>;
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams$Origin: boolean isDeploy()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.hk.api.ServiceLocator services>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lorg/glassfish/internal/data/ApplicationRegistry;", v);
v = virtualinvoke v.<org.glassfish.api.deployment.OpsParams: java.lang.String name()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationRegistry: org.glassfish.internal.data.ApplicationInfo get(java.lang.String)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.ejb.startup.keepstate", v);
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundle>;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: com.sun.enterprise.deployment.Application getApplication()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(boolean)>(v);
virtualinvoke v.<com.sun.enterprise.deployment.Application: void setKeepStateResolved(java.lang.String)>(v);
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: org.glassfish.ejb.startup.SingletonLifeCycleManager singletonLCM>;
virtualinvoke v.<org.glassfish.ejb.startup.SingletonLifeCycleManager: void doShutdown()>();
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
v = interfaceinvoke v.<java.util.Collection: 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()>();
if v == 0 goto label;
interfaceinvoke v.<com.sun.ejb.Container: void undeploy()>();
goto label;
label:
interfaceinvoke v.<com.sun.ejb.Container: void onShutdown()>();
label:
v = interfaceinvoke v.<com.sun.ejb.Container: com.sun.enterprise.security.SecurityManager getSecurityManager()>();
if v == null goto label;
v = interfaceinvoke v.<com.sun.ejb.Container: com.sun.enterprise.security.SecurityManager getSecurityManager()>();
interfaceinvoke v.<com.sun.enterprise.security.SecurityManager: void destroy()>();
goto label;
label:
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
interfaceinvoke v.<java.util.Collection: void clear()>();
return 1;
}
public boolean suspend()
{
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
return 0;
}
public boolean resume()
{
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
return 0;
}
public java.lang.ClassLoader getClassLoader()
{
java.lang.ClassLoader v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: java.lang.ClassLoader ejbAppClassLoader>;
return v;
}
boolean containsTimedObject()
{
java.util.Iterator v;
java.util.Collection v;
java.lang.Object v;
boolean v, v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
v = interfaceinvoke v.<java.util.Collection: 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.<com.sun.ejb.Container: boolean isTimedObject()>();
if v == 0 goto label;
return 1;
label:
return 0;
}
private void abortInitializationAfterException()
{
java.util.Iterator v;
java.util.Collection v;
java.lang.Object v;
boolean v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v = v.<org.glassfish.ejb.startup.EjbApplication: java.util.Collection containers>;
v = interfaceinvoke v.<java.util.Collection: 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()>();
interfaceinvoke v.<com.sun.ejb.Container: void undeploy()>();
goto label;
label:
return;
}
private boolean resolveKeepStateOptions(org.glassfish.api.deployment.DeploymentContext, boolean, org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)
{
org.glassfish.api.deployment.OpsParams v, v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.api.deployment.DeploymentContext v;
java.lang.Boolean v, v;
com.sun.enterprise.deployment.Application v;
boolean v, v, v, v;
org.glassfish.ejb.startup.EjbApplication v;
v := @this: org.glassfish.ejb.startup.EjbApplication;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
v := @parameter: boolean;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v = null;
if v == 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.OpsParams getCommandParameters(java.lang.Class)>(class "Lorg/glassfish/api/deployment/DeployCommandParameters;");
if v == null goto label;
v = v.<org.glassfish.api.deployment.DeployCommandParameters: java.lang.Boolean isredeploy>;
v = v.<org.glassfish.api.deployment.DeployCommandParameters: java.lang.Boolean keepstate>;
goto label;
label:
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.OpsParams getCommandParameters(java.lang.Class)>(class "Lorg/glassfish/api/deployment/UndeployCommandParameters;");
if v == null goto label;
v = v.<org.glassfish.api.deployment.UndeployCommandParameters: java.lang.Boolean isredeploy>;
v = v.<org.glassfish.api.deployment.UndeployCommandParameters: java.lang.Boolean keepstate>;
label:
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
return 0;
label:
if v != null goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: com.sun.enterprise.deployment.Application getApplication()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: boolean getKeepState()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
label:
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
com.sun.enterprise.util.LocalStringManagerImpl v;
v = staticinvoke <com.sun.logging.LogDomains: java.util.logging.Logger getLogger(java.lang.Class,java.lang.String)>(class "Lorg/glassfish/ejb/startup/EjbApplication;", "jakarta.enterprise.system.container.ejb");
<org.glassfish.ejb.startup.EjbApplication: java.util.logging.Logger _logger> = v;
v = new com.sun.enterprise.util.LocalStringManagerImpl;
specialinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: void <init>(java.lang.Class)>(class "Lorg/glassfish/ejb/startup/EjbApplication;");
<org.glassfish.ejb.startup.EjbApplication: com.sun.enterprise.util.LocalStringManagerImpl localStrings> = v;
return;
}
}