summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-20080910/modules/implementation-node/src
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-20080910/modules/implementation-node/src')
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java54
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java45
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java42
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java109
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java104
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java44
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java97
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java196
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java119
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor20
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory19
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java587
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java81
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.java65
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite29
-rw-r--r--branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite64
16 files changed, 0 insertions, 1675 deletions
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java
deleted file mode 100644
index d4755f4071..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java
+++ /dev/null
@@ -1,54 +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.implementation.node;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.contribution.Contribution;
-
-
-
-/**
- * The model representing a resource implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-public interface ConfiguredNodeImplementation extends Implementation {
-
- /**
- * Returns the composite deployed to this node.
- * @return the composite deployed to this node
- */
- Composite getComposite();
-
- /**
- * Sets the composite deployed to this node.
- * @param composite the composite deployed to this node
- */
- void setComposite(Composite composite);
-
- /**
- * Returns the list of contributions deployed to this node.
- * @return the list of contributions deployed to this node
- */
- List<Contribution> getContributions();
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java
deleted file mode 100644
index 527698ea91..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java
+++ /dev/null
@@ -1,45 +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.implementation.node;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Implementation;
-
-
-
-/**
- * The model representing a resource implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-public interface NodeImplementation extends Implementation {
-
- /**
- * Returns the composite deployed to this node.
- * @return the composite deployed to this node
- */
- Composite getComposite();
-
- /**
- * Sets the composite deployed to this node.
- * @param composite the composite deployed to this node
- */
- void setComposite(Composite composite);
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java
deleted file mode 100644
index 9c4fed689b..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java
+++ /dev/null
@@ -1,42 +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.implementation.node;
-
-
-/**
- * Factory for the resource implementation model.
- *
- * @version $Rev$ $Date$
- */
-public interface NodeImplementationFactory {
-
- /**
- * Creates a new node implementation.
- * @return a new node implementation
- */
- NodeImplementation createNodeImplementation();
-
- /**
- * Creates a new configured node implementation.
- * @return a new configured node implementation
- */
- ConfiguredNodeImplementation createConfiguredNodeImplementation();
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java
deleted file mode 100644
index 736afc13f0..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java
+++ /dev/null
@@ -1,109 +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.implementation.node.builder.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.TransformerFactory;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-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.Implementation;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
-import org.apache.tuscany.sca.assembly.builder.impl.BaseConfigurationBuilderImpl;
-import org.apache.tuscany.sca.definitions.SCADefinitions;
-import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-/**
- * A composite builder that handles the configuration of composites assigned to
- * node components, from the default configuration from the node components.
- *
- * @version $Rev$ $Date$
- */
-public class NodeCompositeBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder {
-
- @Deprecated
- public NodeCompositeBuilderImpl(AssemblyFactory assemblyFactory,
- SCABindingFactory scaBindingFactory,
- InterfaceContractMapper interfaceContractMapper,
- SCADefinitions policyDefinitions,
- Monitor monitor) {
- super(assemblyFactory, scaBindingFactory,
- null, null,
- interfaceContractMapper, policyDefinitions, monitor);
- }
-
- public NodeCompositeBuilderImpl(AssemblyFactory assemblyFactory,
- SCABindingFactory scaBindingFactory,
- DocumentBuilderFactory documentBuilderFactory,
- TransformerFactory transformerFactory,
- InterfaceContractMapper interfaceContractMapper,
- SCADefinitions policyDefinitions,
- Monitor monitor) {
- super(assemblyFactory, scaBindingFactory,
- documentBuilderFactory, transformerFactory,
- interfaceContractMapper, policyDefinitions, monitor);
- }
-
- public void build(Composite composite) throws CompositeBuilderException {
- configureNodeComponents(composite);
- }
-
- /**
- * Configure the node components in the given composite.
- *
- * @param composite
- * @throws CompositeBuilderException
- */
- private void configureNodeComponents(Composite composite) throws CompositeBuilderException {
-
- // Process each node component in the given composite
- for (Component component: composite.getComponents()) {
- Implementation implementation = component.getImplementation();
- if (implementation instanceof NodeImplementation) {
-
- // Get the application composite assigned to the node
- NodeImplementation nodeImplementation = (NodeImplementation)implementation;
- Composite applicationComposite = nodeImplementation.getComposite();
-
- // Get the default bindings configured on the node
- List<Binding> defaultBindings = new ArrayList<Binding>();
- for (ComponentService componentService: component.getServices()) {
- defaultBindings.addAll(componentService.getBindings());
- }
-
- // Configure services in the application composite assigned to
- // the node using the default bindings.
- configureBindingURIs(applicationComposite, defaultBindings);
- }
- }
-
- }
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java
deleted file mode 100644
index 1d183513b4..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java
+++ /dev/null
@@ -1,104 +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.implementation.node.impl;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.implementation.node.ConfiguredNodeImplementation;
-
-
-/**
- * The model representing a configured node implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-class ConfiguredNodeImplementationImpl implements ConfiguredNodeImplementation {
-
- private String uri;
- private boolean unresolved;
- private Composite composite;
- private List<Contribution> contributions = new ArrayList<Contribution>();
-
- /**
- * Constructs a new node implementation.
- */
- ConfiguredNodeImplementationImpl() {
- }
-
- public ConstrainingType getConstrainingType() {
- // The node implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- // The node implementation does not support properties
- return Collections.emptyList();
- }
-
- public List<Service> getServices() {
- // The node implementation does not support services
- return Collections.emptyList();
- }
-
- public List<Reference> getReferences() {
- // The node implementation does not support properties
- return Collections.emptyList();
- }
-
- public String getURI() {
- return uri;
- }
-
- public Composite getComposite() {
- return composite;
- }
-
- public List<Contribution> getContributions() {
- return contributions;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The node implementation does not support constrainingTypes
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setComposite(Composite composite) {
- this.composite = composite;
- }
-
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java
deleted file mode 100644
index 94ea610314..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java
+++ /dev/null
@@ -1,44 +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.implementation.node.impl;
-
-import org.apache.tuscany.sca.implementation.node.ConfiguredNodeImplementation;
-import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
-
-/**
- * Factory for the resource implementation model.
- *
- * @version $Rev$ $Date$
- */
-public class NodeImplementationFactoryImpl implements NodeImplementationFactory {
-
- public NodeImplementationFactoryImpl() {
- }
-
- public NodeImplementation createNodeImplementation() {
- return new NodeImplementationImpl();
- }
-
- public ConfiguredNodeImplementation createConfiguredNodeImplementation() {
- return new ConfiguredNodeImplementationImpl();
- }
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java
deleted file mode 100644
index 8f6315d969..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java
+++ /dev/null
@@ -1,97 +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.implementation.node.impl;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-
-
-/**
- * The model representing a node implementation in an SCA assembly model.
- *
- * @version $Rev$ $Date$
- */
-class NodeImplementationImpl implements NodeImplementation {
-
- private String uri;
- private boolean unresolved;
- private Composite composite;
-
- /**
- * Constructs a new node implementation.
- */
- NodeImplementationImpl() {
- }
-
- public ConstrainingType getConstrainingType() {
- // The node implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- // The node implementation does not support properties
- return Collections.emptyList();
- }
-
- public List<Service> getServices() {
- // The node implementation does not support services
- return Collections.emptyList();
- }
-
- public List<Reference> getReferences() {
- // The node implementation does not support properties
- return Collections.emptyList();
- }
-
- public String getURI() {
- return uri;
- }
-
- public Composite getComposite() {
- return composite;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The node implementation does not support constrainingTypes
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setComposite(Composite composite) {
- this.composite = composite;
- }
-
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java
deleted file mode 100644
index e695340d45..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java
+++ /dev/null
@@ -1,196 +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.implementation.node.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import java.util.List;
-
-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.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.contribution.ContributionFactory;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.node.ConfiguredNodeImplementation;
-import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-
-/**
- * Implements a StAX artifact processor for configured node implementations.
- *
- * @version $Rev$ $Date$
- */
-public class ConfiguredNodeImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<ConfiguredNodeImplementation> {
-
- 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 String HREF = "href";
-
- private ContributionFactory contributionFactory;
- private AssemblyFactory assemblyFactory;
- private NodeImplementationFactory implementationFactory;
-
- public ConfiguredNodeImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.contributionFactory = modelFactories.getFactory(ContributionFactory.class);
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(NodeImplementationFactory.class);
- }
-
- public QName getArtifactType() {
- return null;
- }
-
- public Class<ConfiguredNodeImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return ConfiguredNodeImplementation.class;
- }
-
- public ConfiguredNodeImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- ConfiguredNodeImplementation implementation = implementationFactory.createConfiguredNodeImplementation();
- implementation.setUnresolved(true);
-
- // Read a feed containing links to the composite and the contributions assigned to
- // the node
- Composite composite = null;
- Contribution 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>
- if (implementation.getComposite() == null) {
- composite = assemblyFactory.createComposite();
- } else {
- contribution = contributionFactory.createContribution();
- }
- } 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 (composite != null) {
- composite.setURI(href);
- } else if (contribution != null) {
- contribution.setLocation(href);
- }
- }
- 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 (composite != null) {
- implementation.setComposite(composite);
- } else if (contribution != null) {
- implementation.getContributions().add(contribution);
- }
-
- composite = null;
- 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 implementation;
- }
- break;
- }
-
- // Read the next element
- if (reader.hasNext()) {
- reader.next();
- }
- }
- return implementation;
- }
-
- public void resolve(ConfiguredNodeImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
-
- // Resolve the referenced composite
- Composite composite = implementation.getComposite();
- if (composite != null) {
- composite = resolver.resolveModel(Composite.class, composite);
- if (!composite.isUnresolved()) {
- implementation.setComposite(composite);
- }
- }
-
- // Resolve the referenced contributions
- List<Contribution> contributions = implementation.getContributions();
- for (int i = 0, n = contributions.size(); i < n; i++) {
- Contribution contribution = contributions.get(i);
- contribution = resolver.resolveModel(Contribution.class, contribution);
- if (!contribution.isUnresolved()) {
- contributions.set(i, contribution);
- }
- }
-
- implementation.setUnresolved(false);
- }
-
- public void write(ConfiguredNodeImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
- //TODO Write the feed describing the node configuration
- }
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java b/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java
deleted file mode 100644
index 201354f89c..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java
+++ /dev/null
@@ -1,119 +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.implementation.node.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-
-/**
- * Implements a StAX artifact processor for node implementations.
- *
- * @version $Rev$ $Date$
- */
-public class NodeImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<NodeImplementation> {
- private static final QName IMPLEMENTATION_NODE = new QName(Constants.SCA10_TUSCANY_NS, "implementation.node");
-
- private AssemblyFactory assemblyFactory;
- private NodeImplementationFactory implementationFactory;
-
- public NodeImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(NodeImplementationFactory.class);
- }
-
- public QName getArtifactType() {
- // Returns the QName of the XML element processed by this processor
- return IMPLEMENTATION_NODE;
- }
-
- public Class<NodeImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return NodeImplementation.class;
- }
-
- public NodeImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- // Read an <implementation.node> element
- NodeImplementation implementation = implementationFactory.createNodeImplementation();
- implementation.setUnresolved(false);
-
- // Read the composite attribute
- QName qname = getQName(reader, "composite");
- if (qname != null) {
- Composite composite = assemblyFactory.createComposite();
- composite.setName(qname);
- String uri = getString(reader, "uri");
- composite.setURI(uri);
- composite.setUnresolved(true);
- implementation.setComposite(composite);
- }
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_NODE.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(NodeImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
- // We do not need to resolve the referenced composites here
- // Nodes and application composites are not in the same composition tree
- }
-
- public void write(NodeImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.node>
- Composite composite = implementation.getComposite();
- QName qname;
- String uri;
- if (composite != null) {
- qname = composite.getName();
- uri = composite.getURI();
- } else {
- qname = null;
- uri = null;
- }
- writeStart(writer, IMPLEMENTATION_NODE.getNamespaceURI(), IMPLEMENTATION_NODE.getLocalPart(),
- new XAttr("composite", qname), new XAttr("uri", uri));
-
- writeEnd(writer);
- }
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 9378db0875..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,20 +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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.implementation.node.xml.NodeImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#implementation.node,model=org.apache.tuscany.sca.implementation.node.NodeImplementation,factory=org.apache.tuscany.sca.implementation.node.NodeImplementationFactory
-org.apache.tuscany.sca.implementation.node.xml.ConfiguredNodeImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#implementation.node.configured,model=org.apache.tuscany.sca.implementation.node.ConfiguredNodeImplementation,factory=org.apache.tuscany.sca.implementation.node.NodeImplementationFactory \ No newline at end of file
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory b/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory
deleted file mode 100644
index b8a63a3b16..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory
+++ /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.
-
-# Implementation class for model factory
-org.apache.tuscany.sca.implementation.node.impl.NodeImplementationFactoryImpl
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java b/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java
deleted file mode 100644
index 1dc397659b..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java
+++ /dev/null
@@ -1,587 +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.implementation.node.builder.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-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.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.implementation.node.NodeImplementation;
-import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
-import org.apache.tuscany.sca.implementation.node.impl.NodeImplementationFactoryImpl;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.Problem;
-import org.apache.tuscany.sca.monitor.Problem.Severity;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class CalculateBindingURITestCase extends TestCase {
- private static final Logger logger = Logger.getLogger(CalculateBindingURITestCase.class.getName());
- private AssemblyFactory assemblyFactory;
- private SCABindingFactory scaBindingFactory;
- private NodeImplementationFactory nodeImplementationFactory;
- private Monitor monitor;
- private CompositeBuilder configurationBuilder;
- private List<Binding> defaultBindings = new ArrayList<Binding>();
-
- @Override
- protected void setUp() throws Exception {
- assemblyFactory = new DefaultAssemblyFactory();
- scaBindingFactory = new TestBindingFactory();
- nodeImplementationFactory = new NodeImplementationFactoryImpl();
- monitor = new Monitor() {
- public void problem(Problem problem) {
- if (problem.getSeverity() == Severity.INFO) {
- logger.info(problem.toString());
- } else if (problem.getSeverity() == Severity.WARNING) {
- logger.warning(problem.toString());
- } else if (problem.getSeverity() == Severity.ERROR) {
- if (problem.getCause() != null) {
- logger.log(Level.SEVERE, problem.toString(), problem.getCause());
- } else {
- logger.severe(problem.toString());
- }
- }
- }
- public List<Problem> getProblems() {
- return null;
- }
- };
- configurationBuilder = new NodeCompositeBuilderImpl(assemblyFactory, scaBindingFactory, null, null, monitor);
- Binding defaultBinding = new TestBindingImpl();
- defaultBinding.setURI("http://myhost:8080/root");
- defaultBindings.add(defaultBinding);
- }
-
- /**
- * Create a composite containing a node component pointing to the
- * given application composite.
- *
- * @param composite
- * @return
- */
- private Composite nodeComposite(Composite composite) {
- Composite nodeComposite = assemblyFactory.createComposite();
- Component nodeComponent = assemblyFactory.createComponent();
- NodeImplementation nodeImplementation = nodeImplementationFactory.createNodeImplementation();
- nodeImplementation.setComposite(composite);
- nodeComponent.setImplementation(nodeImplementation);
- ComponentService nodeService = assemblyFactory.createComponentService();
- nodeService.getBindings().addAll(defaultBindings);
- nodeComponent.getServices().add(nodeService);
- nodeComposite.getComponents().add(nodeComponent);
- return nodeComposite;
- }
-
- @Override
- protected void tearDown() throws Exception {
- assemblyFactory = null;
- }
-
- /**
- * Test that URI are generated in accordance with the Assembly Specification section 1.7.2.1 as
- * follows. For the 3 parts that make up the URI;
- *
- * BaseURI / Component URI / Service Binding URI
- *
- * Test the following combinations for:
- *
- * NB. The short hand here, e.g. <service name="s1"> <binding.sca> <service name="s2"> means
- * two services appear where the first has the sca binding specified.
- *
- * component service bindings
- *
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca>
- * --> http://myhost:8080/root/c1
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca> <service name="s2">
- * --> http://myhost:8080/root/c1/s1
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca name="n"> <service name="s2">
- * --> http://myhost:8080/root/c1/n
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca uri="b"> <service name="s2">
- * --> http://myhost:8080/root/c1/b
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca uri="http://myhost:8080/b"> <service name="s2">
- * --> http://myhost:8080/b
- * http://myhost:8080/root / <component name="c1"> / <service name="s1"> <binding.sca uri="../../b"> <service name="s2">
- * --> http://myhost:8080/b
- *
- * top level composite service bindings
- *
- * http://myhost:8080/root / null / <service name="s1"> <binding.sca> <service name="s2">
- * --> http://myhost:8080/root
- * http://myhost:8080/root / null / <service name="s1"> <binding.sca> <service name="s2">
- * --> http://myhost:8080/root/s1
- * http://myhost:8080/root / null / <service name="s1"> <binding.sca name="n"> <service name="s2">
- * --> http://myhost:8080/root/n
- * http://myhost:8080/root / null / <service name="s1"> <binding.sca uri="b"> <service name="s2">
- * --> http://myhost:8080/root/b
- * http://myhost:8080/root / null / <service name="s1"> <binding.sca uri="http://myhost:8080/b"> <service name="s2">
- * --> http://myhost:8080/b
- *
- * nested composite service bindings
- *
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca>
- * --> http://myhost:8080/root/c1/c2
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca> <service name="s2">
- * --> http://myhost:8080/root/c1/c2/s1
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca name="n"> <service name="s2">
- * --> http://myhost:8080/root/c1/c2/n
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca uri="b"> <service name="s2">
- * --> http://myhost:8080/root/c1/c2/b
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca uri="http://myhost:8080/b"> <service name="s2">
- * --> http://myhost:8080/b
- *
- * binding name duplication errors
- *
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca> <binding.xyz>
- * --> Error
- * http://myhost:8080/root / <component name="c1"> implemented by composite with <component name="c2"> / <service name="s1"> <binding.sca name="b1"> <binding.xyz name="b1">
- * --> Error
- */
-
- private Composite createComponentServiceBinding() {
- Composite composite1 = assemblyFactory.createComposite();
- composite1.setName(new QName("http://foo", "C1"));
-
- Component c1 = assemblyFactory.createComponent();
- c1.setName("c1");
- composite1.getComponents().add(c1);
-
- ComponentService s1 = assemblyFactory.createComponentService();
- c1.getServices().add(s1);
- s1.setName("s1");
-
- ComponentService s2 = assemblyFactory.createComponentService();
- c1.getServices().add(s2);
- s2.setName("s2");
-
- Binding b1 = new TestBindingImpl();
- s1.getBindings().add(b1);
-
- Binding b2 = new TestBindingImpl();
- s2.getBindings().add(b2);
-
- return composite1;
- }
-
- private Composite createTopLevelCompositeServiceBinding(){
- Composite composite1 = assemblyFactory.createComposite();
- composite1.setName(new QName("http://foo", "C1"));
-
- CompositeService s1 = assemblyFactory.createCompositeService();
- s1.setName("s1");
- composite1.getServices().add(s1);
-
- Binding b1 = new TestBindingImpl();
- s1.getBindings().add(b1);
-
- CompositeService s2 = assemblyFactory.createCompositeService();
- s2.setName("s2");
- composite1.getServices().add(s2);
-
- Binding b2 = new TestBindingImpl();
- s2.getBindings().add(b2);
-
- return composite1;
- }
-
- private Composite createNestCompositeServiceBinding(){
- Composite composite1 = assemblyFactory.createComposite();
- composite1.setName(new QName("http://foo", "C1"));
-
- Component c1 = assemblyFactory.createComponent();
- c1.setName("c1");
- composite1.getComponents().add(c1);
-
- Composite composite2 = assemblyFactory.createComposite();
- c1.setImplementation(composite2);
- composite2.setName(new QName("http://foo", "C2"));
-
- Component c2 = assemblyFactory.createComponent();
- composite2.getComponents().add(c2);
- c2.setName("c2");
-
- ComponentService s1 = assemblyFactory.createComponentService();
- c2.getServices().add(s1);
- s1.setName("s1");
-
- ComponentService s2 = assemblyFactory.createComponentService();
- c2.getServices().add(s2);
- s2.setName("s2");
-
- Binding b1 = new TestBindingImpl();
- s1.getBindings().add(b1);
-
- Binding b2 = new TestBindingImpl();
- s2.getBindings().add(b2);
-
- return composite1;
- }
-
- // component service binding tests
-
- public void testComponentServiceSingleService() {
- Composite composite = createComponentServiceBinding();
- composite.getComponents().get(0).getServices().remove(1);
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testComponentServiceBindingDefault() {
- Composite composite = createComponentServiceBinding();
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/s1", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testComponentServiceBindingName() {
- Composite composite = createComponentServiceBinding();
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/n", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testComponentServiceBindingURIRelative() {
- Composite composite = createComponentServiceBinding();
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testComponentServiceBindingURIAbsolute() {
- Composite composite = createComponentServiceBinding();
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("http://myhost:8080/b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testComponentServiceBindingURIRelative2() {
- Composite composite = createComponentServiceBinding();
- Binding b = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("../../b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- // top level composite service binding tests
-
- public void testCompositeServiceSingleService() {
- Composite composite = createTopLevelCompositeServiceBinding();
- composite.getServices().remove(1);
- Binding b = composite.getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testCompositeServiceBindingDefault() {
- Composite composite = createTopLevelCompositeServiceBinding();
- Binding b = composite.getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/s1", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testCompositeServiceBindingName() {
- Composite composite = createTopLevelCompositeServiceBinding();
- Binding b = composite.getServices().get(0).getBindings().get(0);
- b.setName("n");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/n", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testCompositeServiceBindingURIRelative() {
- Composite composite = createTopLevelCompositeServiceBinding();
- Binding b = composite.getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testCompositeServiceBindingURIAbsolute() {
- Composite composite = createTopLevelCompositeServiceBinding();
- Binding b = composite.getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("http://myhost:8080/b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- // nested composite service binding tests
-
- public void testNestedCompositeServiceSingleService() {
- Composite composite = createNestCompositeServiceBinding();
- ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().remove(1);
- Binding b = ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/c2", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testNestedCompositeServiceBindingDefault() {
- Composite composite = createNestCompositeServiceBinding();
- Binding b = ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().get(0).getBindings().get(0);
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/c2/s1", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testNestedCompositeServiceBindingName() {
- Composite composite = createNestCompositeServiceBinding();
- Binding b = ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/c2/n", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testNestedCompositeServiceBindingURIRelative() {
- Composite composite = createNestCompositeServiceBinding();
- Binding b = ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/root/c1/c2/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- public void testNestedCompositeServiceBindingURIAbsolute() {
- Composite composite = createNestCompositeServiceBinding();
- Binding b = ((Composite)composite.getComponents().get(0).getImplementation()).getComponents().get(0).getServices().get(0).getBindings().get(0);
- b.setName("n");
- b.setURI("http://myhost:8080/b");
-
- try {
- configurationBuilder.build(nodeComposite(composite));
-
- assertEquals("http://myhost:8080/b", b.getURI());
- } catch(Exception ex){
- System.out.println(ex.toString());
- fail();
- }
- }
-
- // component service binding name error tests
-
- //FIXME Need to find a better way to test these error cases as
- // the composite builder now (intentionally) logs warnings instead of
- // throwing exceptions
- public void FIXMEtestComponentServiceBindingNameError1() {
- Composite composite = createComponentServiceBinding();
- Binding b1 = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- Binding b2 = new TestBindingImpl();
- composite.getComponents().get(0).getServices().get(0).getBindings().add(b2);
-
-
- try {
- configurationBuilder.build(nodeComposite(composite));
- fail();
- } catch(Exception ex){
- //System.out.println(ex.toString());
- }
- }
-
- //FIXME Need to find a better way to test these error cases as
- // the composite builder now (intentionally) logs warnings instead of
- // throwing exceptions
- public void FIXMEtestComponentServiceBindingNameError2() {
- Composite composite = createComponentServiceBinding();
- Binding b1 = composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
- Binding b2 = new TestBindingImpl();
- composite.getComponents().get(0).getServices().get(0).getBindings().add(b2);
-
- b1.setName("b");
- b2.setName("b");
-
-
- try {
- configurationBuilder.build(nodeComposite(composite));
- fail();
- } catch(Exception ex){
- System.out.println(ex.toString());
- }
- }
-
-
- public class TestBindingFactory implements SCABindingFactory {
- public SCABinding createSCABinding() {
- return new TestBindingImpl();
- }
- }
-
- public class TestBindingImpl implements SCABinding {
- private String name;
- private String uri;
- private boolean unresolved;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
- }
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java b/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java
deleted file mode 100644
index bc0c3b1507..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java
+++ /dev/null
@@ -1,81 +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.implementation.node.xml;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-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.UtilityExtensionPoint;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-
-/**
- * Test reading Node implementations.
- *
- * @version $Rev$ $Date$
- */
-public class ReadTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
- private CompositeBuilder compositeBuilder;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
-
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
- IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
- compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null);
- }
-
- public void testReadComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestNode.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite)staxProcessor.read(reader);
- assertNotNull(composite);
-
- compositeBuilder.build(composite);
- }
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.java b/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.java
deleted file mode 100644
index c5e6a40f89..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.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.implementation.node.xml;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-
-/**
- * Test reading/writing Node implementations.
- *
- * @version $Rev$ $Date$
- */
-public class WriteTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private XMLOutputFactory outputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
- }
-
- public void testReadWriteComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestNode.composite");
- Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is));
- assertNotNull(composite);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
- }
-
-}
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite b/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite
deleted file mode 100644
index 55644c27e5..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite
+++ /dev/null
@@ -1,29 +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://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/composite"
- xmlns:sc="http://sample/composite"
- name="TestComposite">
-
- <component name="TestComponent">
- </component>
-
-</composite>
diff --git a/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite b/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite
deleted file mode 100644
index 92787d3ac1..0000000000
--- a/branches/sca-java-20080910/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite
+++ /dev/null
@@ -1,64 +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://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/node"
- xmlns:sc="http://sample/composite"
- name="TestNode">
-
- <component name="TestNode">
- <tuscany:implementation.node composite="sc:TestComposite"/>
- <service name="Default">
- <binding.sca uri="http://localhost:8080"/>
- </service>
- </component>
-
- <component name="TestNode2">
- <tuscany:implementation.node.configured>
-
- <feed xmlns="http://www.w3.org/2005/Atom">
- <title type="text">Feed</title>
- <entry>
- <id>composite:store;http://store;store</id>
- <title type="text">store - http://store;store</title>
- <content type="text" />
- <link
- href="/resolved/composite/composite:store;http://store;store" />
- </entry>
- <entry>
- <id>assets</id>
- <title type="text">assets</title>
- <content type="text" />
- <link
- href="http://localhost:9990/files/tutorial-assets.jar" />
- </entry>
- <entry>
- <id>store</id>
- <title type="text">store</title>
- <content type="text" />
- <link
- href="http://localhost:9990/files/tutorial-store.jar" />
- </entry>
- </feed>
-
- </tuscany:implementation.node.configured>
- </component>
-
-</composite>