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;
}
}