public class org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager extends org.springframework.transaction.support.AbstractPlatformTransactionManager implements org.springframework.transaction.support.ResourceTransactionManager, org.springframework.beans.factory.InitializingBean
{
private javax.jdo.PersistenceManagerFactory persistenceManagerFactory;
private javax.sql.DataSource dataSource;
private boolean autodetectDataSource;
private org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect;
public void <init>()
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
specialinvoke v.<org.springframework.transaction.support.AbstractPlatformTransactionManager: void <init>()>();
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: boolean autodetectDataSource> = 1;
return;
}
public void <init>(javax.jdo.PersistenceManagerFactory)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: javax.jdo.PersistenceManagerFactory;
specialinvoke v.<org.springframework.transaction.support.AbstractPlatformTransactionManager: void <init>()>();
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: boolean autodetectDataSource> = 1;
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory persistenceManagerFactory> = v;
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: void afterPropertiesSet()>();
return;
}
public void setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: javax.jdo.PersistenceManagerFactory;
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory persistenceManagerFactory> = v;
return;
}
public javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory persistenceManagerFactory>;
return v;
}
public void setDataSource(javax.sql.DataSource)
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
javax.sql.DataSource v, v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: javax.sql.DataSource;
v = v instanceof org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy: javax.sql.DataSource getTargetDataSource()>();
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource dataSource> = v;
goto label;
label:
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource dataSource> = v;
label:
return;
}
public javax.sql.DataSource getDataSource()
{
javax.sql.DataSource v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource dataSource>;
return v;
}
public void setAutodetectDataSource(boolean)
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: boolean;
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: boolean autodetectDataSource> = v;
return;
}
public void setJdoDialect(org.apache.isis.persistence.jdo.spring.integration.JdoDialect)
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.JdoDialect;
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect> = v;
return;
}
public org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v, v;
org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect>;
if v != null goto label;
v = new org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect;
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect: void <init>()>();
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect> = v;
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect>;
return v;
}
public void afterPropertiesSet()
{
javax.jdo.PersistenceManagerFactory v, v, v;
javax.sql.DataSource v, v;
java.lang.String v;
boolean v, v, v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v;
java.lang.IllegalArgumentException v;
java.lang.Object v, v;
org.apache.commons.logging.Log v, v;
org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Property \'persistenceManagerFactory\' is required");
throw v;
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect>;
if v != null goto label;
v = new org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManagerFactory: java.lang.Object getConnectionFactory()>();
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.DefaultJdoDialect: void <init>(java.lang.Object)>(v);
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect jdoDialect> = v;
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: boolean autodetectDataSource>;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManagerFactory: java.lang.Object getConnectionFactory()>();
v = v instanceof javax.sql.DataSource;
if v == 0 goto label;
v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource dataSource> = v;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource dataSource>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.sql.DataSource)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Using DataSource [\u] of JDO PersistenceManagerFactory for JdoTransactionManager");
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
return;
}
public java.lang.Object getResourceFactory()
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
return v;
}
protected java.lang.Object doGetTransaction()
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
javax.jdo.PersistenceManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject v;
javax.sql.DataSource v, v;
java.lang.Object v, v;
org.apache.commons.logging.Log v, v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v = new org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject;
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void <init>(org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager)>(v);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: boolean isNestedTransactionAllowed()>();
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setSavepointAllowed(boolean)>(v);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object getResource(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Found thread-bound PersistenceManager [\u] for JDO transaction");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setPersistenceManagerHolder(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder,boolean)>(v, 0);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object getResource(java.lang.Object)>(v);
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setConnectionHolder(org.springframework.jdbc.datasource.ConnectionHolder)>(v);
label:
return v;
}
protected boolean isExistingTransaction(java.lang.Object)
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
java.lang.Object v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean hasTransaction()>();
return v;
}
protected void doBegin(java.lang.Object, org.springframework.transaction.TransactionDefinition)
{
javax.jdo.PersistenceManagerFactory v, v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v, v, v, v, v, v, v;
org.springframework.transaction.CannotCreateTransactionException v;
boolean v, v, v, v, v, v, v, v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v, v, v;
org.springframework.jdbc.datasource.ConnectionHandle v, v;
java.lang.Throwable v, v;
org.springframework.transaction.TransactionDefinition v;
javax.jdo.PersistenceManager v, v;
org.springframework.transaction.IllegalTransactionStateException v;
int v, v, v;
javax.sql.DataSource v, v;
java.lang.String v, v, v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$1 v;
org.springframework.jdbc.datasource.ConnectionHolder v, v;
java.lang.Object v, v;
org.apache.commons.logging.Log v, v, v, v, v, v;
javax.jdo.Transaction v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: java.lang.Object;
v := @parameter: org.springframework.transaction.TransactionDefinition;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean hasConnectionHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.springframework.jdbc.datasource.ConnectionHolder getConnectionHolder()>();
v = virtualinvoke v.<org.springframework.jdbc.datasource.ConnectionHolder: boolean isSynchronizedWithTransaction()>();
if v != 0 goto label;
v = new org.springframework.transaction.IllegalTransactionStateException;
specialinvoke v.<org.springframework.transaction.IllegalTransactionStateException: void <init>(java.lang.String)>("Pre-bound JDBC Connection found! JdoTransactionManager does not support running within DataSourceTransactionManager if told to manage the DataSource itself. It is recommended to use a single JdoTransactionManager for all transactions on a single DataSource, no matter whether JDO or JDBC access.");
throw v;
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: boolean isSynchronizedWithTransaction()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManagerFactory: javax.jdo.PersistenceManager getPersistenceManager()>();
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Opened new PersistenceManager [\u] for JDO transaction");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = new org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder;
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: void <init>(javax.jdo.PersistenceManager)>(v);
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setPersistenceManagerHolder(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder,boolean)>(v, 1);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: int determineTimeout(org.springframework.transaction.TransactionDefinition)>(v);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManager: javax.jdo.Transaction currentTransaction()>();
v = new org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$1;
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$1: void <init>(org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager,org.springframework.transaction.TransactionDefinition,int)>(v, v, v);
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoDialect: java.lang.Object beginTransaction(javax.jdo.Transaction,org.springframework.transaction.TransactionDefinition)>(v, v);
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setTransactionData(java.lang.Object)>(v);
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: void setTimeoutInSeconds(int)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = interfaceinvoke v.<org.springframework.transaction.TransactionDefinition: boolean isReadOnly()>();
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoDialect: org.springframework.jdbc.datasource.ConnectionHandle getJdbcConnection(javax.jdo.PersistenceManager,boolean)>(v, v);
if v == null goto label;
v = new org.springframework.jdbc.datasource.ConnectionHolder;
specialinvoke v.<org.springframework.jdbc.datasource.ConnectionHolder: void <init>(org.springframework.jdbc.datasource.ConnectionHandle)>(v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<org.springframework.jdbc.datasource.ConnectionHolder: void setTimeoutInSeconds(int)>(v);
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.springframework.jdbc.datasource.ConnectionHolder: org.springframework.jdbc.datasource.ConnectionHandle getConnectionHandle()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.jdbc.datasource.ConnectionHandle)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Exposing JDO transaction as JDBC transaction [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: void bindResource(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setConnectionHolder(org.springframework.jdbc.datasource.ConnectionHolder)>(v);
goto label;
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager,org.apache.isis.persistence.jdo.spring.integration.JdoDialect)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Not exposing JDO transaction [\u] as JDBC transaction because JdoDialect [\u] does not support JDBC Connection retrieval");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean isNewPersistenceManagerHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: void bindResource(java.lang.Object,java.lang.Object)>(v, v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: void setSynchronizedWithTransaction(boolean)>(1);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: void closePersistenceManagerAfterFailedBegin(org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject)>(v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: void closePersistenceManagerAfterFailedBegin(org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject)>(v);
v = new org.springframework.transaction.CannotCreateTransactionException;
specialinvoke v.<org.springframework.transaction.CannotCreateTransactionException: void <init>(java.lang.String,java.lang.Throwable)>("Could not open JDO PersistenceManager for transaction", v);
throw v;
label:
return;
catch org.springframework.transaction.TransactionException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected void closePersistenceManagerAfterFailedBegin(org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject)
{
java.lang.Throwable v, v;
javax.jdo.PersistenceManagerFactory v, v, v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
javax.jdo.PersistenceManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
org.apache.commons.logging.Log v;
javax.jdo.Transaction v, v;
boolean v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean isNewPersistenceManagerHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
label:
v = interfaceinvoke v.<javax.jdo.PersistenceManager: javax.jdo.Transaction currentTransaction()>();
v = interfaceinvoke v.<javax.jdo.Transaction: boolean isActive()>();
if v == 0 goto label;
v = interfaceinvoke v.<javax.jdo.PersistenceManager: javax.jdo.Transaction currentTransaction()>();
interfaceinvoke v.<javax.jdo.Transaction: void rollback()>();
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object,java.lang.Throwable)>("Could not rollback PersistenceManager after failed transaction begin", v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
throw v;
label:
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setPersistenceManagerHolder(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder,boolean)>(null, 0);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected java.lang.Object doSuspend(java.lang.Object)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder v;
javax.sql.DataSource v, v, v;
java.lang.Object v, v, v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: java.lang.Object;
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setPersistenceManagerHolder(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder,boolean)>(null, 0);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object unbindResource(java.lang.Object)>(v);
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setConnectionHolder(org.springframework.jdbc.datasource.ConnectionHolder)>(null);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: boolean hasResource(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object unbindResource(java.lang.Object)>(v);
label:
v = new org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder;
specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder: void <init>(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder,org.springframework.jdbc.datasource.ConnectionHolder)>(v, v);
return v;
}
protected void doResume(java.lang.Object, java.lang.Object)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.springframework.jdbc.datasource.ConnectionHolder v, v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
javax.sql.DataSource v, v;
java.lang.Object v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: void bindResource(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
if v == null goto label;
v = specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder: org.springframework.jdbc.datasource.ConnectionHolder getConnectionHolder()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
v = specialinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$SuspendedResourcesHolder: org.springframework.jdbc.datasource.ConnectionHolder getConnectionHolder()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: void bindResource(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
protected boolean shouldCommitOnGlobalRollbackOnly()
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
return 1;
}
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus)
{
java.lang.Throwable v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.springframework.dao.DataAccessException v;
javax.jdo.PersistenceManager v, v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v, v;
java.lang.Object v;
org.apache.commons.logging.Log v;
java.lang.String v;
javax.jdo.Transaction v;
org.springframework.transaction.support.DefaultTransactionStatus v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: org.springframework.transaction.support.DefaultTransactionStatus;
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: java.lang.Object getTransaction()>();
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: boolean isDebug()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Committing JDO transaction on PersistenceManager [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManager: javax.jdo.Transaction currentTransaction()>();
interfaceinvoke v.<javax.jdo.Transaction: void commit()>();
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.springframework.dao.DataAccessException convertJdoAccessException(javax.jdo.JDOException)>(v);
throw v;
label:
return;
catch javax.jdo.JDOException from label to label with label;
}
protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus)
{
java.lang.Throwable v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
javax.jdo.PersistenceManager v, v;
org.springframework.transaction.TransactionSystemException v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v, v;
java.lang.Object v;
org.apache.commons.logging.Log v;
java.lang.String v;
javax.jdo.Transaction v;
org.springframework.transaction.support.DefaultTransactionStatus v;
boolean v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: org.springframework.transaction.support.DefaultTransactionStatus;
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: java.lang.Object getTransaction()>();
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: boolean isDebug()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Rolling back JDO transaction on PersistenceManager [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManager: javax.jdo.Transaction currentTransaction()>();
v = interfaceinvoke v.<javax.jdo.Transaction: boolean isActive()>();
if v == 0 goto label;
interfaceinvoke v.<javax.jdo.Transaction: void rollback()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.springframework.transaction.TransactionSystemException;
specialinvoke v.<org.springframework.transaction.TransactionSystemException: void <init>(java.lang.String,java.lang.Throwable)>("Could not roll back JDO transaction", v);
throw v;
label:
return;
catch javax.jdo.JDOException from label to label with label;
}
protected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus)
{
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
javax.jdo.PersistenceManager v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
java.lang.Object v;
org.apache.commons.logging.Log v;
java.lang.String v;
org.springframework.transaction.support.DefaultTransactionStatus v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: org.springframework.transaction.support.DefaultTransactionStatus;
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: java.lang.Object getTransaction()>();
v = virtualinvoke v.<org.springframework.transaction.support.DefaultTransactionStatus: boolean isDebug()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Setting JDO transaction on PersistenceManager [\u] rollback-only");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: void setRollbackOnly()>();
return;
}
protected void doCleanupAfterCompletion(java.lang.Object)
{
java.lang.Throwable v;
javax.jdo.PersistenceManagerFactory v, v;
javax.jdo.PersistenceManager v, v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v, v, v;
javax.sql.DataSource v;
java.lang.String v;
boolean v, v, v, v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v, v;
org.springframework.jdbc.datasource.ConnectionHandle v;
org.springframework.jdbc.datasource.ConnectionHolder v;
java.lang.Object v, v;
org.apache.commons.logging.Log v, v, v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean isNewPersistenceManagerHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object unbindResource(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: void clear()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean hasConnectionHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.sql.DataSource getDataSource()>();
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object unbindResource(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.springframework.jdbc.datasource.ConnectionHolder getConnectionHolder()>();
v = virtualinvoke v.<org.springframework.jdbc.datasource.ConnectionHolder: org.springframework.jdbc.datasource.ConnectionHandle getConnectionHandle()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
interfaceinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoDialect: void releaseJdbcConnection(org.springframework.jdbc.datasource.ConnectionHandle,javax.jdo.PersistenceManager)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object,java.lang.Throwable)>("Could not release JDBC connection after transaction", v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: java.lang.Object getTransactionData()>();
interfaceinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoDialect: void cleanupTransaction(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: boolean isNewPersistenceManagerHolder()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager$JdoTransactionObject: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder getPersistenceManagerHolder()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.jdo.PersistenceManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing JDO PersistenceManager [\u] after transaction");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
goto label;
label:
v = v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Not closing pre-bound JDO PersistenceManager after transaction");
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected org.springframework.dao.DataAccessException convertJdoAccessException(javax.jdo.JDOException)
{
javax.jdo.JDOException v;
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager v;
org.springframework.dao.DataAccessException v;
org.apache.isis.persistence.jdo.spring.integration.JdoDialect v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
v := @parameter: javax.jdo.JDOException;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager: org.apache.isis.persistence.jdo.spring.integration.JdoDialect getJdoDialect()>();
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.spring.integration.JdoDialect: org.springframework.dao.DataAccessException translateException(javax.jdo.JDOException)>(v);
return v;
}
}