class org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization extends org.springframework.transaction.support.ResourceHolderSynchronization implements org.springframework.core.Ordered
{
private final boolean newPersistenceManager;
public void <init>(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder, javax.jdo.PersistenceManagerFactory, boolean)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder;
v := @parameter: javax.jdo.PersistenceManagerFactory;
v := @parameter: boolean;
specialinvoke v.<org.springframework.transaction.support.ResourceHolderSynchronization: void <init>(org.springframework.transaction.support.ResourceHolder,java.lang.Object)>(v, v);
v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization: boolean newPersistenceManager> = v;
return;
}
public int getOrder()
{
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
return 900;
}
public void flushResource(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder)
{
java.lang.Throwable v;
org.springframework.dao.DataAccessException v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
javax.jdo.PersistenceManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder;
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
interfaceinvoke v.<javax.jdo.PersistenceManager: void flush()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: org.springframework.dao.DataAccessException convertJdoAccessException(javax.jdo.JDOException)>(v);
throw v;
label:
return;
catch javax.jdo.JDOException from label to label with label;
}
protected boolean shouldUnbindAtCompletion()
{
boolean v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
v = v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization: boolean newPersistenceManager>;
return v;
}
protected boolean shouldReleaseAfterCompletion(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder)
{
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
javax.jdo.PersistenceManager v;
boolean v, v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = interfaceinvoke v.<javax.jdo.PersistenceManager: boolean isClosed()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected void releaseResource(org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder, javax.jdo.PersistenceManagerFactory)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
javax.jdo.PersistenceManager v;
v := @this: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils$PersistenceManagerSynchronization;
v := @parameter: org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder;
v := @parameter: javax.jdo.PersistenceManagerFactory;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
return;
}
}