You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by bd...@apache.org on 2010/08/25 19:45:22 UTC

svn commit: r989255 - /tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java

Author: bdaniel
Date: Wed Aug 25 17:45:22 2010
New Revision: 989255

URL: http://svn.apache.org/viewvc?rev=989255&view=rev
Log:
Check for a valid domain URI when an SCAClientFactory is created

Modified:
    tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java

Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java?rev=989255&r1=989254&r2=989255&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java Wed Aug 25 17:45:22 2010
@@ -22,6 +22,7 @@ package org.apache.tuscany.sca.client.im
 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 exten
 
     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<Node> nodes = ((NodeFactoryImpl)nodeFactory).getNodesInDomain(domainName);
+			if ( !nodes.isEmpty() ) 
+				return;			
+		}
+		throw new NoSuchDomainException(getDomainName());
+	}
+
+	@SuppressWarnings("unchecked")
 	@Override
     public <T> T getService(Class<T> serviceInterface, String serviceName) throws NoSuchServiceException, NoSuchDomainException {