diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-12 08:34:50 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-12 08:34:50 +0000 |
commit | 42f6010685593eb05e63b57c13f3dfc444059540 (patch) | |
tree | 96f875c93f1dd8414e51ce6e1b6cfef0bdebab9c /sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java | |
parent | 5a7c3427072be7d7f49992c8eb1028e0c1855a91 (diff) |
Delete RC tag
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835300 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java')
-rw-r--r-- | sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java b/sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java deleted file mode 100644 index 1259870c37..0000000000 --- a/sca-java-2.x/tags/2.0-M4-RC1/modules/domain-node/src/main/java/org/apache/tuscany/sca/domain/node/DomainNode.java +++ /dev/null @@ -1,157 +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.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-
-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;
-
-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 ConfigAttributes configAttributes = new ConfigAttributesImpl();
- private String domainRegistryURI;
-
- private NodeFactory nodeFactory;
- private Map<String, Node> nodes = new HashMap<String, Node>();
-
- public DomainNode() {
- this(DEFAULT_DOMAIN_SCHEME + "://" + DEFAULT_DOMAIN_NAME);
- }
-
- public DomainNode(String configURI) {
- this.domainRegistryURI = configURI;
- parseConfigURI(configURI);
- start();
- }
-
- public DomainNode(String configURI, String... contributionLocations) {
- this.domainRegistryURI = configURI;
- parseConfigURI(configURI);
- start();
- 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) {
- String uri = location;
- addContribution(uri, location);
- return uri;
- }
-
- public void addContribution(String location, String uri) {
- if (nodes.containsKey(uri)) {
- throw new IllegalArgumentException("contribution already added: " + uri);
- }
- NodeConfiguration configuration =
- nodeFactory.createNodeConfiguration().addContribution(uri, location)
- .setDomainRegistryURI(domainRegistryURI).setDomainURI(configAttributes.getAttributes()
- .get(DOMAIN_NAME_ATTR)).setURI(uri);
- Node node = nodeFactory.createNode(configuration).start();
- nodes.put(uri, node);
- }
-
- public void removeContribution(String uri) {
- if (!nodes.containsKey(uri)) {
- throw new IllegalArgumentException("contribution not found: " + uri);
- }
- Node node = nodes.remove(uri);
- 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;
- }
-}
|