You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2010/02/12 00:23:05 UTC

svn commit: r909172 - in /tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime: DefaultDomainRegistryFactoryExtensionPoint.java DomainRegistryFactoryExtensionPoint.java ExtensibleDomainRegistryFactory.java

Author: rfeng
Date: Thu Feb 11 23:23:04 2010
New Revision: 909172

URL: http://svn.apache.org/viewvc?rev=909172&view=rev
Log:
Add a mapping for domainURI and registryURI

Modified:
    tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultDomainRegistryFactoryExtensionPoint.java
    tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistryFactoryExtensionPoint.java
    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/DefaultDomainRegistryFactoryExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultDomainRegistryFactoryExtensionPoint.java?rev=909172&r1=909171&r2=909172&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultDomainRegistryFactoryExtensionPoint.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultDomainRegistryFactoryExtensionPoint.java Thu Feb 11 23:23:04 2010
@@ -21,7 +21,9 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.LifeCycleListener;
@@ -30,13 +32,14 @@
 import org.oasisopen.sca.ServiceRuntimeException;
 
 /**
- * 
+ * Default implementation of DomainRegistryFactoryExtensionPoint
  */
 public class DefaultDomainRegistryFactoryExtensionPoint implements DomainRegistryFactoryExtensionPoint,
     LifeCycleListener {
     private ExtensionPointRegistry registry;
     private boolean loaded;
     private List<DomainRegistryFactory> factories = new ArrayList<DomainRegistryFactory>();
+    private Map<String, String> domainRegistryMapping = new HashMap<String, String>();
 
     /**
      * @param registry
@@ -82,10 +85,15 @@
     }
 
     public void start() {
+        // Empty
     }
 
     public void stop() {
         ServiceHelper.stop(factories);
     }
 
+    public Map<String, String> getDomainRegistryMapping() {
+        return domainRegistryMapping;
+    }
+
 }

Modified: tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistryFactoryExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistryFactoryExtensionPoint.java?rev=909172&r1=909171&r2=909172&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistryFactoryExtensionPoint.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistryFactoryExtensionPoint.java Thu Feb 11 23:23:04 2010
@@ -20,12 +20,19 @@
 package org.apache.tuscany.sca.runtime;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Extension point for DomainRegistryFactory
  */
 public interface DomainRegistryFactoryExtensionPoint {
     /**
+     * Return a mapping between domain URI and domain registry URI
+     * @return A mutable map
+     */
+    Map<String, String> getDomainRegistryMapping();
+    
+    /**
      * Add a DomainRegistryFactory
      * @param factory
      */

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=909172&r1=909171&r2=909172&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 Thu Feb 11 23:23:04 2010
@@ -23,7 +23,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
@@ -34,6 +36,7 @@
  */
 public class ExtensibleDomainRegistryFactory implements DomainRegistryFactory {
     private final DomainRegistryFactoryExtensionPoint factories;
+    private String[] allSchemes;
 
     public ExtensibleDomainRegistryFactory(ExtensionPointRegistry registry) {
         this.factories = registry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
@@ -64,7 +67,10 @@
 
     public EndpointRegistry getEndpointRegistry(String endpointRegistryURI, String domainURI) {
         if (endpointRegistryURI == null) {
-            endpointRegistryURI = domainURI;
+            endpointRegistryURI = factories.getDomainRegistryMapping().get(domainURI);
+            if (endpointRegistryURI == null) {
+                endpointRegistryURI = domainURI;
+            }
         }
 
         URI uri = URI.create(endpointRegistryURI);
@@ -105,8 +111,18 @@
         }
     }
 
-    public String[] getSupportedSchemes() {
-        return null;
+    public synchronized String[] getSupportedSchemes() {
+        if (allSchemes == null) {
+            Set<String> supportedSchemes = new HashSet<String>();
+            for (DomainRegistryFactory factory : factories.getDomainRegistryFactories()) {
+                String[] schemes = factory.getSupportedSchemes();
+                if (schemes != null) {
+                    supportedSchemes.addAll(Arrays.asList(schemes));
+                }
+            }
+            allSchemes = supportedSchemes.toArray(new String[supportedSchemes.size()]);
+        }
+        return allSchemes;
     }
 
 }