summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-01-20 23:42:12 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-01-20 23:42:12 +0000
commit00963d0eba44bbdbcc7a36a1b4d97ee1befd1d57 (patch)
tree80d85e14f50e8e8707e1a73974dadd1903414dd0 /sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java
parent5f133f5fbe22e2794aa726ed610325ab3e021213 (diff)
Partially fix TUSCANY-3675 to get some distributed domain functions working again
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1061571 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java')
-rw-r--r--sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastDomainRegistryFactory.java2
-rw-r--r--sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java6
-rw-r--r--sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/RegistryConfig.java40
3 files changed, 44 insertions, 4 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastDomainRegistryFactory.java b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastDomainRegistryFactory.java
index 87c60e4b38..291553705b 100644
--- a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastDomainRegistryFactory.java
+++ b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastDomainRegistryFactory.java
@@ -40,7 +40,7 @@ public class HazelcastDomainRegistryFactory extends BaseDomainRegistryFactory {
protected EndpointRegistry createEndpointRegistry(String endpointRegistryURI, String domainURI) {
Properties properties = registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(RuntimeProperties.class).getProperties();
- return new HazelcastEndpointRegistry(registry, properties, domainURI);
+ return new HazelcastEndpointRegistry(registry, properties, endpointRegistryURI, domainURI);
}
public String[] getSupportedSchemes() {
diff --git a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
index 004aa81816..aa97ff3a1b 100644
--- a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
+++ b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/HazelcastEndpointRegistry.java
@@ -72,8 +72,8 @@ public class HazelcastEndpointRegistry extends BaseEndpointRegistry implements E
protected Object shutdownMutex = new Object();
protected Properties properties;
- public HazelcastEndpointRegistry(ExtensionPointRegistry registry, Properties properties, String domainURI) {
- super(registry, null, null, domainURI);
+ public HazelcastEndpointRegistry(ExtensionPointRegistry registry, Properties properties, String endpointRegistryURI, String domainURI) {
+ super(registry, null, endpointRegistryURI, domainURI);
this.assemblyFactory = registry.getExtensionPoint(FactoryExtensionPoint.class).getFactory(AssemblyFactory.class);
this.properties = properties;
}
@@ -157,7 +157,7 @@ public class HazelcastEndpointRegistry extends BaseEndpointRegistry implements E
// TUSCANY-3675 - domainRegistryURI properties don't seem to be copied into the
// properties collection anywhere
config = new XmlConfigBuilder().build();
- RegistryConfig rc = new RegistryConfig(properties);
+ RegistryConfig rc = RegistryConfig.parseConfigURI(domainRegistryURI);
config.setPort(rc.getBindPort());
//config.setPortAutoIncrement(false);
diff --git a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/RegistryConfig.java b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/RegistryConfig.java
index bd44e69867..4bf3d6c73a 100644
--- a/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/RegistryConfig.java
+++ b/sca-java-2.x/trunk/modules/domain-hazelcast/src/main/java/org/apache/tuscany/sca/endpoint/hazelcast/RegistryConfig.java
@@ -20,7 +20,9 @@
package org.apache.tuscany.sca.endpoint.hazelcast;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
@@ -134,4 +136,42 @@ public class RegistryConfig {
public String getPassword() {
return password;
}
+
+ /**
+ * Parse the config string into a Properties object.
+ * The config URI has the following format:
+ * uri:<domainName>?name=value&...
+ */
+ public static RegistryConfig parseConfigURI(String configURI) {
+ Properties properties = new Properties();
+ int c = configURI.indexOf(':');
+ if (c > -1) {
+ configURI = configURI.substring(c+1);
+ }
+ int qm = configURI.indexOf('?');
+ if (qm < 0) {
+ properties.setProperty("defaultDomainName", configURI);
+ } else {
+ if (qm == 0) {
+ properties.setProperty("defaultDomainName", "default");
+ } else {
+ properties.setProperty("defaultDomainName", configURI.substring(0, qm));
+ }
+ if (configURI.length() > qm+1) {
+ Map<String, String> params = new HashMap<String, String>();
+ for (String param : configURI.substring(qm+1).split("&")) {
+ String[] px = param.split("=");
+ if (px.length == 2) {
+ params.put(px[0], px[1]);
+ } else {
+ params.put(px[0], "");
+ }
+ }
+ for (String name : params.keySet()) {
+ properties.setProperty(name, params.get(name));
+ }
+ }
+ }
+ return new RegistryConfig(properties);
+ }
}