public class org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor extends java.lang.Object implements org.springframework.web.context.request.WebRequestInterceptor
{
public static final java.lang.String PARTICIPATE_SUFFIX;
protected final org.apache.commons.logging.Log logger;
private javax.jdo.PersistenceManagerFactory persistenceManagerFactory;
public void <init>()
{
java.lang.Class v;
org.apache.commons.logging.Log v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(v);
v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: org.apache.commons.logging.Log logger> = v;
return;
}
public void setPersistenceManagerFactory(javax.jdo.PersistenceManagerFactory)
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v := @parameter: javax.jdo.PersistenceManagerFactory;
v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory persistenceManagerFactory> = v;
return;
}
public javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v = v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory persistenceManagerFactory>;
return v;
}
public void preHandle(org.springframework.web.context.request.WebRequest) throws org.springframework.dao.DataAccessException
{
javax.jdo.PersistenceManagerFactory v, v, v;
org.springframework.web.context.request.WebRequest v;
javax.jdo.PersistenceManager v;
java.lang.Integer v;
org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder v;
int v, v;
java.lang.Object v;
org.apache.commons.logging.Log v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v := @parameter: org.springframework.web.context.request.WebRequest;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
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.support.OpenPersistenceManagerInViewInterceptor: java.lang.String getParticipateAttributeName()>();
v = interfaceinvoke v.<org.springframework.web.context.request.WebRequest: java.lang.Object getAttribute(java.lang.String,int)>(v, 0);
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
goto label;
label:
v = 1;
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: java.lang.String getParticipateAttributeName()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.springframework.web.context.request.WebRequest: void setAttribute(java.lang.String,java.lang.Object,int)>(v, v, 0);
goto label;
label:
v = v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Opening JDO PersistenceManager in OpenPersistenceManagerInViewInterceptor");
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: javax.jdo.PersistenceManager getPersistenceManager(javax.jdo.PersistenceManagerFactory,boolean)>(v, 1);
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
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);
staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: void bindResource(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
public void postHandle(org.springframework.web.context.request.WebRequest, org.springframework.ui.ModelMap)
{
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
org.springframework.ui.ModelMap v;
org.springframework.web.context.request.WebRequest v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v := @parameter: org.springframework.web.context.request.WebRequest;
v := @parameter: org.springframework.ui.ModelMap;
return;
}
public void afterCompletion(org.springframework.web.context.request.WebRequest, java.lang.Exception) throws org.springframework.dao.DataAccessException
{
javax.jdo.PersistenceManagerFactory v, v;
org.springframework.web.context.request.WebRequest v;
javax.jdo.PersistenceManager v;
java.lang.Integer v;
java.lang.Exception v;
int v, v, v;
java.lang.Object v, v;
org.apache.commons.logging.Log v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
java.lang.String v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v := @parameter: org.springframework.web.context.request.WebRequest;
v := @parameter: java.lang.Exception;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: java.lang.String getParticipateAttributeName()>();
v = interfaceinvoke v.<org.springframework.web.context.request.WebRequest: java.lang.Object getAttribute(java.lang.String,int)>(v, 0);
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 1 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v - 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.springframework.web.context.request.WebRequest: void setAttribute(java.lang.String,java.lang.Object,int)>(v, v, 0);
goto label;
label:
interfaceinvoke v.<org.springframework.web.context.request.WebRequest: void removeAttribute(java.lang.String,int)>(v, 0);
goto label;
label:
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = staticinvoke <org.springframework.transaction.support.TransactionSynchronizationManager: java.lang.Object unbindResource(java.lang.Object)>(v);
v = v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Closing JDO PersistenceManager in OpenPersistenceManagerInViewInterceptor");
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerHolder: javax.jdo.PersistenceManager getPersistenceManager()>();
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
staticinvoke <org.apache.isis.persistence.jdo.spring.integration.PersistenceManagerFactoryUtils: void releasePersistenceManager(javax.jdo.PersistenceManager,javax.jdo.PersistenceManagerFactory)>(v, v);
label:
return;
}
protected java.lang.String getParticipateAttributeName()
{
javax.jdo.PersistenceManagerFactory v;
org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor v;
java.lang.String v, v;
v := @this: org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor;
v = virtualinvoke v.<org.apache.isis.persistence.jdo.spring.support.OpenPersistenceManagerInViewInterceptor: javax.jdo.PersistenceManagerFactory getPersistenceManagerFactory()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u.PARTICIPATE");
return v;
}
}