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/10/30 00:01:46 UTC

svn commit: r1028923 - in /tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl: SCAClientFactoryImpl2.java SCAClientHandler.java

Author: bdaniel
Date: Fri Oct 29 22:01:46 2010
New Revision: 1028923

URL: http://svn.apache.org/viewvc?rev=1028923&view=rev
Log:
TUSCANY-3720 merge changes to 2.0-Beta1

Modified:
    tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java
    tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java

Modified: tuscany/sca-java-2.x/branches/2.0-Beta1/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/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java?rev=1028923&r1=1028922&r2=1028923&view=diff
==============================================================================
--- tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java (original)
+++ tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl2.java Fri Oct 29 22:01:46 2010
@@ -46,13 +46,17 @@ public class SCAClientFactoryImpl2 exten
     }   
     
     private void checkDomainURI(URI domainURI) throws NoSuchDomainException {
-		for ( NodeFactory nodeFactory : NodeFactory.getNodeFactories()) {
-			String domainName = getDomainName();
+    	// Check for local node
+    	String domainName = getDomainName();
+		for ( NodeFactory nodeFactory : NodeFactory.getNodeFactories()) {			
 			List<Node> nodes = ((NodeFactoryImpl)nodeFactory).getNodesInDomain(domainName);
 			if ( !nodes.isEmpty() ) 
 				return;			
 		}
-		throw new NoSuchDomainException(getDomainName());
+		
+		// Check for remote node
+		SCAClientHandler handler = new SCAClientHandler(domainName, null, null);
+		handler.checkDomain();
 	}
 
 	@SuppressWarnings("unchecked")

Modified: tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java?rev=1028923&r1=1028922&r2=1028923&view=diff
==============================================================================
--- tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java (original)
+++ tuscany/sca-java-2.x/branches/2.0-Beta1/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientHandler.java Fri Oct 29 22:01:46 2010
@@ -71,6 +71,42 @@ public class SCAClientHandler implements
         this.serviceInterface = serviceInterface;
     }
 
+    public void checkDomain() throws NoSuchDomainException {
+        NodeFactoryImpl nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance(domainURI);
+        try {
+            nodeFactory.init();
+            
+            ExtensionPointRegistry extensionsRegistry = nodeFactory.getExtensionPointRegistry();
+            Properties props = extensionsRegistry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(RuntimeProperties.class).getProperties();
+            props.setProperty("client", "true");
+            DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(extensionsRegistry);
+            
+            String registryURI = domainURI;
+
+            // TODO: theres better ways to do this but this gets things working for now
+            if (registryURI.indexOf(":") == -1) {
+                registryURI = "tuscanyclient:" + registryURI;
+            }
+            if (registryURI.startsWith("uri:")) {
+                registryURI = "tuscanyclient:" + registryURI.substring(4);
+            }
+            if (registryURI.startsWith("tuscany:")) {
+                registryURI = "tuscanyclient:" + registryURI.substring(8);
+            }
+            
+          
+            try {
+                domainRegistryFactory.getEndpointRegistry(registryURI, domainURI);
+            } catch (Exception e) {
+                throw new NoSuchDomainException(domainURI, e);
+            }
+        } finally {
+            nodeFactory.destroy();
+        }
+    }
+    
+   
+          
     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
         NodeFactoryImpl nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance(domainURI);
         try {