public class org.glassfish.appclient.client.acc.AppClientContainer extends java.lang.Object
{
public static final java.lang.String APPCLIENT_RETAIN_TEMP_FILES_PROPERTYNAME;
private static final java.util.logging.Logger logger;
private static final java.util.logging.Logger _logger;
private org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper secHelper;
private com.sun.enterprise.container.common.spi.util.InjectionManager injectionManager;
private org.glassfish.api.invocation.InvocationManager invocationManager;
private com.sun.enterprise.container.common.spi.util.ComponentEnvManager componentEnvManager;
private com.sun.appserv.connectors.internal.api.ConnectorRuntime connectorRuntime;
private org.glassfish.hk.api.ServiceLocator habitat;
private org.glassfish.appclient.client.acc.AppClientContainer$Builder builder;
private org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup;
private org.glassfish.appclient.client.acc.AppClientContainer$State state;
private org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting clientMainClassSetting;
private java.net.URLClassLoader classLoader;
private org.glassfish.appclient.client.acc.Launchable client;
private javax.security.auth.callback.CallbackHandler callerSuppliedCallbackHandler;
private java.lang.String componentId;
public void <init>()
{
java.lang.Thread v;
org.glassfish.appclient.client.acc.AppClientContainer$State v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.ClassLoader v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State INSTANTIATED>;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state> = v;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader> = v;
return;
}
public static org.glassfish.appclient.client.acc.AppClientContainer$Builder newBuilder(org.glassfish.appclient.client.acc.config.TargetServer[])
{
org.glassfish.appclient.client.acc.AppClientContainerBuilder v;
org.glassfish.appclient.client.acc.config.TargetServer[] v;
v := @parameter: org.glassfish.appclient.client.acc.config.TargetServer[];
v = new org.glassfish.appclient.client.acc.AppClientContainerBuilder;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerBuilder: void <init>(org.glassfish.appclient.client.acc.config.TargetServer[])>(v);
return v;
}
public void startClient(java.lang.String[]) throws java.lang.Exception, org.glassfish.appclient.client.acc.UserError
{
java.lang.String[] v;
org.glassfish.appclient.client.acc.AppClientContainer v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.String[];
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void prepare(java.lang.instrument.Instrumentation)>(null);
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void launch(java.lang.String[])>(v);
return;
}
void prepareSecurity(org.glassfish.appclient.client.acc.config.TargetServer[], java.util.List, java.util.Properties, org.glassfish.appclient.client.acc.config.ClientCredential, javax.security.auth.callback.CallbackHandler, java.net.URLClassLoader, boolean) throws java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException, java.lang.ClassNotFoundException, java.io.IOException, org.xml.sax.SAXException
{
java.util.Properties v;
org.glassfish.appclient.client.acc.Launchable v;
org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper v;
java.net.URLClassLoader v;
java.util.List v;
javax.security.auth.callback.CallbackHandler v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
org.glassfish.appclient.client.acc.AppClientContainer v;
org.glassfish.appclient.client.acc.config.ClientCredential v;
org.glassfish.appclient.client.acc.config.TargetServer[] v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: org.glassfish.appclient.client.acc.config.TargetServer[];
v := @parameter: java.util.List;
v := @parameter: java.util.Properties;
v := @parameter: org.glassfish.appclient.client.acc.config.ClientCredential;
v := @parameter: javax.security.auth.callback.CallbackHandler;
v := @parameter: java.net.URLClassLoader;
v := @parameter: boolean;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper secHelper>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client>;
v = interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: com.sun.enterprise.deployment.ApplicationClientDescriptor getDescriptor(java.net.URLClassLoader)>(v);
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainerSecurityHelper: void init(org.glassfish.appclient.client.acc.config.TargetServer[],java.util.List,java.util.Properties,org.glassfish.appclient.client.acc.config.ClientCredential,javax.security.auth.callback.CallbackHandler,java.lang.ClassLoader,com.sun.enterprise.deployment.ApplicationClientDescriptor,boolean)>(v, v, v, v, v, v, v, v);
return;
}
void setCallbackHandler(javax.security.auth.callback.CallbackHandler)
{
org.glassfish.appclient.client.acc.AppClientContainer v;
javax.security.auth.callback.CallbackHandler v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: javax.security.auth.callback.CallbackHandler;
v.<org.glassfish.appclient.client.acc.AppClientContainer: javax.security.auth.callback.CallbackHandler callerSuppliedCallbackHandler> = v;
return;
}
void setBuilder(org.glassfish.appclient.client.acc.AppClientContainer$Builder)
{
org.glassfish.appclient.client.acc.AppClientContainer v;
org.glassfish.appclient.client.acc.AppClientContainer$Builder v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: org.glassfish.appclient.client.acc.AppClientContainer$Builder;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Builder builder> = v;
return;
}
public void prepare(java.lang.instrument.Instrumentation) throws javax.naming.NamingException, java.io.IOException, java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException, java.lang.ClassNotFoundException, org.xml.sax.SAXException, java.lang.NoSuchMethodException, org.glassfish.appclient.client.acc.UserError
{
java.lang.instrument.Instrumentation v;
org.glassfish.appclient.client.acc.AppClientContainer v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.instrument.Instrumentation;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void completePreparation(java.lang.instrument.Instrumentation)>(v);
return;
}
void setClient(org.glassfish.appclient.client.acc.Launchable) throws java.lang.ClassNotFoundException
{
org.glassfish.appclient.client.acc.Launchable v;
java.lang.Class v;
org.glassfish.appclient.client.acc.AppClientContainer v;
org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: org.glassfish.appclient.client.acc.Launchable;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client> = v;
v = interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: java.lang.Class getMainClass()>();
v = staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting set(java.lang.Class)>(v);
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting clientMainClassSetting> = v;
return;
}
void processPermissions() throws java.io.IOException
{
java.net.URLClassLoader v, v;
org.glassfish.appclient.client.acc.AppClientContainer v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
v = v instanceof org.glassfish.appclient.client.acc.ACCClassLoader;
if v == 0 goto label;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
virtualinvoke v.<org.glassfish.appclient.client.acc.ACCClassLoader: void processDeclaredPermissions()>();
label:
return;
}
protected java.lang.Class loadClass(java.lang.String) throws java.lang.ClassNotFoundException
{
java.net.URLClassLoader v;
java.lang.Class v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.String v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.String;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>(v, 1, v);
return v;
}
protected java.lang.ClassLoader getClassLoader()
{
java.net.URLClassLoader v;
org.glassfish.appclient.client.acc.AppClientContainer v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
return v;
}
private void completePreparation(java.lang.instrument.Instrumentation) throws javax.naming.NamingException, java.io.IOException, java.lang.InstantiationException, java.lang.IllegalAccessException, com.sun.enterprise.container.common.spi.util.InjectionException, java.lang.ClassNotFoundException, org.xml.sax.SAXException, java.lang.NoSuchMethodException, org.glassfish.appclient.client.acc.UserError
{
java.lang.IllegalStateException v;
org.glassfish.appclient.client.acc.AppClientContainer$State v, v, v;
org.glassfish.appclient.client.acc.ProviderContainerContractInfoImpl v;
java.net.URLClassLoader v;
boolean v, v;
java.util.Collection v, v;
org.glassfish.appclient.client.acc.Launchable v, v, v;
java.util.logging.Logger v;
jakarta.persistence.EntityManagerFactory v;
com.sun.enterprise.deployment.Application v;
java.lang.ClassLoader v;
org.glassfish.hk.api.ServiceLocator v, v;
com.sun.enterprise.container.common.spi.util.ComponentEnvManager v;
java.lang.'annotation'.Annotation[] v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.String v, v, v;
java.util.Iterator v;
com.sun.appserv.connectors.internal.api.ConnectorRuntime v, v;
org.glassfish.appclient.client.acc.AppClientContainer$Cleanup v, v, v, v, v;
java.lang.instrument.Instrumentation v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
com.sun.enterprise.container.common.spi.util.InjectionManager v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.instrument.Instrumentation;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state>;
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State INSTANTIATED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client>;
interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: void validateDescriptor()>();
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
v = interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: com.sun.enterprise.deployment.ApplicationClientDescriptor getDescriptor(java.net.URLClassLoader)>(v);
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: com.sun.enterprise.container.common.spi.util.ComponentEnvManager componentEnvManager>;
v = interfaceinvoke v.<com.sun.enterprise.container.common.spi.util.ComponentEnvManager: java.lang.String bindToComponentNamespace(com.sun.enterprise.deployment.JndiNameEnvironment)>(v);
v.<org.glassfish.appclient.client.acc.AppClientContainer: java.lang.String componentId> = v;
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.hk.api.ServiceLocator habitat>;
v = staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup arrangeForShutdownCleanup(java.util.logging.Logger,org.glassfish.hk.api.ServiceLocator,com.sun.enterprise.deployment.ApplicationClientDescriptor)>(v, v, v);
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup> = v;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: com.sun.enterprise.container.common.spi.util.InjectionManager injectionManager>;
v = <org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting: java.lang.Class clientMainClass>;
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: void setInjectionManager(com.sun.enterprise.container.common.spi.util.InjectionManager,java.lang.Class)>(v, v);
v = virtualinvoke v.<com.sun.enterprise.deployment.ApplicationClientDescriptor: java.util.Collection findReferencedPUs()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = new org.glassfish.appclient.client.acc.ProviderContainerContractInfoImpl;
v = virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: java.lang.ClassLoader getClassLoader()>();
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client>;
v = interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: java.lang.String getAnchorDir()>();
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: com.sun.appserv.connectors.internal.api.ConnectorRuntime connectorRuntime>;
specialinvoke v.<org.glassfish.appclient.client.acc.ProviderContainerContractInfoImpl: void <init>(org.glassfish.appclient.client.acc.ACCClassLoader,java.lang.instrument.Instrumentation,java.lang.String,com.sun.appserv.connectors.internal.api.ConnectorRuntime)>(v, v, v, v);
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 = new org.glassfish.persistence.jpa.PersistenceUnitLoader;
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: void <init>(com.sun.enterprise.deployment.PersistenceUnitDescriptor,org.glassfish.persistence.jpa.ProviderContainerContractInfo)>(v, v);
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getName()>();
v = virtualinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: jakarta.persistence.EntityManagerFactory getEMF()>();
virtualinvoke v.<com.sun.enterprise.deployment.ApplicationClientDescriptor: void addEntityManagerFactory(java.lang.String,jakarta.persistence.EntityManagerFactory)>(v, v);
goto label;
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup>;
v = virtualinvoke v.<org.glassfish.appclient.client.acc.ProviderContainerContractInfoImpl: java.util.Collection emfs()>();
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: void setEMFs(java.util.Collection)>(v);
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: com.sun.appserv.connectors.internal.api.ConnectorRuntime connectorRuntime>;
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: void setConnectorRuntime(com.sun.appserv.connectors.internal.api.ConnectorRuntime)>(v);
staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer: void prepareURLStreamHandling()>();
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("jakarta.xml.ws.spi.Provider", "com.sun.xml.ws.spi.ProviderImpl");
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.hk.api.ServiceLocator habitat>;
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/container/common/spi/ManagedBeanManager;", v);
v = virtualinvoke v.<com.sun.enterprise.deployment.ApplicationClientDescriptor: com.sun.enterprise.deployment.Application getApplication()>();
interfaceinvoke v.<com.sun.enterprise.container.common.spi.ManagedBeanManager: void loadManagedBeans(com.sun.enterprise.deployment.Application)>(v);
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup>;
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: void setManagedBeanManager(com.sun.enterprise.container.common.spi.ManagedBeanManager)>(v);
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: java.lang.reflect.Method getMainMethod()>();
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State PREPARED>;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state> = v;
return;
}
public void launch(java.lang.String[]) throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.io.IOException, org.xml.sax.SAXException, com.sun.enterprise.container.common.spi.util.InjectionException, org.glassfish.appclient.client.acc.UserError
{
java.lang.IllegalStateException v;
java.lang.Object[] v;
org.glassfish.appclient.client.acc.AppClientContainer$State v, v, v;
java.lang.String[] v;
java.util.logging.Logger v;
java.util.logging.Level v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.reflect.Method v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.String[];
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state>;
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State PREPARED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
v = specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: java.lang.reflect.Method getMainMethod()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void dumpLoaderURLs()>();
label:
virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(null, v);
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State STARTED>;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state> = v;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void cleanupWhenSafe()>();
return;
}
private boolean isEDTRunning()
{
java.util.logging.Level v, v;
int v, v, v;
java.lang.StackTraceElement v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.String v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
org.glassfish.appclient.client.acc.AppClientContainer$1 v;
java.util.Set v;
java.util.logging.Logger v, v, v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = new org.glassfish.appclient.client.acc.AppClientContainer$1;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$1: void <init>(org.glassfish.appclient.client.acc.AppClientContainer)>(v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("Checking for EDT thread...");
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.String toString()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "  {0}", v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = lengthof v;
if v <= 0 goto label;
v = lengthof v;
v = v - 1;
v = v[v];
v = virtualinvoke v.<java.lang.StackTraceElement: java.lang.String getClassName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("java.awt.EventDispatchThread");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StackTraceElement: java.lang.String getMethodName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("run");
if v == 0 goto label;
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.String toString()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Thread {0} seems to be the EDT", v);
return 1;
label:
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("Did not recognize any thread as the EDT");
goto label;
label:
return 0;
}
private void cleanupWhenSafe()
{
org.glassfish.appclient.client.acc.AppClientContainer$2 v;
java.lang.Object v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.Exception v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: boolean isEDTRunning()>();
if v == 0 goto label;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
label:
v = new org.glassfish.appclient.client.acc.AppClientContainer$2;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$2: void <init>(org.glassfish.appclient.client.acc.AppClientContainer,java.util.concurrent.atomic.AtomicReference)>(v, v);
staticinvoke <javax.swing.SwingUtilities: void invokeAndWait(java.lang.Runnable)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
virtualinvoke v.<java.lang.Thread: void join()>();
label:
goto label;
label:
v := @caughtexception;
label:
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer: void stop()>();
return;
catch java.lang.Exception from label to label with label;
}
private void dumpLoaderURLs()
{
java.net.URL v;
java.util.logging.Logger v;
java.net.URL[] v;
java.lang.Thread v;
int v, v;
java.lang.StringBuilder v, v, v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.ClassLoader v;
java.lang.String v, v, v;
boolean v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = staticinvoke <java.lang.System: java.lang.String lineSeparator()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = v instanceof org.glassfish.appclient.client.acc.ACCClassLoader;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.appclient.client.acc.ACCClassLoader: java.net.URL[] getURLs()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Class loader URLs:");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  ");
v = virtualinvoke v.<java.net.URL: java.lang.String toExternalForm()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
return;
}
private java.lang.reflect.Method getMainMethod() throws java.lang.NoSuchMethodException, java.lang.ClassNotFoundException, java.io.IOException, org.xml.sax.SAXException, com.sun.enterprise.container.common.spi.util.InjectionException, org.glassfish.appclient.client.acc.UserError
{
org.glassfish.api.invocation.InvocationManager v;
java.lang.Object[] v, v;
java.lang.NoSuchMethodException v, v;
java.net.URLClassLoader v, v;
java.util.ResourceBundle v, v;
int v;
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.String v, v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v;
org.glassfish.appclient.client.acc.Launchable v;
java.lang.Class[] v;
java.util.logging.Logger v, v;
com.sun.enterprise.deployment.ApplicationClientDescriptor v;
com.sun.enterprise.container.common.spi.util.InjectionManager v;
java.lang.Class v, v, v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: com.sun.enterprise.container.common.spi.util.InjectionManager injectionManager>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.api.invocation.InvocationManager invocationManager>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.lang.String componentId>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.Launchable client>;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader>;
v = interfaceinvoke v.<org.glassfish.appclient.client.acc.Launchable: com.sun.enterprise.deployment.ApplicationClientDescriptor getDescriptor(java.net.URLClassLoader)>(v);
v = staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting: java.lang.Class getClientMainClass(java.lang.ClassLoader,com.sun.enterprise.container.common.spi.util.InjectionManager,org.glassfish.api.invocation.InvocationManager,java.lang.String,org.glassfish.appclient.client.acc.AppClientContainer,com.sun.enterprise.deployment.ApplicationClientDescriptor)>(v, v, v, v, v, v);
v = newarray (java.lang.Class)[1];
v[0] = class "[Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("main", v);
v = virtualinvoke v.<java.lang.reflect.Method: int getModifiers()>();
v = staticinvoke <java.lang.reflect.Modifier: boolean isPublic(int)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.reflect.Modifier: boolean isStatic(int)>(v);
if v != 0 goto label;
label:
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = virtualinvoke v.<java.util.logging.Logger: java.util.ResourceBundle getResourceBundle()>();
v = virtualinvoke v.<java.util.ResourceBundle: java.lang.String getString(java.lang.String)>("appclient.notPublicOrNotStatic");
v = (java.lang.Object[]) null;
v = staticinvoke <java.text.MessageFormat: java.lang.String format(java.lang.String,java.lang.Object[])>(v, v);
v = new java.lang.NoSuchMethodException;
specialinvoke v.<java.lang.NoSuchMethodException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = <java.lang.Void: java.lang.Class TYPE>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger>;
v = virtualinvoke v.<java.util.logging.Logger: java.util.ResourceBundle getResourceBundle()>();
v = virtualinvoke v.<java.util.ResourceBundle: java.lang.String getString(java.lang.String)>("appclient.notVoid");
v = (java.lang.Object[]) null;
v = staticinvoke <java.text.MessageFormat: java.lang.String format(java.lang.String,java.lang.Object[])>(v, v);
v = new java.lang.NoSuchMethodException;
specialinvoke v.<java.lang.NoSuchMethodException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public void stop()
{
java.lang.IllegalStateException v;
org.glassfish.appclient.client.acc.AppClientContainer$Cleanup v;
org.glassfish.appclient.client.acc.AppClientContainer$State v, v, v, v, v;
org.glassfish.appclient.client.acc.AppClientContainer v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state>;
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State STOPPED>;
if v != v goto label;
return;
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state>;
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State STARTED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
v = v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$Cleanup cleanup>;
virtualinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$Cleanup: void start()>();
v = <org.glassfish.appclient.client.acc.AppClientContainer$State: org.glassfish.appclient.client.acc.AppClientContainer$State STOPPED>;
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$State state> = v;
return;
}
public void setClientMainClassName(java.lang.String) throws java.lang.ClassNotFoundException
{
org.glassfish.appclient.client.acc.AppClientContainer v;
java.lang.String v;
org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting set(java.lang.String)>(v);
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting clientMainClassSetting> = v;
return;
}
void setClientMainClass(java.lang.Class)
{
java.lang.Class v;
org.glassfish.appclient.client.acc.AppClientContainer v;
org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: java.lang.Class;
v = staticinvoke <org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting set(java.lang.Class)>(v);
v.<org.glassfish.appclient.client.acc.AppClientContainer: org.glassfish.appclient.client.acc.AppClientContainer$ClientMainClassSetting clientMainClassSetting> = v;
return;
}
private static void prepareURLStreamHandling()
{
org.glassfish.appclient.client.acc.AppClientContainer$3 v;
v = new org.glassfish.appclient.client.acc.AppClientContainer$3;
specialinvoke v.<org.glassfish.appclient.client.acc.AppClientContainer$3: void <init>()>();
staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return;
}
void setClassLoader(org.glassfish.appclient.client.acc.ACCClassLoader)
{
org.glassfish.appclient.client.acc.ACCClassLoader v;
org.glassfish.appclient.client.acc.AppClientContainer v;
v := @this: org.glassfish.appclient.client.acc.AppClientContainer;
v := @parameter: org.glassfish.appclient.client.acc.ACCClassLoader;
v.<org.glassfish.appclient.client.acc.AppClientContainer: java.net.URLClassLoader classLoader> = v;
return;
}
static void <clinit>()
{
java.lang.Class v;
java.lang.String v;
java.util.logging.Logger v, v;
v = staticinvoke <com.sun.logging.LogDomains: java.util.logging.Logger getLogger(java.lang.Class,java.lang.String)>(class "Lorg/glassfish/appclient/client/acc/AppClientContainer;", "jakarta.enterprise.system.container.appclient");
<org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger logger> = v;
v = class "Lorg/glassfish/appclient/client/acc/AppClientContainer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.glassfish.appclient.client.acc.AppClientContainer: java.util.logging.Logger _logger> = v;
return;
}
}