You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2015/09/16 12:06:46 UTC

svn commit: r1703376 - in /aries/trunk/jpa/jpa-blueprint/src/main: java/org/apache/aries/jpa/blueprint/impl/ java/org/apache/aries/jpa/blueprint/supplier/impl/ resources/

Author: cschneider
Date: Wed Sep 16 10:06:46 2015
New Revision: 1703376

URL: http://svn.apache.org/r1703376
Log:
[ARIES-1403] Add correct namespace

Added:
    aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa20.xsd
      - copied, changed from r1703375, aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd
    aries/trunk/jpa/jpa-blueprint/src/main/resources/jpan10.xsd
      - copied, changed from r1703375, aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd
Removed:
    aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd
Modified:
    aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/Activator.java
    aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaNsHandler.java
    aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/supplier/impl/ServiceProxy.java

Modified: aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/Activator.java?rev=1703376&r1=1703375&r2=1703376&view=diff
==============================================================================
--- aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/Activator.java (original)
+++ aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/Activator.java Wed Sep 16 10:06:46 2015
@@ -30,9 +30,14 @@ public class Activator implements Bundle
     @Override
     public void start(BundleContext context) throws Exception {
         JpaNsHandler handler = new JpaNsHandler();
+        context.registerService(NamespaceHandler.class, handler, createProps(JpaNsHandler.NAMESPACE_JPAN_10));
+        context.registerService(NamespaceHandler.class, handler, createProps(JpaNsHandler.NAMESPACE_JPA_20));
+    }
+
+    private Dictionary<String, String> createProps(String namespace) {
         Dictionary<String, String> props = new Hashtable<String, String>();
-        props.put("osgi.service.blueprint.namespace", "http://aries.apache.org/xmlns/jpan/v1.0.0");
-        context.registerService(NamespaceHandler.class, handler, props);
+        props.put("osgi.service.blueprint.namespace", namespace);
+        return props;
     }
 
     @Override

Modified: aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaNsHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaNsHandler.java?rev=1703376&r1=1703375&r2=1703376&view=diff
==============================================================================
--- aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaNsHandler.java (original)
+++ aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/impl/JpaNsHandler.java Wed Sep 16 10:06:46 2015
@@ -42,6 +42,9 @@ import org.w3c.dom.Node;
 
 public class JpaNsHandler implements NamespaceHandler {
 
+    public static final String NAMESPACE_JPA_20 = "http://aries.apache.org/xmlns/jpan/v2.0.0";
+    public static final String NAMESPACE_JPAN_10 = "http://aries.apache.org/xmlns/jpan/v1.0.0";
+
     private void parseElement(Element elt, ComponentMetadata cm, ParserContext pc) {
         ComponentDefinitionRegistry cdr = pc.getComponentDefinitionRegistry();
 
@@ -78,7 +81,14 @@ public class JpaNsHandler implements Nam
     }
 
     public URL getSchemaLocation(String namespace) {
-        return this.getClass().getResource("/jpa10.xsd");
+        if (NAMESPACE_JPAN_10.equals(namespace)) {
+            // deprecated (remove in jpa 3)
+            return this.getClass().getResource("/jpan10.xsd");
+        } else if (NAMESPACE_JPA_20.equals(namespace)) {
+            return this.getClass().getResource("/jpa20.xsd");
+        } else {
+            throw new IllegalArgumentException("Unknown namespace for jpa: " + namespace);
+        }
     }
 
     @SuppressWarnings("rawtypes")

Modified: aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/supplier/impl/ServiceProxy.java
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/supplier/impl/ServiceProxy.java?rev=1703376&r1=1703375&r2=1703376&view=diff
==============================================================================
--- aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/supplier/impl/ServiceProxy.java (original)
+++ aries/trunk/jpa/jpa-blueprint/src/main/java/org/apache/aries/jpa/blueprint/supplier/impl/ServiceProxy.java Wed Sep 16 10:06:46 2015
@@ -28,13 +28,19 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.Filter;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.service.blueprint.container.ServiceUnavailableException;
 import org.osgi.util.tracker.ServiceTracker;
 
 public class ServiceProxy implements InvocationHandler {
+    private static final int SERVICE_TIMEOUT = 120000;
+
     @SuppressWarnings("rawtypes")
     private ServiceTracker tracker;
 
+    private String filterS;
+
     public ServiceProxy(BundleContext context, String filterS) {
+        this.filterS = filterS;
         tracker = new ServiceTracker<>(context, createFilter(filterS), null);
         tracker.open();
     }
@@ -49,7 +55,11 @@ public class ServiceProxy implements Inv
 
     private Object getService() {
         try {
-            return tracker.waitForService(10000);
+            Object serviceO = tracker.waitForService(SERVICE_TIMEOUT);
+            if (serviceO == null) {
+                throw new ServiceUnavailableException("No matching service found after timeout of " + SERVICE_TIMEOUT + " ms", filterS);
+            }
+            return serviceO;
         } catch (InterruptedException e) {
             throw new IllegalStateException(e);
         }

Copied: aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa20.xsd (from r1703375, aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd)
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa20.xsd?p2=aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa20.xsd&p1=aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd&r1=1703375&r2=1703376&rev=1703376&view=diff
==============================================================================
--- aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd (original)
+++ aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa20.xsd Wed Sep 16 10:06:46 2015
@@ -17,9 +17,9 @@
     limitations under the License.
 
 -->
-<xsd:schema xmlns="http://aries.apache.org/xmlns/jpan/v1.0.0"
+<xsd:schema xmlns="http://aries.apache.org/xmlns/jpa/v2.0.0"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	targetNamespace="http://aries.apache.org/xmlns/jpan/v1.0.0"
+	targetNamespace="http://aries.apache.org/xmlns/jpa/v2.0.0"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified"
     version="1.0.0">

Copied: aries/trunk/jpa/jpa-blueprint/src/main/resources/jpan10.xsd (from r1703375, aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd)
URL: http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-blueprint/src/main/resources/jpan10.xsd?p2=aries/trunk/jpa/jpa-blueprint/src/main/resources/jpan10.xsd&p1=aries/trunk/jpa/jpa-blueprint/src/main/resources/jpa10.xsd&r1=1703375&r2=1703376&rev=1703376&view=diff
==============================================================================
    (empty)