summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/domain-node/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/domain-node/src/main/java')
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/ConfigAttributesImpl.java35
-rw-r--r--sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java117
2 files changed, 36 insertions, 116 deletions
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/ConfigAttributesImpl.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/ConfigAttributesImpl.java
deleted file mode 100644
index 9a10cbd306..0000000000
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/ConfigAttributesImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.domain.node;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.management.ConfigAttributes;
-
-public class ConfigAttributesImpl implements ConfigAttributes {
-
- private Map<String, String> attributes = new HashMap<String, String>();
-
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
-}
diff --git a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
index 2c9e6dfb77..f6c6dca6ec 100644
--- a/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
+++ b/sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java
@@ -28,10 +28,8 @@ import java.util.Map;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.management.ConfigAttributes;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
-import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
@@ -41,57 +39,37 @@ import org.oasisopen.sca.client.SCAClient;
public class DomainNode {
- public static final String DOMAIN_NAME_ATTR = "domainName";
- public static final String DOMAIN_SCHEME_ATTR = "domainScheme";
- public static final String DEFAULT_DOMAIN_SCHEME = "vm";
- public static final String DEFAULT_DOMAIN_NAME = "defaultDomain";
+ private static final String DEFAULT_DOMAIN_SCHEME = "vm";
+ private static final String DEFAULT_DOMAIN_NAME = "defaultDomain";
+ private static final String DEFAULT_CONFIG_URI = DEFAULT_DOMAIN_SCHEME + "://" + DEFAULT_DOMAIN_NAME;
- private ConfigAttributes configAttributes = new ConfigAttributesImpl();
+ private String domainName;
private String domainRegistryURI;
private NodeFactory nodeFactory;
private Map<String, Node> nodes = new HashMap<String, Node>();
public DomainNode() {
- this(DEFAULT_DOMAIN_SCHEME + "://" + DEFAULT_DOMAIN_NAME);
+ this(DEFAULT_CONFIG_URI, new String[]{});
}
- public DomainNode(String configURI) {
- this.domainRegistryURI = configURI;
- parseConfigURI(configURI);
- start();
+ public DomainNode(String... contributionLocations) {
+ this(DEFAULT_CONFIG_URI, contributionLocations);
}
- public DomainNode(String configURI, String... contributionLocations) {
+ public DomainNode(String configURI, String[] contributionLocations) {
this.domainRegistryURI = configURI;
- parseConfigURI(configURI);
- start();
+ initDomainName(configURI);
+ nodeFactory = NodeFactory.getInstance(domainName);
for (String loc : contributionLocations) {
addContribution(loc);
}
}
-
- public void start() {
- if (nodeFactory != null) {
- throw new IllegalStateException("The node is already started");
- }
-
- nodeFactory = NodeFactory.getInstance(configAttributes.getAttributes().get(DOMAIN_NAME_ATTR));
- }
-
- public boolean isStarted() {
- return nodeFactory != null;
- }
public void stop() {
- if (nodeFactory == null) {
- throw new IllegalStateException("The node is not started");
- }
-
for (Node node : nodes.values()) {
node.stop();
}
-
}
public String addContribution(String location) {
@@ -104,12 +82,7 @@ public class DomainNode {
if (nodes.containsKey(uri)) {
throw new IllegalArgumentException("contribution already added: " + uri);
}
- NodeConfiguration configuration = nodeFactory.createNodeConfiguration();
- configuration.addContribution(uri, location);
- configuration.setDomainRegistryURI(domainRegistryURI);
- configuration.setDomainURI(configAttributes.getAttributes().get(DOMAIN_NAME_ATTR));
- configuration.setURI(uri);
- Node node = nodeFactory.createNode(configuration).start();
+ Node node = nodeFactory.createNode((String)null, new String[] {uri}, new String[] {location}).start();
nodes.put(uri, node);
}
@@ -121,50 +94,8 @@ public class DomainNode {
node.stop();
}
- public ConfigAttributes getConfigAttributes() {
- return configAttributes;
- }
-
public String getDomainName() {
- return configAttributes.getAttributes().get(DOMAIN_NAME_ATTR);
- }
-
- protected void parseConfigURI(String configURI) {
- URI uri = URI.create(fixScheme(configURI));
- String dn = uri.getHost();
- if (dn == null || dn.length() < 1) {
- dn = DEFAULT_DOMAIN_NAME;
- }
- configAttributes.getAttributes().put(DOMAIN_NAME_ATTR, dn);
- String scheme = uri.getScheme();
- if (scheme != null && scheme.length() > 0) {
- configAttributes.getAttributes().put(DOMAIN_SCHEME_ATTR, scheme);
- }
-
- String query = uri.getQuery();
- if (query != null && query.length() > 0) {
- String[] params = query.split("&");
- for (String param : params){
- String name = param.split("=")[0];
- String value = param.split("=")[1];
- configAttributes.getAttributes().put(name, value);
- }
- }
- }
-
- /**
- * I keep typing the scheme part with just a colon instead of colon slash slash
- * which URI doesn't parse properly which irritates me so fix it up here
- */
- private String fixScheme(String uri) {
- int i = uri.indexOf(":");
- if (i > -1 && uri.charAt(i+1) != '/') {
- uri = uri.replaceFirst(":", ":/");
- }
- if (i > -1 && uri.charAt(i+2) != '/') {
- uri = uri.replaceFirst(":/", "://");
- }
- return uri;
+ return domainName;
}
public String getDomainConfigURI() {
@@ -201,4 +132,28 @@ public class DomainNode {
throw new IllegalStateException(e);
}
}
+
+ protected void initDomainName(String configURI) {
+ URI uri = URI.create(fixScheme(configURI));
+ String dn = uri.getHost();
+ if (dn == null || dn.length() < 1) {
+ dn = DEFAULT_DOMAIN_NAME;
+ }
+ domainName = dn;
+ }
+
+ /**
+ * I keep typing the scheme part with just a colon instead of colon slash slash
+ * which URI doesn't parse properly which irritates me so fix it up here
+ */
+ protected String fixScheme(String uri) {
+ int i = uri.indexOf(":");
+ if (i > -1 && uri.charAt(i+1) != '/') {
+ uri = uri.replaceFirst(":", ":/");
+ }
+ if (i > -1 && uri.charAt(i+2) != '/') {
+ uri = uri.replaceFirst(":/", "://");
+ }
+ return uri;
+ }
}