diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-10-26 10:56:15 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-10-26 10:56:15 +0000 |
commit | 938e8f66975589a340ec3818cf50a7ae672161f4 (patch) | |
tree | 489233323660e909de64fe23497d550f94a75813 /sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src | |
parent | 3073bdac3b8a147d82a87b94c33ea47a43080c22 (diff) |
Delete and redo release branch
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1027457 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src')
21 files changed, 0 insertions, 2099 deletions
diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationATOMProcessor.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationATOMProcessor.java deleted file mode 100644 index d11eb317cf..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationATOMProcessor.java +++ /dev/null @@ -1,160 +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.node.configuration.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.node.configuration.ContributionConfiguration; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory; - -/** - * Implements a StAX artifact processor for configured node implementations. - * - * @version $Rev$ $Date$ - */ -public class NodeConfigurationATOMProcessor extends BaseStAXArtifactProcessor implements - StAXArtifactProcessor<NodeConfiguration> { - - private static final String ATOM_NS = "http://www.w3.org/2005/Atom"; - private static final QName FEED_QNAME = new QName(ATOM_NS, "feed"); - private static final QName ENTRY_QNAME = new QName(ATOM_NS, "entry"); - private static final QName ID_QNAME = new QName(ATOM_NS, "id"); - private static final QName LINK_QNAME = new QName(ATOM_NS, "link"); - private static final QName CONTENT_QNAME = new QName(ATOM_NS, "content"); - private static final String HREF = "href"; - - private NodeConfigurationFactory factory; - - public NodeConfigurationATOMProcessor(FactoryExtensionPoint modelFactories) { - this.factory = modelFactories.getFactory(NodeConfigurationFactory.class); - } - - public QName getArtifactType() { - return null; - } - - public Class<NodeConfiguration> getModelType() { - // Returns the type of model processed by this processor - return NodeConfiguration.class; - } - - public NodeConfiguration read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - - NodeConfiguration config = factory.createNodeConfiguration(); - - // Read a feed containing links to the composite and the contributions assigned to - // the node - ContributionConfiguration contribution = null; - boolean id = false; - QName name = null; - - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - - case START_ELEMENT: - name = reader.getName(); - - if (ENTRY_QNAME.equals(name)) { - - // Read an <entry> - contribution = factory.createContributionConfiguration(); - } else if (ID_QNAME.equals(name)) { - - // Read an <id> - id = true; - - } else if (LINK_QNAME.equals(name)) { - - // Read a <link> - String href = getString(reader, HREF); - - if (contribution != null) { - contribution.setLocation(href); - } - } else if (CONTENT_QNAME.equals(name)) { - // Read a <content> - } else if (FEED_QNAME.equals(name)) { - // Read a <feed> - } - break; - - case XMLStreamConstants.CHARACTERS: - - // Read characters inside an <id> element - if (id) { - if (contribution != null) { - contribution.setURI(reader.getText()); - } - } - break; - - case END_ELEMENT: - name = reader.getName(); - - // Clear current state when reading reaching end element - if (ENTRY_QNAME.equals(name)) { - if (contribution != null) { - config.getContributions().add(contribution); - } - - contribution = null; - - } else if (ID_QNAME.equals(name)) { - id = false; - - } else if (FEED_QNAME.equals(name)) { - - // We've reached the end of the feed - return config; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - return config; - } - - public void resolve(NodeConfiguration implementation, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - } - - public void write(NodeConfiguration implementation, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessor.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessor.java deleted file mode 100644 index 663129bc0f..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessor.java +++ /dev/null @@ -1,247 +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.node.configuration.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import java.io.StringReader; -import java.io.StringWriter; -import java.util.Arrays; -import java.util.StringTokenizer; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.common.xml.stax.StAXHelper; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.node.configuration.BindingConfiguration; -import org.apache.tuscany.sca.node.configuration.ContributionConfiguration; -import org.apache.tuscany.sca.node.configuration.DeploymentComposite; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory; - -/** - * Implements a StAX artifact processor for node implementations. - * - * @version $Rev$ $Date$ - */ -public class NodeConfigurationProcessor extends BaseStAXArtifactProcessor implements - StAXArtifactProcessor<NodeConfiguration> { - private static final String SCA11_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - private static final QName NODE = new QName(SCA11_TUSCANY_NS, "node"); - private static final QName CONTRIBUTION = new QName(SCA11_TUSCANY_NS, "contribution"); - private static final QName BINDING = new QName(SCA11_TUSCANY_NS, "binding"); - private static final QName BASE_URI = new QName(SCA11_TUSCANY_NS, "baseURI"); - private static final QName DEPLOYMENT_COMPOSITE = new QName(SCA11_TUSCANY_NS, "deploymentComposite"); - - private static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200912"; - private static final QName COMPOSITE = new QName(SCA11_NS, "composite"); - - private StAXArtifactProcessor processor; - private NodeConfigurationFactory nodeConfigurationFactory; - private StAXHelper helper; - - public NodeConfigurationProcessor(ExtensionPointRegistry registry, - StAXArtifactProcessor processor) { - FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class); - this.nodeConfigurationFactory = modelFactories.getFactory(NodeConfigurationFactory.class); - this.processor = processor; - this.helper = StAXHelper.getInstance(registry); - } - - public QName getArtifactType() { - // Returns the QName of the XML element processed by this processor - return NODE; - } - - public Class<NodeConfiguration> getModelType() { - // Returns the type of model processed by this processor - return NodeConfiguration.class; - } - - public NodeConfiguration read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - - NodeConfiguration node = null; - ContributionConfiguration contribution = null; - DeploymentComposite composite = null; - BindingConfiguration binding = null; - - // Skip to end element - while (true) { - int event = reader.getEventType(); - switch (event) { - case XMLStreamConstants.START_ELEMENT: - QName name = reader.getName(); - if (NODE.equals(name)) { - node = nodeConfigurationFactory.createNodeConfiguration(); - node.setURI(reader.getAttributeValue(null, "uri")); - node.setDomainURI(reader.getAttributeValue(null, "domain")); - node.setDomainRegistryURI(reader.getAttributeValue(null, "domainRegistry")); - } else if (CONTRIBUTION.equals(name)) { - contribution = nodeConfigurationFactory.createContributionConfiguration(); - contribution.setURI(reader.getAttributeValue(null, "uri")); - contribution.setLocation(reader.getAttributeValue(null, "location")); - contribution.setMetaDataURL(reader.getAttributeValue(null, "metaDataURL")); - String startDeployables = reader.getAttributeValue(null, "startDeployables"); - if (startDeployables != null) { - contribution.setStartDeployables(Boolean.parseBoolean(startDeployables)); - } - String dependentURIs = reader.getAttributeValue(null, "dependentURIs"); - if (dependentURIs != null) { - contribution.setDependentContributionURIs(Arrays.asList(dependentURIs.split(","))); - } - node.getContributions().add(contribution); - } else if (BINDING.equals(name)) { - binding = nodeConfigurationFactory.createBindingConfiguration(); - binding.setBindingType(getQName(reader, "name")); - String baseURIs = reader.getAttributeValue(null, "baseURIs"); - if (baseURIs != null) { - StringTokenizer tokenizer = new StringTokenizer(baseURIs); - while (tokenizer.hasMoreTokens()) { - binding.getBaseURIs().add(tokenizer.nextToken()); - } - } - node.getBindings().add(binding); - } else if (DEPLOYMENT_COMPOSITE.equals(name)) { - composite = nodeConfigurationFactory.createDeploymentComposite(); - composite.setLocation(reader.getAttributeValue(null, "location")); - if (contribution != null) { - contribution.getDeploymentComposites().add(composite); - } - } else if(BASE_URI.equals(name)) { - // We also support <baseURI> element - String baseURI = reader.getElementText(); - if (baseURI != null && binding != null) { - baseURI = baseURI.trim(); - binding.addBaseURI(baseURI); - } - // getElementText() moves the event to END_ELEMENT - continue; - } else if (COMPOSITE.equals(name)) { - /* - Object model = processor.read(reader); - if (model instanceof Composite) { - // FIXME: We need to capture the text here - // composite.setComposite((Composite)model); - } - */ - StringWriter sw = new StringWriter(); - XMLStreamWriter writer = helper.createXMLStreamWriter(sw); - helper.save(reader, writer); - composite.setContent(sw.toString()); - } else { - node.getExtensions().add(processor.read(reader, context)); - } - break; - - case END_ELEMENT: - name = reader.getName(); - if (NODE.equals(name)) { - return node; - } else if (CONTRIBUTION.equals(name)) { - contribution = null; - } else if (DEPLOYMENT_COMPOSITE.equals(name)) { - composite = null; - } else if (BINDING.equals(name)) { - binding = null; - } - } - if (reader.hasNext()) { - reader.next(); - } else { - break; - } - } - - return node; - } - - public void resolve(NodeConfiguration node, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - } - - public void write(NodeConfiguration node, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - - writeStart(writer, - NODE.getNamespaceURI(), - NODE.getLocalPart(), - new XAttr("uri", node.getURI()), - new XAttr("domainRegistry", node.getDomainRegistryURI()), - new XAttr("domain", node.getDomainURI())); - - for (ContributionConfiguration c : node.getContributions()) { - writeStart(writer, - CONTRIBUTION.getNamespaceURI(), - CONTRIBUTION.getLocalPart(), - new XAttr("uri", c.getURI()), - new XAttr("location", c.getLocation())); - for (DeploymentComposite dc : c.getDeploymentComposites()) { - writeStart(writer, - DEPLOYMENT_COMPOSITE.getNamespaceURI(), - DEPLOYMENT_COMPOSITE.getLocalPart(), - new XAttr("location", dc.getLocation()), - new XAttr("contribution", dc.getContributionURI())); - if (dc.getContent() != null) { - XMLStreamReader reader = helper.createXMLStreamReader(new StringReader(dc.getContent())); - reader.nextTag(); // Move to the first element - helper.save(reader, writer); - reader.close(); - } - writeEnd(writer); - } - writeEnd(writer); - } - - for (BindingConfiguration b : node.getBindings()) { - StringBuffer uris = new StringBuffer(); - for (String uri : b.getBaseURIs()) { - uris.append(uri).append(' '); - } - if (uris.length() > 0) { - uris.deleteCharAt(uris.length() - 1); // Remove the trailing space - } else { - uris = null; - } - String baseURIs = (uris == null) ? null : uris.toString(); - writeStart(writer, - BINDING.getNamespaceURI(), - BINDING.getLocalPart(), - new XAttr("name", b.getBindingType()), - new XAttr("baseURIs", baseURIs)); - writeEnd(writer); - } - - for(Object o: node.getExtensions()) { - processor.write(o, writer, context); - } - - writeEnd(writer); - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java deleted file mode 100644 index 5497acd6cf..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java +++ /dev/null @@ -1,533 +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.node.impl; - -import static java.lang.System.currentTimeMillis; -import static org.apache.tuscany.sca.common.java.io.IOHelper.createURI; -import static org.apache.tuscany.sca.common.java.io.IOHelper.openStream; - -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringReader; -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointReference; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.common.java.io.IOHelper; -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.core.assembly.RuntimeAssemblyFactory; -import org.apache.tuscany.sca.core.invocation.ExtensibleProxyFactory; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.deployment.Deployer; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.apache.tuscany.sca.node.configuration.BindingConfiguration; -import org.apache.tuscany.sca.node.configuration.ContributionConfiguration; -import org.apache.tuscany.sca.node.configuration.DefaultNodeConfigurationFactory; -import org.apache.tuscany.sca.node.configuration.DeploymentComposite; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory; -import org.apache.tuscany.sca.runtime.DomainRegistryFactory; -import org.apache.tuscany.sca.runtime.EndpointReferenceBinder; -import org.apache.tuscany.sca.runtime.EndpointRegistry; -import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory; -import org.apache.tuscany.sca.runtime.RuntimeProperties; -import org.apache.tuscany.sca.work.WorkScheduler; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * This class provides a node factory that can create multiple nodes that share the same - * extension point registry - */ -public class NodeFactoryImpl extends NodeFactory { - protected static final Logger logger = Logger.getLogger(NodeImpl.class.getName()); - - protected boolean inited; - protected Map<Object, Node> nodes = new ConcurrentHashMap<Object, Node>(); - - protected Deployer deployer; - protected ExtensionPointRegistry registry; - protected ProxyFactory proxyFactory; - protected MonitorFactory monitorFactory; - - /** - * Automatically destroy the factory when last node is stopped. Subclasses - * can set this flag. - */ - protected boolean autoDestroy = true; - - @Override - public Node createNode(NodeConfiguration configuration) { - if (configuration.getURI() == null) { - // Make sure a unique node URI is created for the same node factory - configuration.setURI(generateNodeURI()); - } - return new NodeImpl(this, configuration); - } - - protected Node removeNode(NodeConfiguration configuration) { - Node node = nodes.remove(getNodeKey(configuration)); - if (autoDestroy && nodes.isEmpty()) { - destroy(); - } - return node; - } - - @SuppressWarnings("unchecked") - @Override - public Node createNode(List<?> contributions) { - NodeConfigurationFactory nodeConfigurationFactory = new DefaultNodeConfigurationFactory(); - return new NodeImpl(this, nodeConfigurationFactory.createNodeConfiguration(), new ArrayList<Contribution>((List<Contribution>)contributions)); - } - - protected void addNode(NodeConfiguration configuration, Node node) { - nodes.put(getNodeKey(configuration), node); - } - - @Override - public NodeConfiguration loadConfiguration(InputStream xml, URL base) { - try { - init(); - InputStreamReader reader = new InputStreamReader(xml, "UTF-8"); - ProcessorContext context = deployer.createProcessorContext(); - NodeConfiguration config = deployer.loadXMLDocument(reader, context.getMonitor()); - if (base != null && config != null) { - // Resolve the contribution location against the node.xml - for (ContributionConfiguration c : config.getContributions()) { - String location = c.getLocation(); - if (location != null) { - URL url = new URL(base, location); - url = IOHelper.normalize(url); - c.setLocation(url.toString()); - } - } - } - return config; - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } - } - - public Map<Object, Node> getNodes() { - return nodes; - } - - public List<Node> getNodesInDomain(String domainName) { - List<Node> domainNodes = new ArrayList<Node>(); - if (nodes != null) { - for (Node n : nodes.values()) { - if (domainName.equals(((NodeImpl)n).getConfiguration().getDomainURI())) { - domainNodes.add(n); - } - } - } - return domainNodes; - } - - protected Object getNodeKey(NodeConfiguration configuration) { - return new NodeKey(configuration); - } - - public synchronized void destroy() { - if (inited) { - for (Node node : nodes.values()) { - node.stop(); - } - nodes.clear(); - deployer.stop(); - registry.stop(); - super.destroy(); - inited = false; - } - } - - /** - * Analyze problems reported by the artifact processors and builders. - * - * @throws Exception - */ - private void analyzeProblems(Monitor monitor) throws Throwable { - try { - for (Problem problem : monitor.getProblems()) { - if ((problem.getSeverity() == Severity.ERROR)) { - if (problem.getCause() != null) { - throw problem.getCause(); - } else { - throw new ServiceRuntimeException(problem.toString()); - } - } - } - } finally { - // FIXME: Clear problems so that the monitor is clean again - monitor.reset(); - } - } - - private boolean attachDeploymentComposite(Contribution contribution, Reader xml, String location, boolean attached, ProcessorContext context) - throws XMLStreamException, ContributionReadException { - - // Read the composite model - Composite composite = deployer.loadXMLDocument(xml, context.getMonitor()); - - // Replace the deployable composites with the deployment composites - // Clear the deployable composites if it's the first deployment composite - deployer.attachDeploymentComposite(contribution, composite, attached); - if (!attached) { - attached = true; - } - return attached; - } - - public ExtensionPointRegistry getExtensionPointRegistry() { - if (registry == null) { - // Create extension point registry - registry = createExtensionPointRegistry(); - registry.start(); - } - return registry; - } - - public synchronized void init() { - if (inited) { - return; - } - long start = currentTimeMillis(); - - getExtensionPointRegistry(); - - UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); - monitorFactory = utilities.getUtility(MonitorFactory.class); - - utilities.getUtility(RuntimeProperties.class).setProperties(properties); - - // Use the runtime-enabled assembly factory - FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(registry); - modelFactories.addFactory(assemblyFactory); - - // Load the Deployer - deployer = utilities.getUtility(Deployer.class); - - // Enable schema validation only of the logger level is FINE or higher - deployer.setSchemaValidationEnabled(isSchemaValidationEnabled()); - - // Initialize the Tuscany module activators - // The module activators will be started - registry.getExtensionPoint(ModuleActivatorExtensionPoint.class); - - // Initialize runtime - - // Get proxy factory - proxyFactory = ExtensibleProxyFactory.getInstance(registry); - - utilities.getUtility(WorkScheduler.class); - - inited = true; - - if (logger.isLoggable(Level.FINE)) { - long end = currentTimeMillis(); - logger.fine("The tuscany runtime started in " + (end - start) + " ms."); - } - } - - public void start() { - init(); - DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(registry); - domainRegistryFactory.getEndpointRegistry(properties.getProperty("reguri"), properties.getProperty("defaultDomainName")); - } - - protected ExtensionPointRegistry createExtensionPointRegistry() { - return new DefaultExtensionPointRegistry(); - } - - protected boolean isSchemaValidationEnabled() { - String enabled = getSystemProperty(ValidationSchemaExtensionPoint.class.getName() + ".enabled"); - if (enabled == null) { - enabled = "true"; - } - boolean debug = logger.isLoggable(Level.FINE); - return "true".equals(enabled) || debug; - } - - protected Composite configureNode(NodeConfiguration configuration, List<Contribution> contributions, ProcessorContext context) - throws Throwable { - if (contributions == null) { - // Load contributions - contributions = loadContributions(configuration, context); - } - - Monitor monitor = context.getMonitor(); - Map<QName, List<String>> bindingBaseURIs = new HashMap<QName, List<String>>(); - for (BindingConfiguration config : configuration.getBindings()) { - bindingBaseURIs.put(config.getBindingType(), config.getBaseURIs()); - } - List<Contribution> allContributions = getAllContributions(configuration.getDomainURI()); - - Composite domainComposite = deployer.build(contributions, allContributions, bindingBaseURIs, monitor); - analyzeProblems(monitor); - - // postBuildEndpointReferenceMatching(domainComposite); - - return domainComposite; - } - - private List<Contribution> getAllContributions(String domainName) { - List<Contribution> contributions = new ArrayList<Contribution>(); - for (NodeFactory f : getNodeFactories()) { - for (Node node : ((NodeFactoryImpl)f).getNodesInDomain(domainName)) { - contributions.addAll(((NodeImpl)node).getContributions()); - } - } - return contributions; - } - - // ============================================= - // TODO - TUSCANY-3425 - // post build endpoint reference matching. Give the matching algorithm - // a chance to run and report any errors for local references prior to - // runtime start. Not in use at the moment as we are getting away with - // runtime matching. Leaving here for when we come to sorting out - // autowire which still relies on matching in the builder - private void postBuildEndpointReferenceMatching(Composite composite){ - EndpointReferenceBinder endpointReferenceBinder = registry.getExtensionPoint(EndpointReferenceBinder.class); - DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(registry); - - // create temporary local registry for all available local endpoints - // TODO - need a better way of getting a local registry - EndpointRegistry registry = domainRegistryFactory.getEndpointRegistry("vm://tmp", "local"); - - // populate the registry with all the endpoints that are currently present in the model - populateLocalRegistry(composite, registry); - - // look at all the endpoint references and try to match them to - // any local endpoints - for (EndpointReference endpointReference : registry.getEndpointReferences()){ - endpointReferenceBinder.bindBuildTime(registry, endpointReference); - } - - // remove the local registry - domainRegistryFactory.getEndpointRegistries().remove(registry); - } - - private void populateLocalRegistry(Composite composite, EndpointRegistry registry){ - for (Component component : composite.getComponents()) { - // recurse for composite implementations - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - populateLocalRegistry((Composite)implementation, registry); - } - - for (ComponentService service : component.getServices()) { - for (Endpoint endpoint : service.getEndpoints()){ - registry.addEndpoint(endpoint); - } - } - - for (ComponentReference reference : component.getReferences()) { - for (EndpointReference endpointReference : reference.getEndpointReferences()){ - registry.addEndpointReference(endpointReference); - } - } - } - } - - // ============================================= - - protected List<Contribution> loadContributions(NodeConfiguration configuration, ProcessorContext context) throws Throwable { - List<Contribution> contributions = new ArrayList<Contribution>(); - - // Load the specified contributions - for (ContributionConfiguration contrib : configuration.getContributions()) { - URI contributionURI = createURI(contrib.getURI()); - - URI uri = createURI(contrib.getLocation()); - if (uri.getScheme() == null) { - uri = new File(contrib.getLocation()).toURI(); - } - URL contributionURL = uri.toURL(); - - // Load the contribution - logger.log(Level.INFO, "Loading contribution: " + contributionURL); - Contribution contribution = deployer.loadContribution(contributionURI, contributionURL, context.getMonitor()); - contributions.add(contribution); - - boolean attached = false; - for (DeploymentComposite dc : contrib.getDeploymentComposites()) { - if (dc.getContent() != null) { - Reader xml = new StringReader(dc.getContent()); - attached = attachDeploymentComposite(contribution, xml, null, attached, context); - } else if (dc.getLocation() != null) { - URI dcURI = createURI(dc.getLocation()); - if (!dcURI.isAbsolute()) { - Composite composite = null; - // The location is pointing to an artifact within the contribution - for (Artifact a : contribution.getArtifacts()) { - if (dcURI.toString().equals(a.getURI())) { - composite = (Composite)a.getModel(); - if (!attached) { - contribution.getDeployables().clear(); - attached = true; - } - contribution.getDeployables().add(composite); - break; - } - } - if (composite == null) { - // Not found - throw new ServiceRuntimeException("Deployment composite " + dcURI - + " cannot be found within contribution " - + contribution.getLocation()); - } - } else { - URL url = dcURI.toURL(); - InputStream is = openStream(url); - Reader xml = new InputStreamReader(is, "UTF-8"); - attached = attachDeploymentComposite(contribution, xml, url.toString(), attached, context); - } - } - } - analyzeProblems(context.getMonitor()); - } - return contributions; - } - - protected static String getSystemProperty(final String name) { - return AccessController.doPrivileged(new PrivilegedAction<String>() { - public String run() { - return System.getProperty(name); - } - }); - } - - protected static class NodeKey { - private String domainURI; - private String nodeURI; - - public NodeKey(NodeConfiguration configuration) { - this.domainURI = configuration.getDomainURI(); - this.nodeURI = configuration.getURI(); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((domainURI == null) ? 0 : domainURI.hashCode()); - result = prime * result + ((nodeURI == null) ? 0 : nodeURI.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - NodeKey other = (NodeKey)obj; - if (domainURI == null) { - if (other.domainURI != null) - return false; - } else if (!domainURI.equals(other.domainURI)) - return false; - if (nodeURI == null) { - if (other.nodeURI != null) - return false; - } else if (!nodeURI.equals(other.nodeURI)) - return false; - return true; - } - - public String toString() { - StringBuffer buf = new StringBuffer(); - if (domainURI != null) { - buf.append("{").append(domainURI).append("}"); - } - if (nodeURI != null) { - buf.append(nodeURI); - } - return buf.toString(); - } - } - - @Override - public void configure(Map<String, Map<String, String>> attributes) { - ServiceDiscovery discovery = getExtensionPointRegistry().getServiceDiscovery(); - for (Map.Entry<String, Map<String, String>> e : attributes.entrySet()) { - discovery.setAttribute(e.getKey(), e.getValue()); - } - for (Object o : properties.keySet()) { - String p = (String) o; - if (p.indexOf('.') > -1) { - String serviceType = p.substring(0, p.lastIndexOf('.')); - String attribute = p.substring(p.lastIndexOf('.')+1); - discovery.setAttribute(serviceType, attribute, properties.getProperty(p)); - } - } - super.configure(attributes); - } - - /** - * Added to allow the node access to the deployer in order to get - * to the systemContribution and hence set up the CompositeContext so that - * the runtime epr matching algorithm can get at the binding types - * @return - */ - public Deployer getDeployer() { - return deployer; - } - -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java deleted file mode 100644 index 8eecca1564..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java +++ /dev/null @@ -1,380 +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.node.impl; - -import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.stream.XMLOutputFactory; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.context.CompositeContext; -import org.apache.tuscany.sca.context.ThreadMessageContext; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.apache.tuscany.sca.runtime.ActivationException; -import org.apache.tuscany.sca.runtime.CompositeActivator; -import org.apache.tuscany.sca.runtime.DomainRegistryFactory; -import org.apache.tuscany.sca.runtime.EndpointRegistry; -import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentContext; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; -import org.oasisopen.sca.ServiceUnavailableException; - -/** - * An SCA Node that is managed by the NodeManager - */ -public class NodeImpl implements Node { - private static final Logger logger = Logger.getLogger(NodeImpl.class.getName()); - private ProxyFactory proxyFactory; - private CompositeActivator compositeActivator; - private CompositeContext compositeContext; - private Composite domainComposite; - private NodeConfiguration configuration; - private NodeFactoryImpl nodeFactory; - private List<Contribution> contributions; - // private NodeManager mbean; - - /** - * Create a node from the configuration - * @param manager - * @param configuration - */ - public NodeImpl(NodeFactoryImpl nodeFactory, NodeConfiguration configuration) { - super(); - this.configuration = configuration; - this.nodeFactory = nodeFactory; - } - - /** - * Create a node from the configuration and loaded contributions - * @param manager - * @param configuration - * @param contributions - */ - public NodeImpl(NodeFactoryImpl manager, NodeConfiguration configuration, List<Contribution> contributions) { - super(); - this.configuration = configuration; - this.nodeFactory = manager; - this.contributions = new ArrayList<Contribution>(contributions); - } - - public String getURI() { - return getConfiguration().getURI(); - } - - public Node start() { - logger.log(Level.INFO, "Starting node: " + configuration.getURI() + " domain: " + configuration.getDomainURI()); - - nodeFactory.init(); - nodeFactory.addNode(configuration, this); - this.proxyFactory = nodeFactory.proxyFactory; - - DomainRegistryFactory domainRegistryFactory = ExtensibleDomainRegistryFactory.getInstance(nodeFactory.registry); - EndpointRegistry endpointRegistry = - domainRegistryFactory.getEndpointRegistry(configuration.getDomainRegistryURI(), configuration - .getDomainURI()); - - UtilityExtensionPoint utilities = nodeFactory.registry.getExtensionPoint(UtilityExtensionPoint.class); - this.compositeActivator = utilities.getUtility(CompositeActivator.class); - try { - Monitor monitor = nodeFactory.monitorFactory.createMonitor(); - ProcessorContext context = new ProcessorContext(monitor); - - // Set up the thead context monitor - Monitor tcm = nodeFactory.monitorFactory.setContextMonitor(monitor); - try { - if (contributions == null) { - contributions = nodeFactory.loadContributions(configuration, context); - } - domainComposite = nodeFactory.configureNode(configuration, contributions, context); - - this.compositeContext = - new CompositeContext(nodeFactory.registry, - endpointRegistry, - domainComposite, - configuration.getDomainURI(), - configuration.getURI(), - nodeFactory.getDeployer().getSystemDefinitions()); - - } finally { - // Reset the thread context monitor - nodeFactory.monitorFactory.setContextMonitor(tcm); - } - - // Activate the composite - compositeActivator.activate(compositeContext, domainComposite); - - // Start the composite - compositeActivator.start(compositeContext, domainComposite); - - // FIXME: [rfeng] We should turn the management capability into a system utility. - // In certain environment such as Google App Engine, the JMX API is not allowed - try { - /* - MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); - mbean = new NodeManager(this); - mBeanServer.registerMBean(mbean, mbean.getName()); - */ - /* - LocateRegistry.createRegistry(9999); - JMXServiceURL url = - new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server"); - JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mBeanServer); - connectorServer.start(); - */ - } catch (Throwable e) { - // Ignore the error for now - // mbean = null; - logger.log(Level.SEVERE, e.getMessage(), e); - } - - return this; - - } catch (Throwable e) { - throw new IllegalStateException(e); - } - - } - - public void stop() { - logger.log(Level.INFO, "Stopping node: " + configuration.getURI()); - - try { - if (compositeActivator == null) { - return; - } - - /* - if (mbean != null) { - try { - MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); - mBeanServer.unregisterMBean(mbean.getName()); - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } finally { - mbean = null; - } - } - */ - - if( domainComposite != null ) { - - // Stop the composite - compositeActivator.stop(compositeContext, domainComposite); - - // Deactivate the composite - compositeActivator.deactivate(domainComposite); - - } // end if - - nodeFactory.removeNode(configuration); - this.compositeActivator = null; - this.proxyFactory = null; - this.domainComposite = null; - this.compositeContext = null; - - ThreadMessageContext.removeMessageContext(); - - } catch (ActivationException e) { - throw new IllegalStateException(e); - } - - } - - @SuppressWarnings("unchecked") - public <B, R extends ServiceReference<B>> R cast(B target) throws IllegalArgumentException { - return (R)proxyFactory.cast(target); - } - - public <B> B getService(Class<B> businessInterface, String serviceName) { - - ServiceReference<B> serviceReference = getServiceReference(businessInterface, serviceName); - if (serviceReference == null) { - throw new ServiceRuntimeException("Service not found: " + serviceName); - } - return serviceReference.getService(); - } - - public <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String name) { - - // Extract the component name - String componentName; - String serviceName; - int i = name.indexOf('/'); - if (i != -1) { - componentName = name.substring(0, i); - serviceName = name.substring(i + 1); - - } else { - componentName = name; - serviceName = null; - } - - // Lookup the component - Component component = null; - - for (Component compositeComponent : domainComposite.getComponents()) { - if (compositeComponent.getName().equals(componentName)) { - component = compositeComponent; - break; - } - } - - if (component == null) { - throw new ServiceUnavailableException("The service " + name + " has not been contributed to the domain"); - } - RuntimeComponentContext componentContext = null; - - // If the component is a composite, then we need to find the - // non-composite component that provides the requested service - if (component.getImplementation() instanceof Composite) { - for (ComponentService componentService : component.getServices()) { - String bindingName = null; - if (serviceName != null) { - int index = serviceName.indexOf('/'); - if (index != -1) { - bindingName = serviceName.substring(index + 1); - serviceName = serviceName.substring(0, index); - } - } - if (serviceName == null || serviceName.equals(componentService.getName())) { - CompositeService compositeService = (CompositeService)componentService.getService(); - if (compositeService != null) { - componentContext = - ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); - serviceName = compositeService.getPromotedService().getName(); - if (bindingName != null) { - serviceName = serviceName + "/" + bindingName; - } - return componentContext.createSelfReference(businessInterface, serviceName); - } - break; - } - } - // No matching service found - throw new ServiceRuntimeException("Composite service not found: " + name); - } else { - componentContext = ((RuntimeComponent)component).getComponentContext(); - if (serviceName != null) { - return componentContext.createSelfReference(businessInterface, serviceName); - } else { - return componentContext.createSelfReference(businessInterface); - } - } - } - - public NodeConfiguration getConfiguration() { - return configuration; - } - - public ExtensionPointRegistry getExtensionPointRegistry() { - return nodeFactory.getExtensionPointRegistry(); - } - - /** - * Get the service endpoints in this Node - * TODO: needs review, works for the very simple testcase but i expect there are - * other endpoints to be included - */ - public List<Endpoint> getServiceEndpoints() { - List<Endpoint> endpoints = new ArrayList<Endpoint>(); - if (compositeActivator != null) { - if (domainComposite != null) { - for (Component component : domainComposite.getComponents()) { - for (Service service : component.getServices()) { - // MJE 28/05/2009 - changed to RuntimeComponentService from RuntimeComponentServiceImpl - // - no need to access the Impl directly here - if (service instanceof RuntimeComponentService) { - endpoints.addAll(((RuntimeComponentService)service).getEndpoints()); - } - } - } - } - } - return endpoints; - } - - public Composite getDomainComposite() { - return domainComposite; - } - - public String dumpDomainComposite() { - - StAXArtifactProcessorExtensionPoint xmlProcessors = - getExtensionPointRegistry().getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - StAXArtifactProcessor<Composite> compositeProcessor = - xmlProcessors.getProcessor(Composite.class); - - return writeComposite(getDomainComposite(), compositeProcessor); - } - - private String writeComposite(Composite composite, StAXArtifactProcessor<Composite> compositeProcessor){ - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - XMLOutputFactory outputFactory = - nodeFactory.getExtensionPointRegistry().getExtensionPoint(FactoryExtensionPoint.class) - .getFactory(XMLOutputFactory.class); - - try { - compositeProcessor.write(composite, outputFactory.createXMLStreamWriter(bos), new ProcessorContext(nodeFactory.registry)); - } catch(Exception ex) { - return ex.toString(); - } - - String result = bos.toString(); - - // write out and nested composites - for (Component component : composite.getComponents()) { - if (component.getImplementation() instanceof Composite) { - result += - "\n<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->\n" + writeComposite((Composite)component - .getImplementation(), - compositeProcessor); - } - } - - return result; - } - - public List<Contribution> getContributions() { - return contributions; - } - -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java deleted file mode 100644 index 4da41442f5..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeUtil.java +++ /dev/null @@ -1,43 +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.node.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ContributionFactory; - -/** - * NodeUtil - * - * @version $Rev$ $Date$ - */ -public class NodeUtil { - - private NodeUtil() { - } - - static Contribution contribution(ContributionFactory contributionFactory, org.apache.tuscany.sca.node.Contribution c) { - Contribution contribution = contributionFactory.createContribution(); - contribution.setURI(c.getURI()); - contribution.setLocation(c.getLocation()); - contribution.setUnresolved(true); - return contribution; - } - -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManager.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManager.java deleted file mode 100644 index 12704a3ee5..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManager.java +++ /dev/null @@ -1,65 +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.node.management; - -import javax.management.MalformedObjectNameException; -import javax.management.ObjectName; - -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.impl.NodeImpl; - -/** - * MBean implementation for the node - */ -public class NodeManager implements NodeManagerMBean { - private NodeImpl node; - private ObjectName name; - - public NodeManager(NodeImpl node) { - this.node = node; - try { - this.name = getName(node); - } catch (MalformedObjectNameException e) { - // Ignore - } - } - - public String getURI() { - return node.getURI(); - } - - public String getDomainURI() { - return node.getConfiguration().getDomainURI(); - } - - public ObjectName getName() { - return name; - } - - private static ObjectName getName(NodeImpl node) throws MalformedObjectNameException { - String name = - Node.class.getPackage().getName() + ":type=" - + Node.class.getSimpleName() - + ",uri=" - + ObjectName.quote(node.getURI()); - return ObjectName.getInstance(name); - - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManagerMBean.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManagerMBean.java deleted file mode 100644 index 3133142c2b..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/management/NodeManagerMBean.java +++ /dev/null @@ -1,30 +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.node.management; - - - -/** - * MBean for NodeImpl - */ -public interface NodeManagerMBean { - String getURI(); - String getDomainURI(); -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index a9d0f5ef52..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,18 +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. -org.apache.tuscany.sca.node.configuration.xml.NodeConfigurationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.1#node,model=org.apache.tuscany.sca.node.configuration.NodeConfiguration -
diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory deleted file mode 100644 index a349dd7c26..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory +++ /dev/null @@ -1,18 +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.
-org.apache.tuscany.sca.node.impl.NodeFactoryImpl
-
diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory deleted file mode 100644 index 9b26d0c7c1..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.configuration.NodeConfigurationFactory +++ /dev/null @@ -1,18 +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.
-org.apache.tuscany.sca.node.configuration.DefaultNodeConfigurationFactory
-
diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/org/apache/tuscany/sca/node/impl/node-impl-validation-messages.properties b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/org/apache/tuscany/sca/node/impl/node-impl-validation-messages.properties deleted file mode 100644 index 0c07a3a30f..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/main/resources/org/apache/tuscany/sca/node/impl/node-impl-validation-messages.properties +++ /dev/null @@ -1,22 +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. -# -# - -UnresolvedImport = Unresolved import: Import = {0} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorld.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorld.java deleted file mode 100644 index e3fcdfd25f..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorld.java +++ /dev/null @@ -1,30 +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 hello; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * HelloWorld interface - */ -@Remotable -public interface HelloWorld { - String hello(String name); -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorldImpl.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorldImpl.java deleted file mode 100644 index c9a7560b12..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/hello/HelloWorldImpl.java +++ /dev/null @@ -1,30 +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 hello; - -/** - * HelloWorldImpl - */ -public class HelloWorldImpl implements HelloWorld { - public String hello(String name) { - System.out.println("Hello: " + name); - return "Hello, " + name; - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessorTestCase.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessorTestCase.java deleted file mode 100644 index a10f2cccd4..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/configuration/xml/NodeConfigurationProcessorTestCase.java +++ /dev/null @@ -1,86 +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.node.configuration.xml; - -import java.io.InputStream; -import java.io.StringWriter; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * - */ -public class NodeConfigurationProcessorTestCase { - private static FactoryExtensionPoint factories; - private static StAXArtifactProcessor processor; - - private static ProcessorContext context; - - @BeforeClass - public static void setUp() throws Exception { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - context = new ProcessorContext(registry); - - factories = new DefaultFactoryExtensionPoint(registry); - StAXArtifactProcessorExtensionPoint processors = - registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - processor = processors.getProcessor(NodeConfiguration.class); - } - - @Test - public void testRead() throws Exception { - InputStream is = getClass().getResourceAsStream("/org/apache/tuscany/sca/node/configuration/node1.xml"); - XMLInputFactory xmlInputFactory = factories.getFactory(XMLInputFactory.class); - XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(is); - is.close(); - reader.nextTag(); - NodeConfiguration config = (NodeConfiguration) processor.read(reader, context); - StringWriter sw = new StringWriter(); - XMLOutputFactory xmlOutputFactory = factories.getFactory(XMLOutputFactory.class); - xmlOutputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); - XMLStreamWriter writer = xmlOutputFactory.createXMLStreamWriter(sw); - processor.write(config, writer, context); - writer.flush(); - System.out.println(sw.toString()); - } - - /** - * @throws java.lang.Exception - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java deleted file mode 100644 index 3133931210..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java +++ /dev/null @@ -1,218 +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.node.impl; - -import hello.HelloWorld; - -import java.io.File; -import java.io.StringReader; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser; -import org.apache.tuscany.sca.node.Contribution; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint; -import org.apache.tuscany.sca.runtime.RuntimeProperties; -import org.junit.Assert; -import org.junit.Test; - -/** - * Test case for NodeImpl - */ -public class NodeImplTestCase { - private static String composite = - "<composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\"" + " xmlns:tuscany=\"http://tuscany.apache.org/xmlns/sca/1.1\"" - + " targetNamespace=\"http://sample/composite\"" - + " xmlns:sc=\"http://sample/composite\"" - + " name=\"HelloWorld2\">" - + " <component name=\"HelloWorld2\">" - + " <implementation.java class=\"hello.HelloWorldImpl\"/>" - + " </component>" - + " </composite>"; - - @Test - public void testNodeWithCompositeContent() { - NodeFactory factory = new NodeFactoryImpl(); - Contribution contribution = new Contribution("c1", new File("target/test-classes").toURI().toString()); - Node node = factory.createNode(new StringReader(composite), contribution); - testNode2(node); - } - - @Test - public void testNodeWithRelativeCompositeURI() { - NodeFactory factory = new NodeFactoryImpl(); - Contribution contribution = new Contribution("c1", new File("target/test-classes").toURI().toString()); - String compositeURI = "HelloWorld.composite"; - Node node = factory.createNode(compositeURI, contribution); - testNode(node); - } - - @SuppressWarnings("deprecation") - @Test - public void testNodeWithAbsoluteCompositeURI() throws MalformedURLException { - NodeFactory factory = new NodeFactoryImpl(); - Contribution contribution = new Contribution("c1", new File("target/test-classes").toURL().toString()); - String compositeURI = new File("target/test-classes/HelloWorld.composite").toURL().toString(); - Node node = factory.createNode(compositeURI, contribution); - testNode(node); - } - - @Test - public void testDefaultNode() { - testNode(new NodeFactoryImpl().createNode()); - } - - @Test - public void testNodeWithURI() { - testNode(new NodeFactoryImpl().createNode(URI.create("foo"),"target/test-classes")); - } - @Test - public void testNodeWithURIandComposite() throws MalformedURLException { - String compositeURI = new File("target/test-classes/HelloWorld.composite").toURI().toString(); - testNode(new NodeFactoryImpl().createNode(URI.create("foo"), compositeURI, new String[]{"target/test-classes"})); - } - - @Test - public void testGetServiceEndpoints() { - NodeFactory factory = new NodeFactoryImpl(); - Contribution contribution = new Contribution("c1", new File("target/test-classes").toURI().toString()); - NodeImpl node = (NodeImpl)factory.createNode(new StringReader(composite), contribution); - node.start(); - List<Endpoint> es = node.getServiceEndpoints(); - Assert.assertEquals(1, es.size()); - Assert.assertEquals("HelloWorld2", es.get(0).getComponent().getName()); - node.stop(); - } - - private void testNode(Node node) { - node.start(); - HelloWorld hw = node.getService(HelloWorld.class, "HelloWorld"); - Assert.assertEquals("Hello, Node", hw.hello("Node")); - node.stop(); - } - - private void testNode2(Node node) { - node.start(); - HelloWorld hw = node.getService(HelloWorld.class, "HelloWorld2"); - Assert.assertEquals("Hello, Node", hw.hello("Node")); - node.stop(); - } - - @Test - public void testNodeFactoryAttributes() { - Map<String, Map<String, String>> attrs = new HashMap<String, Map<String, String>>(); - Map<String, String> map = new HashMap<String, String>(); - map.put("enabled", "false"); - attrs.put(ValidationSchemaExtensionPoint.class.getName(), map); - - Map<String, String> map2 = new HashMap<String, String>(); - map2.put("urn:MyDomain", "multicast://200.0.0.100:50000/MyDomain"); - attrs.put(DomainRegistryFactoryExtensionPoint.class.getName(), map2); - - NodeFactoryImpl factory = (NodeFactoryImpl)NodeFactory.newInstance(attrs); - Assert.assertFalse(factory.getExtensionPointRegistry().getExtensionPoint(ValidationSchemaExtensionPoint.class) - .isEnabled()); - - DomainRegistryFactoryExtensionPoint domainRegistryFactoryExtensionPoint = - factory.getExtensionPointRegistry().getExtensionPoint(DomainRegistryFactoryExtensionPoint.class); - Map<String, String> mapping = domainRegistryFactoryExtensionPoint.getDomainRegistryMapping(); - Assert.assertEquals(1, mapping.size()); - Assert.assertEquals("multicast://200.0.0.100:50000/MyDomain", mapping.get("urn:MyDomain")); - } - - @Test - public void testNodeFactoryProperties() throws Exception { - NodeFactoryImpl factory = (NodeFactoryImpl)NodeFactory.newInstance(); - factory.init(); - UtilityExtensionPoint utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - Properties ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(2, ps.size()); - Assert.assertEquals("vm", ps.getProperty("defaultScheme")); - - Properties properties = new Properties(); - properties.setProperty("defaultScheme", "vm"); - properties.setProperty("foo.bla", "some value"); - factory = (NodeFactoryImpl)NodeFactory.newInstance(properties); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(2, ps.size()); - Assert.assertEquals("some value", ps.getProperty("foo.bla")); - - factory = (NodeFactoryImpl)NodeFactory.newInstance("properties:test.properties"); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(2, ps.size()); - Assert.assertEquals("xyz", ps.getProperty("foo.bla")); - - factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:foo?k1=v1&k2=v2&defaultScheme=vm"); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(4, ps.size()); - Assert.assertEquals("vm", ps.getProperty("defaultScheme")); - Assert.assertEquals("foo", ps.getProperty("defaultDomainName")); - Assert.assertEquals("v1", ps.getProperty("k1")); - Assert.assertEquals("v2", ps.getProperty("k2")); - - factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:"); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(1, ps.size()); - Assert.assertEquals("", ps.getProperty("defaultDomainName")); - - factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:?"); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(1, ps.size()); - Assert.assertEquals("default", ps.getProperty("defaultDomainName")); - - factory = (NodeFactoryImpl)NodeFactory.newInstance("uri:?foo"); - factory.init(); - utilities = factory.getExtensionPointRegistry().getExtensionPoint(UtilityExtensionPoint.class); - ps = utilities.getUtility(RuntimeProperties.class).getProperties(); - Assert.assertEquals(2, ps.size()); - Assert.assertEquals("default", ps.getProperty("defaultDomainName")); - Assert.assertEquals("", ps.getProperty("foo")); - } - - @Test - public void testLoadNodeFactoryProperties() throws Exception { - URL url = getClass().getResource("/org/apache/tuscany/sca/node/configuration/test-node-factory.config"); - Collection<Map<String, String>> items = ServiceDeclarationParser.load(url, false); - for (Map<String, String> attrs : items) { - System.out.println(attrs); - } - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeUtilTestCase.java b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeUtilTestCase.java deleted file mode 100644 index 4b9dda4a71..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeUtilTestCase.java +++ /dev/null @@ -1,48 +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.node.impl; - -import java.net.URI; - -import org.apache.tuscany.sca.common.java.io.IOHelper; -import org.junit.Assert; -import org.junit.Test; - - -/** - * - */ -public class NodeUtilTestCase { - @Test - public void testCreateURI() { - Assert.assertEquals("/a/b", IOHelper.createURI("/a/b").toString()); - Assert.assertEquals("/a%20b", IOHelper.createURI("/a b").toString()); - Assert.assertEquals("file:/a/b", IOHelper.createURI("file:/a/b").toString()); - Assert.assertEquals("file:/a%20b", IOHelper.createURI("file:/a b").toString()); - Assert.assertEquals("file:/a%20b", IOHelper.createURI("file:/a%20b").toString()); - } - - @Test - public void testDomainURI() { - Assert.assertEquals("foo", NodeFactoryImpl.getDomainURI(URI.create("tuscany:foo"))); - Assert.assertEquals("foo", NodeFactoryImpl.getDomainURI(URI.create("vm:foo"))); - Assert.assertEquals("foo", NodeFactoryImpl.getDomainURI(URI.create("bla://foo"))); - } -} diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/HelloWorld.composite b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/HelloWorld.composite deleted file mode 100644 index ca3c3eda7c..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/HelloWorld.composite +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://sample/composite" - xmlns:sc="http://sample/composite" - name="HelloWorld"> - - <component name="HelloWorld"> - <implementation.java class="hello.HelloWorldImpl"/> - </component> - -</composite> diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/META-INF/sca-contribution.xml b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 20627c3d2c..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -* 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. ---> - -<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:sc="http://sample/composite"> - <deployable composite="sc:HelloWorld" /> -</contribution> diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/node1.xml b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/node1.xml deleted file mode 100644 index 4afc52d73b..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/node1.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<node xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns="http://tuscany.apache.org/xmlns/sca/1.1" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - uri="http://sample/nodes/TestNode1" - domainRegistry = "vm://localhost" - domain="http://domain1"> - - <!-- Configure the base URIs for a given binding --> - <!-- Each base URI is for a protocol supported by the binding --> - <binding name="sca:binding.ws" baseURIs="http://localhost:8080/ws https://localhost:8081/ws"/> - <binding name="tuscany:binding.rmi" baseURIs="rmi://localhost:8080/rmi"/> - <binding name="tuscany:binding.jsonrpc"> - <baseURI>http://localhost:8080/jsonrpc</baseURI> - </binding> - - <!-- Configure a list of contributions --> - <contribution uri="http://c1" location="file:///a.jar"/> - <contribution uri="http://c2" location="http://locahost/repo/b.jar"> - <!-- The deployment composite is optional --> - <!-- The deployment composite can be defined inline or referenced using a URI --> - <!-- Can we have more than one deployment composites --> - <deploymentComposite> - <sca:composite> - <sca:component name="Component1"> <!-- first component --> - <sca:implementation.java class="a.b.Component1Impl"/> - <sca:reference name="ref1"> - <tuscany:binding.rmi/> - </sca:reference> - </sca:component> - </sca:composite> - </deploymentComposite> - </contribution> - <contribution uri="http://c3" location="http://locahost/repo/c.jar"> - <deploymentComposite location="test/Test.composite"> - </deploymentComposite> - </contribution> - <option name="debug" value="true"/> - <option name="validation">true</option> -</node>
\ No newline at end of file diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/test-node-factory.config b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/test-node-factory.config deleted file mode 100644 index ec87f6a3e0..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/org/apache/tuscany/sca/node/configuration/test-node-factory.config +++ /dev/null @@ -1,19 +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.
-# Configuration properties for NodeFactory
-org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint;enabled=true,attr="value"
-org.apache.tuscany.sca.runtime.DomainRegistryFactoryExtensionPoint;urn:MyDomain="multicast://200.0.0.100:50000/MyDomain"
\ No newline at end of file diff --git a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/test.properties b/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/test.properties deleted file mode 100644 index df9d47b4eb..0000000000 --- a/sca-java-2.x/branches/2.0-Beta1/modules/node-impl/src/test/resources/test.properties +++ /dev/null @@ -1,22 +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.
-#
-defaultScheme = vm
-foo.bla = xyz
-
-
|