You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2010/02/25 10:40:30 UTC

svn commit: r916204 - in /incubator/aries/trunk/jpa/jpa-container-context/src: main/java/org/apache/aries/jpa/container/context/ main/java/org/apache/aries/jpa/container/context/impl/ main/java/org/apache/aries/jpa/container/context/namespace/ main/res...

Author: timothyjward
Date: Thu Feb 25 09:40:30 2010
New Revision: 916204

URL: http://svn.apache.org/viewvc?rev=916204&view=rev
Log:
ARIES-202 : Separate the JPA blueprint integration from managed persistence contexts

Modified:
    incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java
    incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
    incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
    incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
    incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java
    incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml
    incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java Thu Feb 25 09:40:30 2010
@@ -20,9 +20,15 @@
 
 import java.util.HashMap;
 
+import javax.persistence.PersistenceContextType;
+
 import org.osgi.framework.Bundle;
 
-public interface PersistenceManager {
+public interface PersistenceContextProvider {
+  
+  /** The key to use when storing the {@link PersistenceContextType} for this context */
+  public static final String PERSISTENCE_CONTEXT_TYPE = "org.apache.aries.jpa.context.type";
+  
   /**
    * This method will be called whenever a persistence context element is processed by the jpa
    * blueprint namespace handler.

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java Thu Feb 25 09:40:30 2010
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.jpa.container.context;
+package org.apache.aries.jpa.container.context.impl;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -24,7 +24,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
 import org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleEvent;
@@ -35,7 +35,7 @@
 /**
  * Class that coordinates PersistenceContextManagers across multiple (nested) OSGi frameworks.
  */
-public class GlobalPersistenceManager implements PersistenceManager, SynchronousBundleListener {
+public class GlobalPersistenceManager implements PersistenceContextProvider, SynchronousBundleListener {
   /** Logger */
   private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container.context");
   

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java Thu Feb 25 09:40:30 2010
@@ -30,6 +30,7 @@
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.metamodel.Metamodel;
 
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
 import org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager;
 import org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry;
 import org.osgi.framework.ServiceReference;
@@ -58,7 +59,7 @@
       properties = new HashMap<String, Object>(props);
       registry = contextRegistry;
       //Remove our internal property so that it doesn't get passed on the createEntityManager call
-      type = (PersistenceContextType) properties.remove(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE);
+      type = (PersistenceContextType) properties.remove(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE);
   }
 
   public EntityManager createEntityManager() {

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java Thu Feb 25 09:40:30 2010
@@ -51,8 +51,6 @@
   /** Logger */
   private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container.context");
   
-  /** The key to use when storing the {@link PersistenceContextType} for this context */
-  public static final String PERSISTENCE_CONTEXT_TYPE = "org.apache.aries.jpa.context.type";
   /** The filter this tracker uses to select Persistence Units. */
   private static final Filter filter; 
   static {

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java Thu Feb 25 09:40:30 2010
@@ -40,9 +40,7 @@
 import org.apache.aries.blueprint.mutable.MutableRefMetadata;
 import org.apache.aries.blueprint.mutable.MutableReferenceMetadata;
 import org.apache.aries.jpa.container.PersistenceUnitConstants;
-import org.apache.aries.jpa.container.context.GlobalPersistenceManager;
-import org.apache.aries.jpa.container.context.PersistenceManager;
-import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
 import org.osgi.framework.Bundle;
 import org.osgi.service.blueprint.reflect.BeanMetadata;
 import org.osgi.service.blueprint.reflect.BeanProperty;
@@ -111,9 +109,9 @@
     /** The blueprint attribute value to make a bean eager */
     private static final String ACTIVATION_EAGER = "EAGER";
     /** The {@link PersistenceManager} to register contexts with */
-    private PersistenceManager manager;
+    private PersistenceContextProvider manager;
 
-    public void setManager(PersistenceManager manager) {
+    public void setManager(PersistenceContextProvider manager) {
         this.manager = manager;
     }
 
@@ -173,7 +171,7 @@
             // Remember to add the PersistenceContextType so that we can create
             // the correct type of
             // EntityManager
-            properties.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE,
+            properties.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE,
                     parseType(element));
             properties.putAll(parseJPAProperties(element, context));
 

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml Thu Feb 25 09:40:30 2010
@@ -30,7 +30,9 @@
     </bean>
   </service>
   
-  <bean id="persistenceManager" class="org.apache.aries.jpa.container.context.GlobalPersistenceManager">
+  <service interface="org.apache.aries.jpa.container.context.PersistenceContextProvider" ref="persistenceManager"/>
+  
+  <bean id="persistenceManager" class="org.apache.aries.jpa.container.context.impl.GlobalPersistenceManager">
     <property name="registry" ref="JtaPersistenceContextRegistry" />
   </bean>
   

Modified: incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java Thu Feb 25 09:40:30 2010
@@ -40,7 +40,7 @@
 import org.apache.aries.blueprint.reflect.BeanMetadataImpl;
 import org.apache.aries.blueprint.reflect.RefMetadataImpl;
 import org.apache.aries.blueprint.reflect.ReferenceMetadataImpl;
-import org.apache.aries.jpa.container.context.PersistenceManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
 import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
 import org.apache.aries.unittest.mocks.MethodCall;
 import org.apache.aries.unittest.mocks.Skeleton;
@@ -61,7 +61,7 @@
 public class NSHandlerTest {
   private Element root;
   private NSHandler sut;
-  private PersistenceManager manager;
+  private PersistenceContextProvider manager;
   private ParserContext parserCtx;
   private Bundle clientBundle;
   private List<ComponentMetadata> registeredComponents = new ArrayList<ComponentMetadata>();
@@ -77,7 +77,7 @@
     root = doc.getDocumentElement();
     
     sut = new NSHandler();
-    manager = Skeleton.newMock(PersistenceManager.class);
+    manager = Skeleton.newMock(PersistenceContextProvider.class);
     sut.setManager(manager);
     
     clientBundle = Skeleton.newMock(Bundle.class);
@@ -201,9 +201,9 @@
     assertEquals("(&(org.apache.aries.jpa.proxy.factory=*)(osgi.unit.name=myUnit))", reference.getFilter());
     
     Map<String,Object> props = new HashMap<String, Object>();
-    props.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
+    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
     Skeleton.getSkeleton(manager).assertCalled(
-        new MethodCall(PersistenceManager.class, "registerContext", "myUnit", clientBundle, props));
+        new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, props));
   }
   
   @Test
@@ -223,11 +223,11 @@
         reference.getFilter());
     
     Map<String,Object> props = new HashMap<String, Object>();
-    props.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
+    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
     props.put("one", "eins");
     props.put("two", "zwo");
     Skeleton.getSkeleton(manager).assertCalled(
-        new MethodCall(PersistenceManager.class, "registerContext", "", clientBundle, props));    
+        new MethodCall(PersistenceContextProvider.class, "registerContext", "", clientBundle, props));    
   }
   
   @Test