public class org.glassfish.concurrent.runtime.InvocationContext extends java.lang.Object implements org.glassfish.enterprise.concurrent.spi.ContextHandle
{
private static final java.lang.System$Logger LOG;
private transient org.glassfish.api.invocation.ComponentInvocation invocation;
private transient java.lang.ClassLoader contextClassLoader;
private transient com.sun.enterprise.security.SecurityContext securityContext;
private org.glassfish.concurrent.runtime.ThreadMgmtData threadCtxData;
private final boolean useTxOfExecutionThread;
public void <init>(org.glassfish.api.invocation.ComponentInvocation, java.lang.ClassLoader, com.sun.enterprise.security.SecurityContext, boolean, org.glassfish.concurrent.runtime.ThreadMgmtData)
{
java.lang.System$Logger v;
java.lang.Object[] v;
org.glassfish.concurrent.runtime.InvocationContext v;
org.glassfish.concurrent.runtime.ThreadMgmtData v;
org.glassfish.api.invocation.ComponentInvocation v;
java.lang.System$Logger$Level v;
com.sun.enterprise.security.SecurityContext v;
java.lang.ClassLoader v;
boolean v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v := @parameter: org.glassfish.api.invocation.ComponentInvocation;
v := @parameter: java.lang.ClassLoader;
v := @parameter: com.sun.enterprise.security.SecurityContext;
v := @parameter: boolean;
v := @parameter: org.glassfish.concurrent.runtime.ThreadMgmtData;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.glassfish.concurrent.runtime.InvocationContext: java.lang.System$Logger LOG>;
v = <java.lang.System$Logger$Level: java.lang.System$Logger$Level TRACE>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<java.lang.System$Logger: void log(java.lang.System$Logger$Level,java.lang.String,java.lang.Object[])>(v, "InvocationContext(\n  invocation={0}\n  contextClassLoader={1}\n  securityContext={2}\n  useTxOfExecutionThread={3}\n  threadCtxData={4}\n)", v);
v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation> = v;
v.<org.glassfish.concurrent.runtime.InvocationContext: java.lang.ClassLoader contextClassLoader> = v;
v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext> = v;
v.<org.glassfish.concurrent.runtime.InvocationContext: boolean useTxOfExecutionThread> = v;
v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.concurrent.runtime.ThreadMgmtData threadCtxData> = v;
return;
}
public org.glassfish.api.invocation.ComponentInvocation getInvocation()
{
org.glassfish.concurrent.runtime.InvocationContext v;
org.glassfish.api.invocation.ComponentInvocation v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation>;
return v;
}
public java.lang.ClassLoader getContextClassLoader()
{
org.glassfish.concurrent.runtime.InvocationContext v;
java.lang.ClassLoader v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: java.lang.ClassLoader contextClassLoader>;
return v;
}
public com.sun.enterprise.security.SecurityContext getSecurityContext()
{
org.glassfish.concurrent.runtime.InvocationContext v;
com.sun.enterprise.security.SecurityContext v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
return v;
}
public org.glassfish.concurrent.runtime.ThreadMgmtData getContextData()
{
org.glassfish.concurrent.runtime.InvocationContext v;
org.glassfish.concurrent.runtime.ThreadMgmtData v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.concurrent.runtime.ThreadMgmtData threadCtxData>;
return v;
}
public boolean isUseTransactionOfExecutionThread()
{
org.glassfish.concurrent.runtime.InvocationContext v;
boolean v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: boolean useTxOfExecutionThread>;
return v;
}
private void writeObject(java.io.ObjectOutputStream) throws java.io.IOException
{
org.glassfish.api.invocation.ComponentInvocation v, v, v, v;
java.io.ObjectOutputStream v;
com.sun.enterprise.security.SecurityContext v, v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v;
java.util.Set v;
org.glassfish.concurrent.runtime.InvocationContext v;
javax.security.auth.Subject v;
org.glassfish.concurrent.runtime.ThreadMgmtData v;
java.security.Principal v, v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v := @parameter: java.io.ObjectOutputStream;
v = null;
v = null;
v = null;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation>;
if v == null goto label;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation>;
v = virtualinvoke v.<org.glassfish.api.invocation.ComponentInvocation: java.lang.String getComponentId()>();
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation>;
v = virtualinvoke v.<org.glassfish.api.invocation.ComponentInvocation: java.lang.String getAppName()>();
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation>;
v = virtualinvoke v.<org.glassfish.api.invocation.ComponentInvocation: java.lang.String getModuleName()>();
label:
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
v = null;
v = 0;
v = null;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
if v == null goto label;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
v = virtualinvoke v.<com.sun.enterprise.security.SecurityContext: java.security.Principal getCallerPrincipal()>();
if v == null goto label;
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
v = virtualinvoke v.<com.sun.enterprise.security.SecurityContext: java.security.Principal getCallerPrincipal()>();
v = interfaceinvoke v.<java.security.Principal: java.lang.String getName()>();
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
v = virtualinvoke v.<com.sun.enterprise.security.SecurityContext: javax.security.auth.Subject getSubject()>();
v = virtualinvoke v.<javax.security.auth.Subject: java.util.Set getPrincipals()>();
interfaceinvoke v.<java.util.Set: void clear()>();
label:
v = v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext>;
v = staticinvoke <com.sun.enterprise.security.SecurityContext: com.sun.enterprise.security.SecurityContext getDefaultSecurityContext()>();
if v != v goto label;
v = 1;
label:
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
virtualinvoke v.<java.io.ObjectOutputStream: void writeBoolean(boolean)>(v);
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
v = v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.concurrent.runtime.ThreadMgmtData threadCtxData>;
virtualinvoke v.<java.io.ObjectOutputStream: void writeObject(java.lang.Object)>(v);
return;
}
private void readObject(java.io.ObjectInputStream) throws java.io.IOException, java.lang.ClassNotFoundException
{
java.io.ObjectInputStream v;
org.glassfish.api.invocation.ComponentInvocation v;
com.sun.enterprise.security.SecurityContext v, v;
org.glassfish.concurrent.runtime.ConcurrentRuntime v;
boolean v;
org.glassfish.concurrent.runtime.InvocationContext v;
org.glassfish.internal.data.ApplicationInfo v;
org.glassfish.internal.data.ApplicationRegistry v;
java.lang.Object v, v, v, v, v, v;
java.lang.ClassLoader v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v := @parameter: java.io.ObjectInputStream;
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
v = specialinvoke v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation createComponentInvocation(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.api.invocation.ComponentInvocation invocation> = v;
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
v = virtualinvoke v.<java.io.ObjectInputStream: boolean readBoolean()>();
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
if v == null goto label;
if v == 0 goto label;
v = staticinvoke <com.sun.enterprise.security.SecurityContext: com.sun.enterprise.security.SecurityContext getDefaultSecurityContext()>();
v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext> = v;
goto label;
label:
v = new com.sun.enterprise.security.SecurityContext;
specialinvoke v.<com.sun.enterprise.security.SecurityContext: void <init>(java.lang.String,javax.security.auth.Subject,java.lang.String)>(v, v, null);
v.<org.glassfish.concurrent.runtime.InvocationContext: com.sun.enterprise.security.SecurityContext securityContext> = v;
label:
v = staticinvoke <org.glassfish.concurrent.runtime.ConcurrentRuntime: org.glassfish.concurrent.runtime.ConcurrentRuntime getRuntime()>();
v = virtualinvoke v.<org.glassfish.concurrent.runtime.ConcurrentRuntime: org.glassfish.internal.data.ApplicationRegistry getApplicationRegistry()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationRegistry: org.glassfish.internal.data.ApplicationInfo get(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.ClassLoader getAppClassLoader()>();
v.<org.glassfish.concurrent.runtime.InvocationContext: java.lang.ClassLoader contextClassLoader> = v;
label:
v = virtualinvoke v.<java.io.ObjectInputStream: java.lang.Object readObject()>();
v.<org.glassfish.concurrent.runtime.InvocationContext: org.glassfish.concurrent.runtime.ThreadMgmtData threadCtxData> = v;
return;
}
private org.glassfish.api.invocation.ComponentInvocation createComponentInvocation(java.lang.String, java.lang.String, java.lang.String)
{
org.glassfish.concurrent.runtime.InvocationContext v;
java.lang.String v, v, v;
org.glassfish.api.invocation.ComponentInvocation v;
org.glassfish.api.invocation.ComponentInvocation$ComponentInvocationType v;
v := @this: org.glassfish.concurrent.runtime.InvocationContext;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
if v != null goto label;
if v != null goto label;
return null;
label:
v = new org.glassfish.api.invocation.ComponentInvocation;
v = <org.glassfish.api.invocation.ComponentInvocation$ComponentInvocationType: org.glassfish.api.invocation.ComponentInvocation$ComponentInvocationType SERVLET_INVOCATION>;
specialinvoke v.<org.glassfish.api.invocation.ComponentInvocation: void <init>(java.lang.String,org.glassfish.api.invocation.ComponentInvocation$ComponentInvocationType,java.lang.Object,java.lang.String,java.lang.String)>(v, v, null, v, v);
return v;
}
static void <clinit>()
{
java.lang.System$Logger v;
java.lang.Class v;
java.lang.String v;
v = class "Lorg/glassfish/concurrent/runtime/InvocationContext;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.lang.System: java.lang.System$Logger getLogger(java.lang.String)>(v);
<org.glassfish.concurrent.runtime.InvocationContext: java.lang.System$Logger LOG> = v;
return;
}
}