From 04d678bc9a96d441397b25911104034a782d9bcb Mon Sep 17 00:00:00 2001 From: bdaniel Date: Wed, 25 Aug 2010 17:45:22 +0000 Subject: Check for a valid domain URI when an SCAClientFactory is created git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@989255 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/client/impl/SCAClientFactoryImpl2.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java') diff --git a/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java b/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java index 8626927097..95e23816b3 100644 --- a/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java +++ b/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java @@ -22,6 +22,7 @@ package org.apache.tuscany.sca.client.impl; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.net.URI; +import java.util.List; import org.apache.tuscany.sca.assembly.Endpoint; import org.apache.tuscany.sca.node.Node; @@ -41,9 +42,20 @@ public class SCAClientFactoryImpl2 extends SCAClientFactory { public SCAClientFactoryImpl2(URI domainURI) throws NoSuchDomainException { super(domainURI); + checkDomainURI(domainURI); } - @SuppressWarnings("unchecked") + private void checkDomainURI(URI domainURI) throws NoSuchDomainException { + for ( NodeFactory nodeFactory : NodeFactory.getNodeFactories()) { + String domainName = getDomainName(); + List nodes = ((NodeFactoryImpl)nodeFactory).getNodesInDomain(domainName); + if ( !nodes.isEmpty() ) + return; + } + throw new NoSuchDomainException(getDomainName()); + } + + @SuppressWarnings("unchecked") @Override public T getService(Class serviceInterface, String serviceName) throws NoSuchServiceException, NoSuchDomainException { -- cgit v1.2.3