diff options
Diffstat (limited to 'branches/sca-java-20080910/modules/implementation-node/src/main/java/org')
9 files changed, 0 insertions, 810 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); - } -} |