Author: rfeng
Date: Tue Feb 9 22:14:02 2010
New Revision: 908255
URL: http://svn.apache.org/viewvc?rev=908255&view=rev
Log:
Rename ExtensibleDomainRegistry to ExtensibleDomainRegistryFactory
Added:
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
- copied, changed from r908233,
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistry.java
Removed:
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistry.java
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
tuscany/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/service/discovery/impl/DomainDiscoveryService.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java
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/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/RuntimeSCAServiceBindingProvider.java
Tue Feb 9 22:14:02 2010
@@ -34,7 +34,7 @@
import org.apache.tuscany.sca.provider.ServiceBindingProvider;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
@@ -103,7 +103,7 @@
// find if the node config is for distributed endpoints
// TODO: temp, need a much better way to do this
if (distributedProviderFactory != null) {
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(extensionPoints);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(extensionPoints);
Collection<EndpointRegistry> eprs =
domainRegistryFactory.getEndpointRegistries();
if (eprs.size() > 0) {
String eprName = eprs.iterator().next().getClass().getName();
Copied:
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
(from r908233,
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistry.java)
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java?p2=tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java&p1=tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistry.java&r1=908233&r2=908255&rev=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistry.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ExtensibleDomainRegistryFactory.java
Tue Feb 9 22:14:02 2010
@@ -26,21 +26,27 @@
import java.util.List;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.oasisopen.sca.ServiceRuntimeException;
/**
- *
+ * A delegating DomainRegistryFactory
*/
-public class ExtensibleDomainRegistry implements DomainRegistryFactory {
+public class ExtensibleDomainRegistryFactory implements DomainRegistryFactory {
private final DomainRegistryFactoryExtensionPoint factories;
- public ExtensibleDomainRegistry(ExtensionPointRegistry registry) {
+ public ExtensibleDomainRegistryFactory(ExtensionPointRegistry registry) {
this.factories =
registry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
}
- public ExtensibleDomainRegistry(DomainRegistryFactoryExtensionPoint
factories) {
+ public ExtensibleDomainRegistryFactory(DomainRegistryFactoryExtensionPoint
factories) {
this.factories = factories;
}
+
+ public static ExtensibleDomainRegistryFactory
getInstance(ExtensionPointRegistry registry) {
+ UtilityExtensionPoint utilities =
registry.getExtensionPoint(UtilityExtensionPoint.class);
+ return utilities.getUtility(ExtensibleDomainRegistryFactory.class);
+ }
public void addListener(EndpointListener listener) {
for (DomainRegistryFactory factory :
factories.getDomainRegistryFactories()) {
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
Tue Feb 9 22:14:02 2010
@@ -33,7 +33,7 @@
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
import org.oasisopen.sca.client.SCAClientFactory;
@@ -116,7 +116,7 @@
List<String> serviceNames = new ArrayList<String>();
if (nodes.size() > 0) {
ExtensionPointRegistry extensionsRegistry =
((NodeImpl)nodes.values().iterator().next()).getExtensionPoints();
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(extensionsRegistry);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(extensionsRegistry);
EndpointRegistry endpointRegistry =
domainRegistryFactory.getEndpointRegistry(getDomainConfigURI(),
getDomainName());
for (Endpoint endpoint : endpointRegistry.getEndpoints()) {
// Would be nice if Endpoint.getURI() returned this:
Modified:
tuscany/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/service/discovery/impl/DomainDiscoveryService.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/service/discovery/impl/DomainDiscoveryService.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/service/discovery/impl/DomainDiscoveryService.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/service/discovery/impl/DomainDiscoveryService.java
Tue Feb 9 22:14:02 2010
@@ -31,7 +31,7 @@
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointListener;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.service.remoteserviceadmin.EndpointDescription;
@@ -49,7 +49,7 @@
public void start() {
super.start();
- this.domainRegistryFactory = new ExtensibleDomainRegistry(registry);
+ this.domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(registry);
domainRegistryFactory.addListener(this);
// [rfeng] Starting of the endpoint registry takes a long time and it
leaves the bundle
Modified:
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
Tue Feb 9 22:14:02 2010
@@ -80,7 +80,7 @@
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointReferenceBinder;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.apache.tuscany.sca.work.WorkScheduler;
import org.oasisopen.sca.ServiceRuntimeException;
@@ -301,7 +301,7 @@
// autowire which still relies on matching in the builder
private void postBuildEndpointReferenceMatching(Composite composite){
EndpointReferenceBinder endpointReferenceBinder =
registry.getExtensionPoint(EndpointReferenceBinder.class);
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(registry);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(registry);
// create temporary local registry for all available local endpoints
// TODO - need a better way of getting a local registry
Modified:
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
Tue Feb 9 22:14:02 2010
@@ -51,7 +51,7 @@
import org.apache.tuscany.sca.runtime.CompositeActivator;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentContext;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
@@ -108,7 +108,7 @@
manager.addNode(configuration, this);
this.proxyFactory = manager.proxyFactory;
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(manager.registry);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(manager.registry);
EndpointRegistry endpointRegistry =
domainRegistryFactory.getEndpointRegistry(configuration.getDomainRegistryURI(),
configuration
.getDomainURI());
Modified:
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/META-INF/MANIFEST.MF
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-client-impl/META-INF/MANIFEST.MF?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/sca-client-impl/META-INF/MANIFEST.MF
(original)
+++ tuscany/sca-java-2.x/trunk/modules/sca-client-impl/META-INF/MANIFEST.MF Tue
Feb 9 22:14:02 2010
@@ -8,6 +8,7 @@
Bundle-Description: Apache Tuscany SCA Client Impl
Import-Package: org.apache.tuscany.sca.assembly;version="2.0.0",
org.apache.tuscany.sca.core;version="2.0.0",
+ org.apache.tuscany.sca.context;version="2.0.0",
org.apache.tuscany.sca.node;version="2.0.0",
org.apache.tuscany.sca.node.impl;version="2.0.0",
org.apache.tuscany.sca.runtime;version="2.0.0",
Modified:
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.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/SCAClientFactoryImpl.java?rev=908255&r1=908254&r2=908255&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/sca-client-impl/src/main/java/org/apache/tuscany/sca/client/impl/SCAClientFactoryImpl.java
Tue Feb 9 22:14:02 2010
@@ -19,12 +19,12 @@
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 java.util.UUID;
import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.context.CompositeContext;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
@@ -32,9 +32,13 @@
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
+import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
+import org.oasisopen.sca.ServiceReference;
+import org.oasisopen.sca.ServiceRuntimeException;
import org.oasisopen.sca.client.SCAClientFactory;
import org.oasisopen.sca.client.SCAClientFactoryFinder;
@@ -47,13 +51,14 @@
private ExtensionPointRegistry extensionsRegistry;
private EndpointRegistry endpointRegistry;
private NodeFactoryImpl nodeFactory;
+ private CompositeContext compositeContext;
public SCAClientFactoryImpl(URI domainURI) throws NoSuchDomainException {
super(domainURI);
this.nodeFactory = (NodeFactoryImpl)NodeFactory.getInstance();
this.extensionsRegistry = nodeFactory.getExtensionPoints();
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(extensionsRegistry);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(extensionsRegistry);
this.endpointRegistry =
domainRegistryFactory.getEndpointRegistry(null, getDomainURI().toString()); //
TODO: shouldnt use null for reg uri
// TODO: if there is not an existing endpoint registry for the domain
URI the
// this should create an endpoint registry client for the remote
domain (eg hazelcast native client)
@@ -61,6 +66,9 @@
if (endpointRegistry == null) {
throw new NoSuchDomainException(domainURI.toString());
}
+ String client = "sca.client." + UUID.randomUUID();
+ this.compositeContext =
+ new CompositeContext(extensionsRegistry, endpointRegistry, null,
domainURI.toString(), client);
}
@Override
@@ -76,27 +84,30 @@
if (localNode != null) {
return localNode.getService(serviceInterface, serviceName);
}
-
- InvocationHandler handler = new SCAClientProxyHandler(serviceName,
extensionsRegistry, endpointRegistry);
- return (T)Proxy.newProxyInstance(serviceInterface.getClassLoader(),
new Class[] {serviceInterface}, handler);
+
+ RuntimeComponent component;
+ try {
+ component = (RuntimeComponent) endpoint.getComponent().clone();
+ } catch (CloneNotSupportedException e) {
+ throw new ServiceRuntimeException(e);
+ }
+ compositeContext.bindComponent(component);
+ RuntimeEndpoint runtimeEndpoint = (RuntimeEndpoint)
component.getServices().get(0).getEndpoints().get(0);
+ runtimeEndpoint.setRemote(true);
+ ServiceReference<T> serviceReference =
component.getComponentContext().getServiceReference(serviceInterface,
runtimeEndpoint);
+ return serviceReference.getService();
+
}
private Node findLocalNode(Endpoint endpoint) {
for (Node node : nodeFactory.getNodes().values()) {
- for (Endpoint ep : ((NodeImpl)node).getServiceEndpoints()) {
+ for (Endpoint ep : ((NodeImpl)node).getServiceEndpoints()) {
if (endpoint.getURI().equals(ep.getURI())) {
return node;
}
- }
+ }
}
return null;
}
- private String getDomainName() {
- // TODO: parse to extract just the domain name from the uri
- if (getDomainURI().getHost() != null) {
- return getDomainURI().getHost();
- }
- return getDomainURI().toString();
- }
}
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=908255&r1=908254&r2=908255&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
Tue Feb 9 22:14:02 2010
@@ -32,7 +32,7 @@
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
-import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistry;
+import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
import org.oasisopen.sca.client.SCAClientFactory;
@@ -55,7 +55,7 @@
this.extensionsRegistry = nodeFactory.getExtensionPoints();
if (extensionsRegistry != null) {
this.extensionsRegistry = nodeFactory.getExtensionPoints();
- DomainRegistryFactory domainRegistryFactory = new
ExtensibleDomainRegistry(extensionsRegistry);
+ DomainRegistryFactory domainRegistryFactory =
ExtensibleDomainRegistryFactory.getInstance(extensionsRegistry);
this.endpointRegistry =
domainRegistryFactory.getEndpointRegistry(getRegistryURI(), getDomainName());
}
}
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=908255&r1=908254&r2=908255&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
Tue Feb 9 22:14:02 2010
@@ -80,7 +80,7 @@
DomainRegistryFactoryExtensionPoint factoriesx =
extensionsRegistry.getExtensionPoint(DomainRegistryFactoryExtensionPoint.class);
for (DomainRegistryFactory factory :
factoriesx.getDomainRegistryFactories()) {
for (EndpointRegistry endpointRegistry :
factory.getEndpointRegistries()) {
- if (endpointRegistry.getDomainName().equals(domainURI)) {
+ if (endpointRegistry.getDomainURI().equals(domainURI)) {
this.endpointRegistry = endpointRegistry;
}
}