public class org.glassfish.concurrent.runtime.TransactionSetupProviderImpl extends java.lang.Object implements org.glassfish.enterprise.concurrent.spi.TransactionSetupProvider
{
private static final long serialVersionUID;
private transient com.sun.enterprise.transaction.api.JavaEETransactionManager transactionManager;
private final boolean keepTransactionUnchanged;
private final boolean clearTransaction;
public void <init>(com.sun.enterprise.transaction.api.JavaEETransactionManager, boolean, boolean)
{
com.sun.enterprise.transaction.api.JavaEETransactionManager v;
org.glassfish.concurrent.runtime.TransactionSetupProviderImpl v;
boolean v, v;
v := @this: org.glassfish.concurrent.runtime.TransactionSetupProviderImpl;
v := @parameter: com.sun.enterprise.transaction.api.JavaEETransactionManager;
v := @parameter: boolean;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: com.sun.enterprise.transaction.api.JavaEETransactionManager transactionManager> = v;
v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: boolean keepTransactionUnchanged> = v;
v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: boolean clearTransaction> = v;
return;
}
public org.glassfish.enterprise.concurrent.spi.TransactionHandle beforeProxyMethod(java.lang.String)
{
java.lang.Throwable v;
jakarta.transaction.Transaction v;
org.glassfish.concurrent.runtime.TransactionHandleImpl v;
org.glassfish.concurrent.runtime.TransactionSetupProviderImpl v;
java.util.logging.Logger v;
java.util.logging.Level v;
com.sun.enterprise.transaction.api.JavaEETransactionManager v;
java.lang.Class v;
java.lang.String v, v, v;
boolean v, v, v;
v := @this: org.glassfish.concurrent.runtime.TransactionSetupProviderImpl;
v := @parameter: java.lang.String;
v = v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: boolean keepTransactionUnchanged>;
if v == 0 goto label;
return null;
label:
v = v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: boolean clearTransaction>;
if v != 0 goto label;
v = "USE_TRANSACTION_OF_EXECUTION_THREAD";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return null;
label:
v = v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: com.sun.enterprise.transaction.api.JavaEETransactionManager transactionManager>;
v = interfaceinvoke v.<com.sun.enterprise.transaction.api.JavaEETransactionManager: jakarta.transaction.Transaction suspend()>();
v = new org.glassfish.concurrent.runtime.TransactionHandleImpl;
specialinvoke v.<org.glassfish.concurrent.runtime.TransactionHandleImpl: void <init>(jakarta.transaction.Transaction)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
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);
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "", v);
return null;
catch jakarta.transaction.SystemException from label to label with label;
}
public void afterProxyMethod(org.glassfish.enterprise.concurrent.spi.TransactionHandle, java.lang.String)
{
java.lang.Throwable v;
jakarta.transaction.Transaction v;
org.glassfish.concurrent.runtime.TransactionSetupProviderImpl v;
java.util.logging.Logger v;
java.util.logging.Level v;
org.glassfish.enterprise.concurrent.spi.TransactionHandle v;
com.sun.enterprise.transaction.api.JavaEETransactionManager v;
java.lang.Class v;
java.lang.String v, v, v;
boolean v;
v := @this: org.glassfish.concurrent.runtime.TransactionSetupProviderImpl;
v := @parameter: org.glassfish.enterprise.concurrent.spi.TransactionHandle;
v := @parameter: java.lang.String;
v = v instanceof org.glassfish.concurrent.runtime.TransactionHandleImpl;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.concurrent.runtime.TransactionHandleImpl: jakarta.transaction.Transaction getTransaction()>();
if v == null goto label;
label:
v = v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: com.sun.enterprise.transaction.api.JavaEETransactionManager transactionManager>;
interfaceinvoke v.<com.sun.enterprise.transaction.api.JavaEETransactionManager: void resume(jakarta.transaction.Transaction)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
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);
v = <java.util.logging.Level: java.util.logging.Level SEVERE>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
return;
catch jakarta.transaction.InvalidTransactionException from label to label with label;
catch jakarta.transaction.SystemException from label to label with label;
}
private void writeObject(java.io.ObjectOutputStream) throws java.io.IOException
{
org.glassfish.concurrent.runtime.TransactionSetupProviderImpl v;
java.io.ObjectOutputStream v;
v := @this: org.glassfish.concurrent.runtime.TransactionSetupProviderImpl;
v := @parameter: java.io.ObjectOutputStream;
virtualinvoke v.<java.io.ObjectOutputStream: void defaultWriteObject()>();
return;
}
private void readObject(java.io.ObjectInputStream) throws java.lang.ClassNotFoundException, java.io.IOException
{
com.sun.enterprise.transaction.api.JavaEETransactionManager v;
java.io.ObjectInputStream v;
org.glassfish.concurrent.runtime.TransactionSetupProviderImpl v;
org.glassfish.concurrent.runtime.ConcurrentRuntime v;
v := @this: org.glassfish.concurrent.runtime.TransactionSetupProviderImpl;
v := @parameter: java.io.ObjectInputStream;
virtualinvoke v.<java.io.ObjectInputStream: void defaultReadObject()>();
v = staticinvoke <org.glassfish.concurrent.runtime.ConcurrentRuntime: org.glassfish.concurrent.runtime.ConcurrentRuntime getRuntime()>();
v = virtualinvoke v.<org.glassfish.concurrent.runtime.ConcurrentRuntime: com.sun.enterprise.transaction.api.JavaEETransactionManager getTransactionManager()>();
v.<org.glassfish.concurrent.runtime.TransactionSetupProviderImpl: com.sun.enterprise.transaction.api.JavaEETransactionManager transactionManager> = v;
return;
}
}