You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/10/17 21:32:21 UTC
svn commit: r1023566 - in
/myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl:
PersistenceContextMetaEntry.java TransactionalInterceptor.java
Author: gpetracek
Date: Sun Oct 17 19:32:20 2010
New Revision: 1023566
URL: http://svn.apache.org/viewvc?rev=1023566&view=rev
Log:
EXTCDI-4 support for multiple extended persistence contexts (in combination with add-ons)
Modified:
myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/PersistenceContextMetaEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/TransactionalInterceptor.java
Modified: myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/PersistenceContextMetaEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/PersistenceContextMetaEntry.java?rev=1023566&r1=1023565&r2=1023566&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/PersistenceContextMetaEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/PersistenceContextMetaEntry.java Sun Oct 17 19:32:20 2010
@@ -27,26 +27,33 @@ class PersistenceContextMetaEntry
private String fieldName;
+ private String unitName;
private boolean extended;
- PersistenceContextMetaEntry(Class sourceClass, String fieldName, boolean extended)
+ PersistenceContextMetaEntry(Class sourceClass, String fieldName, String unitName, boolean extended)
{
this.sourceClass = sourceClass;
this.fieldName = fieldName;
+ this.unitName = unitName;
this.extended = extended;
}
- public Class getSourceClass()
+ Class getSourceClass()
{
return sourceClass;
}
- public String getFieldName()
+ String getFieldName()
{
return fieldName;
}
- public boolean isExtended()
+ String getUnitName()
+ {
+ return unitName;
+ }
+
+ boolean isExtended()
{
return extended;
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/TransactionalInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/TransactionalInterceptor.java?rev=1023566&r1=1023565&r2=1023566&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/TransactionalInterceptor.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jpa-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jpa/impl/TransactionalInterceptor.java Sun Oct 17 19:32:20 2010
@@ -119,10 +119,12 @@ public class TransactionalInterceptor im
EntityManagerEntry entityManagerEntry = null;
EntityManager entityManager;
+ String entityManagerId = q.getName();
if (bean == null)
{
entityManagerEntry = tryToFindEntityManagerEntryInTarget(context.getTarget());
entityManager = entityManagerEntry.getEntityManager();
+ entityManagerId = entityManagerEntry.getPersistenceContextEntry().getUnitName();
//might happen due to special add-ons - don't change it!
if(entityManager == null)
@@ -141,7 +143,7 @@ public class TransactionalInterceptor im
{
ems.set(new HashMap<String, EntityManager>());
}
- ems.get().put(q.getName(), entityManager);
+ ems.get().put(entityManagerId, entityManager);
// log.info("growing: " + ems.get().size());
if (refCount.get() == null)
@@ -320,7 +322,8 @@ public class TransactionalInterceptor im
if(persistenceContextEntry == null)
{
- mapping.put(key, new PersistenceContextMetaEntry(Object.class, noFieldMarker, false));
+ mapping.put(key, new PersistenceContextMetaEntry(
+ Object.class, noFieldMarker, Default.class.getName(), false));
return null;
}
@@ -378,6 +381,7 @@ public class TransactionalInterceptor im
return new PersistenceContextMetaEntry(
currentParamClass,
currentField.getName(),
+ persistenceContext.unitName(),
PersistenceContextType.EXTENDED.equals(persistenceContext.type()));
}
}