diff options
Diffstat (limited to '')
2 files changed, 0 insertions, 315 deletions
diff --git a/branches/sca-java-1.5/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java b/branches/sca-java-1.5/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-1.5/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-1.5/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java b/branches/sca-java-1.5/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-1.5/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); - } -} |