public class org.glassfish.admin.rest.adapter.JerseyContainerCommandService extends java.lang.Object implements org.glassfish.hk.api.PostConstruct
{
protected org.glassfish.hk.api.ServiceLocator habitat;
private org.glassfish.internal.api.InternalSystemAdministrator kernelIdentity;
private java.util.concurrent.Future future;
public void <init>()
{
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: java.util.concurrent.Future future> = null;
return;
}
public void postConstruct()
{
org.glassfish.admin.rest.adapter.JerseyContainerCommandService$2 v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService$1 v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
java.util.concurrent.Future v;
java.lang.Boolean v;
java.lang.String v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
v = staticinvoke <java.lang.System: java.lang.String getenv(java.lang.String)>("AS_INIT_REST_EAGER");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newFixedThreadPool(int)>(2);
v = new org.glassfish.admin.rest.adapter.JerseyContainerCommandService$1;
specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService$1: void <init>(org.glassfish.admin.rest.adapter.JerseyContainerCommandService)>(v);
v = interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.util.concurrent.Callable)>(v);
v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: java.util.concurrent.Future future> = v;
v = new org.glassfish.admin.rest.adapter.JerseyContainerCommandService$2;
specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService$2: void <init>(org.glassfish.admin.rest.adapter.JerseyContainerCommandService)>(v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: void execute(java.lang.Runnable)>(v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: void shutdown()>();
label:
return;
}
public org.glassfish.admin.rest.adapter.JerseyContainer getJerseyContainer() throws org.glassfish.api.container.EndpointRegistrationException
{
java.lang.Throwable v;
org.glassfish.admin.rest.adapter.JerseyContainer v, v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
java.util.logging.Logger v;
java.util.logging.Level v;
java.util.concurrent.ExecutionException v;
java.util.concurrent.Future v, v;
java.lang.InterruptedException v;
org.glassfish.api.container.EndpointRegistrationException v;
java.lang.Object v;
boolean v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
label:
v = v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: java.util.concurrent.Future future>;
if v != null goto label;
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.admin.rest.adapter.JerseyContainer exposeContext()>();
label:
return v;
label:
v = v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: java.util.concurrent.Future future>;
v = interfaceinvoke v.<java.util.concurrent.Future: java.lang.Object get()>();
label:
return v;
label:
v := @caughtexception;
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.admin.rest.adapter.JerseyContainer exposeContext()>();
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.util.concurrent.ExecutionException: java.lang.Throwable getCause()>();
v = v instanceof org.glassfish.api.container.EndpointRegistrationException;
if v == 0 goto label;
throw v;
label:
v = <org.glassfish.admin.rest.RestLogging: java.util.logging.Logger restLogger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "NCLS-REST-00015", v);
return null;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.util.concurrent.ExecutionException from label to label with label;
catch java.util.concurrent.ExecutionException from label to label with label;
}
private org.glassfish.internal.api.ServerContext getServerContext()
{
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
java.lang.Object v;
java.lang.'annotation'.Annotation[] v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
v = v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: 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 "Lorg/glassfish/internal/api/ServerContext;", v);
return v;
}
private org.glassfish.admin.rest.adapter.JerseyContainer exposeContext() throws org.glassfish.api.container.EndpointRegistrationException
{
java.lang.Throwable v;
java.lang.Thread v, v, v, v;
org.glassfish.jersey.server.ResourceConfig v;
org.glassfish.admin.rest.adapter.JerseyContainer v;
java.util.Set v, v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
org.glassfish.admin.rest.adapter.RestCommandResourceProvider v;
org.glassfish.internal.api.ServerContext v, v;
java.lang.ClassLoader v, v;
org.glassfish.hk.api.ServiceLocator v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
v = staticinvoke <org.glassfish.admin.rest.adapter.RestCommandResourceProvider: java.util.Set getResourceClasses()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
label:
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.internal.api.ServerContext getServerContext()>();
v = interfaceinvoke v.<org.glassfish.internal.api.ServerContext: java.lang.ClassLoader getCommonClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
v = new org.glassfish.admin.rest.adapter.RestCommandResourceProvider;
specialinvoke v.<org.glassfish.admin.rest.adapter.RestCommandResourceProvider: void <init>()>();
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.internal.api.ServerContext getServerContext()>();
v = v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.hk.api.ServiceLocator habitat>;
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: java.util.Set getAdditionalBinders()>();
v = virtualinvoke v.<org.glassfish.admin.rest.adapter.RestCommandResourceProvider: org.glassfish.jersey.server.ResourceConfig getResourceConfig(java.util.Set,org.glassfish.internal.api.ServerContext,org.glassfish.hk.api.ServiceLocator,java.util.Set)>(v, v, v, v);
v = specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService: org.glassfish.admin.rest.adapter.JerseyContainer getJerseyContainer(org.glassfish.jersey.server.ResourceConfig)>(v);
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
return v;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
private org.glassfish.admin.rest.adapter.JerseyContainer getJerseyContainer(org.glassfish.jersey.server.ResourceConfig)
{
java.lang.Throwable v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService$3 v;
org.glassfish.jersey.server.ResourceConfig v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
java.lang.Object v;
org.glassfish.admin.rest.adapter.AdminJerseyServiceIteratorProvider v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
v := @parameter: org.glassfish.jersey.server.ResourceConfig;
v = new org.glassfish.admin.rest.adapter.AdminJerseyServiceIteratorProvider;
specialinvoke v.<org.glassfish.admin.rest.adapter.AdminJerseyServiceIteratorProvider: void <init>()>();
label:
staticinvoke <org.glassfish.jersey.internal.ServiceFinder: void setIteratorProvider(org.glassfish.jersey.internal.ServiceFinder$ServiceIteratorProvider)>(v);
v = staticinvoke <org.glassfish.jersey.server.ContainerFactory: java.lang.Object createContainer(java.lang.Class,jakarta.ws.rs.core.Application)>(class "Lorg/glassfish/grizzly/http/server/HttpHandler;", v);
v = new org.glassfish.admin.rest.adapter.JerseyContainerCommandService$3;
specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService$3: void <init>(org.glassfish.admin.rest.adapter.JerseyContainerCommandService,org.glassfish.grizzly.http.server.HttpHandler)>(v, v);
label:
virtualinvoke v.<org.glassfish.admin.rest.adapter.AdminJerseyServiceIteratorProvider: void disable()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<org.glassfish.admin.rest.adapter.AdminJerseyServiceIteratorProvider: void disable()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
private java.util.Set getAdditionalBinders()
{
java.util.Set v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService v;
org.glassfish.admin.rest.adapter.JerseyContainerCommandService$4 v;
v := @this: org.glassfish.admin.rest.adapter.JerseyContainerCommandService;
v = new org.glassfish.admin.rest.adapter.JerseyContainerCommandService$4;
specialinvoke v.<org.glassfish.admin.rest.adapter.JerseyContainerCommandService$4: void <init>(org.glassfish.admin.rest.adapter.JerseyContainerCommandService)>(v);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
return v;
}
}