You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/01/29 13:00:30 UTC

svn commit: r904475 - in /tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi: SCAClientFactoryImpl.java SCAClientProxyHandler.java

Author: antelder
Date: Fri Jan 29 12:00:28 2010
New Revision: 904475

URL: http://svn.apache.org/viewvc?rev=904475&view=rev
Log:
Update after registry factory refactor so it doesn't create two client connections on a service invocation

Modified:
    tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java
    tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java

Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java?rev=904475&r1=904474&r2=904475&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientFactoryImpl.java Fri Jan 29 12:00:28 2010
@@ -102,7 +102,7 @@
         if (uri.startsWith("tuscany:")) {
             uri = uri.replace("tuscany:", "tuscanyclient://");
         }
-        InvocationHandler handler = new SCAClientProxyHandler(nodeFactory, uri, serviceName);
+        InvocationHandler handler = new SCAClientProxyHandler(nodeFactory, uri, getDomainName(), serviceName);
         return (T)Proxy.newProxyInstance(serviceInterface.getClassLoader(), new Class[] {serviceInterface}, handler);
 
     }

Modified: tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java?rev=904475&r1=904474&r2=904475&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-rmi/src/main/java/org/apache/tuscany/sca/client/rmi/SCAClientProxyHandler.java Fri Jan 29 12:00:28 2010
@@ -37,8 +37,8 @@
 import org.apache.tuscany.sca.node.NodeFactory;
 import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
 import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
+import org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint;
 import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
 import org.oasisopen.sca.NoSuchServiceException;
 
 public class SCAClientProxyHandler implements InvocationHandler {
@@ -47,12 +47,14 @@
     protected ExtensionPointRegistry extensionsRegistry;
     protected EndpointRegistry endpointRegistry;
     protected EndpointReference endpointReference;
+    protected String registryURI;
+    protected String domainURI;
     protected String serviceName;
     protected RMIHost rmiHost;
-    private String domainURI;
     
-    public SCAClientProxyHandler(NodeFactoryImpl nodeFactory, String domainURI, String serviceName) {
+    public SCAClientProxyHandler(NodeFactoryImpl nodeFactory, String registryURI, String domainURI, String serviceName) {
         this.nodeFactory = nodeFactory;
+        this.registryURI = registryURI;
         this.domainURI = domainURI;
         this.serviceName = serviceName;
     }
@@ -62,7 +64,7 @@
         try {
 
             nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
-            node = nodeFactory.createNode(URI.create(domainURI)).start();
+            node = nodeFactory.createNode(URI.create(registryURI)).start();
             this.extensionsRegistry = nodeFactory.getExtensionPoints();
             RMIHostExtensionPoint rmiHosts = extensionsRegistry.getExtensionPoint(RMIHostExtensionPoint.class);
             this.rmiHost = new ExtensibleRMIHost(rmiHosts);
@@ -75,8 +77,14 @@
             Endpoint targetEndpoint = assemblyFactory.createEndpoint();
             targetEndpoint.setURI(serviceName);
             endpointReference.setTargetEndpoint(targetEndpoint);
-            DomainRegistryFactory domainRegistryFactory = new ExtensibleDomainRegistry(extensionsRegistry);
-            this.endpointRegistry = domainRegistryFactory.getEndpointRegistry(null, domainURI);
+            DomainRegistryFactoryExtensionPoint factoriesx = extensionsRegistry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
+            for (DomainRegistryFactory factory : factoriesx.getDomainRegistryFactories()) {
+                for (EndpointRegistry endpointRegistry : factory.getEndpointRegistries()) {
+                    if (endpointRegistry.getDomainName().equals(domainURI)) {
+                        this.endpointRegistry = endpointRegistry;
+                    }
+                }
+            }
 
             List<Endpoint> endpoints = endpointRegistry.findEndpoint(endpointReference);
             if (endpoints.size() <1 ) {