From fab34c8f3e1b0c0340f8f938b076bd855d5382ae Mon Sep 17 00:00:00 2001 From: antelder Date: Mon, 27 Jun 2011 08:34:33 +0000 Subject: Support using null for the domain name and deriving the name from the uri git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1140051 13f79535-47bb-0310-9956-ffa450edef68 --- .../runtime/ExtensibleDomainRegistryFactory.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java') diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java index 64af944c9f..ddb4279a4e 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java @@ -72,6 +72,9 @@ public class ExtensibleDomainRegistryFactory implements DomainRegistryFactory { } 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 ExtensibleDomainRegistryFactory implements DomainRegistryFactory { 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); + } + } + } -- cgit v1.2.3