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 2011/01/14 08:40:47 UTC
svn commit: r1058877 -
/tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
Author: antelder
Date: Fri Jan 14 07:40:46 2011
New Revision: 1058877
URL: http://svn.apache.org/viewvc?rev=1058877&view=rev
Log:
Update to use local version of Endpoint if a local Endpoint exists
Modified:
tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
Modified: tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java?rev=1058877&r1=1058876&r2=1058877&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java Fri Jan 14 07:40:46 2011
@@ -224,23 +224,28 @@ public class HazelcastEndpointRegistry e
Endpoint endpoint = (Endpoint)v;
logger.fine("Matching against - " + endpoint);
if (endpoint.matches(uri)) {
- if (!isLocal(endpoint)) {
- endpoint.setRemote(true);
- ((RuntimeEndpoint)endpoint).bind(registry, this);
- } else {
- // get the local version of the endpoint
- // this local version won't have been serialized
- // won't be marked as remote and will have the
- // full interface contract information
- endpoint = localEndpoints.get(endpoint.getURI());
- }
-
+ endpoint = localizeEndpoint(endpoint);
foundEndpoints.add(endpoint);
logger.fine("Found endpoint with matching service - " + endpoint);
}
}
return foundEndpoints;
}
+
+ private Endpoint localizeEndpoint(Endpoint endpoint) {
+ if (endpoint == null) return null;
+ if (!isLocal(endpoint)) {
+ endpoint.setRemote(true);
+ ((RuntimeEndpoint)endpoint).bind(registry, this);
+ } else {
+ // get the local version of the endpoint
+ // this local version won't have been serialized
+ // won't be marked as remote and will have the
+ // full interface contract information
+ endpoint = localEndpoints.get(endpoint.getURI());
+ }
+ return endpoint;
+ }
private boolean isLocal(Endpoint endpoint) {
@@ -248,11 +253,15 @@ public class HazelcastEndpointRegistry e
}
public Endpoint getEndpoint(String uri) {
- return (Endpoint)endpointMap.get(uri);
+ return localizeEndpoint((Endpoint)endpointMap.get(uri));
}
public List<Endpoint> getEndpoints() {
- return new ArrayList(endpointMap.values());
+ ArrayList<Endpoint> eps = new ArrayList();
+ for (Object ep : endpointMap.values()) {
+ eps.add(localizeEndpoint((Endpoint)ep));
+ }
+ return eps;
}
public void removeEndpoint(Endpoint endpoint) {