From 0738dca15be70913d811e2d03c2247c25ad3aaab Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 24 Nov 2009 11:30:21 +0000 Subject: Remove ConfigAttributesImpl as its not used now and simplify constructors git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@883659 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/domain/node/ConfigAttributesImpl.java | 35 ------ .../apache/tuscany/sca/domain/node/DomainNode.java | 117 +++++++-------------- 2 files changed, 36 insertions(+), 116 deletions(-) delete mode 100644 sca-java-2.x/trunk/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/ConfigAttributesImpl.java (limited to 'sca-java-2.x/trunk/modules/domain-node/src/main/java/org') 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 attributes = new HashMap(); - - public Map 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 nodes = new HashMap(); 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; + } } -- cgit v1.2.3