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 19:07:27 UTC

svn commit: r916383 - in /incubator/aries/trunk/jpa/jpa-blueprint-aries: pom.xml src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java

Author: timothyjward
Date: Thu Feb 25 18:07:27 2010
New Revision: 916383

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

Modified:
    incubator/aries/trunk/jpa/jpa-blueprint-aries/pom.xml
    incubator/aries/trunk/jpa/jpa-blueprint-aries/src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java
    incubator/aries/trunk/jpa/jpa-blueprint-aries/src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java

Modified: incubator/aries/trunk/jpa/jpa-blueprint-aries/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-blueprint-aries/pom.xml?rev=916383&r1=916382&r2=916383&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-blueprint-aries/pom.xml (original)
+++ incubator/aries/trunk/jpa/jpa-blueprint-aries/pom.xml Thu Feb 25 18:07:27 2010
@@ -80,6 +80,12 @@
       <artifactId>org.apache.aries.testsupport.unit</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>1.5.6</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
   <build>
        <resources>
@@ -92,9 +98,9 @@
                 </includes>
             </resource>
             <resource>
-              <targetPath>org/apache/aries/jpa/container/context/namespace</targetPath>
+              <targetPath>org/apache/aries/jpa/blueprint/namespace</targetPath>
               <filtering>false</filtering>
-              <directory>${basedir}/src/main/resources/org/apache/aries/jpa/container/context/namespace</directory>
+              <directory>${basedir}/src/main/resources/org/apache/aries/jpa/blueprint/namespace</directory>
               <includes>
                 <include>*.xsd</include>
               </includes>

Modified: incubator/aries/trunk/jpa/jpa-blueprint-aries/src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-blueprint-aries/src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java?rev=916383&r1=916382&r2=916383&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-blueprint-aries/src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java (original)
+++ incubator/aries/trunk/jpa/jpa-blueprint-aries/src/main/java/org/apache/aries/jpa/blueprint/aries/impl/NSHandler.java Thu Feb 25 18:07:27 2010
@@ -69,7 +69,7 @@
 public class NSHandler implements NamespaceHandler {
     /** Logger */
     private static final Logger _logger = LoggerFactory
-            .getLogger("org.apache.aries.jpa.container.context");
+            .getLogger("org.apache.aries.jpa.blueprint.aries");
 
     /** The JPA namespace */
     public static final String NS_URI = "http://aries.apache.org/xmlns/jpa/v1.0.0";
@@ -214,7 +214,11 @@
     }
 
     public URL getSchemaLocation(String namespace) {
-        return getClass().getResource("jpa.xsd");
+        if(NS_URI.equals(namespace))
+            return getClass().getResource(
+                "/org/apache/aries/jpa/blueprint/namespace/jpa.xsd");
+        else
+            return null;
     }
 
     public Metadata parse(Element element, ParserContext context) {

Modified: incubator/aries/trunk/jpa/jpa-blueprint-aries/src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-blueprint-aries/src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java?rev=916383&r1=916382&r2=916383&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-blueprint-aries/src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java (original)
+++ incubator/aries/trunk/jpa/jpa-blueprint-aries/src/test/java/org/apache/aries/jpa/blueprint/aries/test/NSHandlerTest.java Thu Feb 25 18:07:27 2010
@@ -19,6 +19,8 @@
 package org.apache.aries.jpa.blueprint.aries.test;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
@@ -79,6 +81,7 @@
     sut = new NSHandler();
     manager = Skeleton.newMock(PersistenceContextProvider.class);
     sut.setManager(manager);
+    sut.contextAvailable(null);
     
     clientBundle = Skeleton.newMock(Bundle.class);
         
@@ -207,6 +210,30 @@
   }
   
   @Test
+  public void testContextNoPersistenceContextProvider() {
+    
+    sut.contextUnavailable(null);
+    Element e = getTestElement("context");
+    BeanMetadata bean = 
+      (BeanMetadata) sut.decorate(e, Skeleton.newMock(BeanMetadata.class), parserCtx);
+    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();
+
+    assertEquals("createEntityManager", innerBean.getFactoryMethod());
+    assertEquals("internalClose", innerBean.getDestroyMethod());
+
+    assertEquals(1, registeredComponents.size());
+    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
+    
+    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
+    assertEquals("(&(org.apache.aries.jpa.proxy.factory=*)(osgi.unit.name=myUnit))", reference.getFilter());
+    
+    Map<String,Object> props = new HashMap<String, Object>();
+    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
+    Skeleton.getSkeleton(manager).assertNotCalled(
+        new MethodCall(PersistenceContextProvider.class, "registerContext", String.class, Bundle.class, Map.class));
+  }
+  
+  @Test
   public void testContextWithProps() {
     Element e = getTestElement("contextWithProps");
     BeanMetadata bean = 
@@ -258,4 +285,11 @@
     
     return null;
   }
+  
+  @Test
+  public void testgetSchemaLocation()
+  {
+    assertNotNull("No schema found", sut.getSchemaLocation(NSHandler.NS_URI));
+    assertNull("No schema expected", sut.getSchemaLocation("http://maven.apache.org/POM/4.0.0"));
+  }
 }