Author: antelder
Date: Mon Jun 27 08:34:33 2011
New Revision: 1140051

URL: http://svn.apache.org/viewvc?rev=1140051&view=rev
Log:
Support using null for the domain name and deriving the name from the uri

Modified:
    
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java?rev=1140051&r1=1140050&r2=1140051&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
 Mon Jun 27 08:34:33 2011
@@ -72,6 +72,9 @@ public class ExtensibleDomainRegistryFac
     }
 
     public DomainRegistry getEndpointRegistry(String endpointRegistryURI, 
String domainURI) {
+        if (domainURI == null) {
+            domainURI = getDomainName(endpointRegistryURI);
+        }
         if (endpointRegistryURI == null) {
             endpointRegistryURI = 
factories.getDomainRegistryMapping().get(domainURI);
             if (endpointRegistryURI == null) {
@@ -130,4 +133,24 @@ public class ExtensibleDomainRegistryFac
         return allSchemes;
     }
 
+    /**
+     * Derive a domain name from a domain URI
+     * Examples:
+     * Domain URI  -           Domain Name
+     * default                 default
+     * foo                     foo
+     * uri:foo                 foo
+     * uri://foo?key=x&key2=y  foo
+     * uri://foo/bar           foo/bar
+     */
+    private static String getDomainName(String domainURI) {
+        int scheme = domainURI.indexOf(':');
+        int qm = domainURI.indexOf('?');
+        if (qm == -1) {
+            return domainURI.substring(scheme+1);
+        } else {
+            return domainURI.substring(scheme+1, qm);
+        }
+    }
+
 }


Reply via email to