summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache')
-rw-r--r--branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/BaseTopologyArtifactProcessor.java141
-rw-r--r--branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/Constants.java48
-rw-r--r--branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyDocumentProcessor.java93
-rw-r--r--branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyProcessor.java176
4 files changed, 0 insertions, 458 deletions
diff --git a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/BaseTopologyArtifactProcessor.java b/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/BaseTopologyArtifactProcessor.java
deleted file mode 100644
index a72b20cb8e..0000000000
--- a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/BaseTopologyArtifactProcessor.java
+++ /dev/null
@@ -1,141 +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.topology.xml;
-
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.Contract;
-import org.apache.tuscany.sca.assembly.Implementation;
-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.ContributionResolveException;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.topology.TopologyFactory;
-
-/**
- * A base class with utility methods for the other artifact processors in this module.
- *
- * @version $Rev$ $Date$
- */
-public abstract class BaseTopologyArtifactProcessor extends BaseStAXArtifactProcessor implements Constants {
-
- protected TopologyFactory topologyFactory;
- protected AssemblyFactory assemblyFactory;
- protected StAXArtifactProcessor<Object> extensionProcessor;
-
- private static final DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
- static {
- domFactory.setNamespaceAware(true);
- }
-
- /**
- * Construct a new BaseArtifactProcessor.
- * @param factory
- * @param policyFactory
- */
- @SuppressWarnings("unchecked")
- public BaseTopologyArtifactProcessor(TopologyFactory topologyFactory, AssemblyFactory assemblyFactory, StAXArtifactProcessor extensionProcessor) {
- this.topologyFactory = topologyFactory;
- this.assemblyFactory = assemblyFactory;
- this.extensionProcessor = extensionProcessor;
- }
-
- /**
- * Start an element.
- * @param writer
- * @param name
- * @param attrs
- * @throws XMLStreamException
- */
- protected void writeStart(XMLStreamWriter writer, String name, XAttr... attrs) throws XMLStreamException {
- writeStart(writer, TUSCANY_TOPOLOGY_10_NS, name, attrs);
- }
-
- /**
- * Start a document.
- * @param writer
- * @throws XMLStreamException
- */
- protected void writeStartDocument(XMLStreamWriter writer, String name, XAttr... attrs) throws XMLStreamException {
- writeStartDocument(writer, TUSCANY_TOPOLOGY_10_NS, name, attrs);
- }
-
- /**
- * Resolve an implementation.
- * @param implementation
- * @param resolver
- * @return
- * @throws ContributionResolveException
- */
- protected Implementation resolveImplementation(Implementation implementation, ModelResolver resolver) throws ContributionResolveException {
- if (implementation != null) {
- if (implementation.isUnresolved()) {
- implementation = resolver.resolveModel(Implementation.class, implementation);
-
- // Lazily resolve implementations
- if (implementation.isUnresolved()) {
- extensionProcessor.resolve(implementation, resolver);
- if (!implementation.isUnresolved()) {
- resolver.addModel(implementation);
- }
- }
- }
- }
- return implementation;
- }
-
- /**
- * Resolve interface, callback interface and bindings on a list of contracts.
- * @param contracts the list of contracts
- * @param resolver the resolver to use to resolve models
- */
- protected <C extends Contract> void resolveContracts(List<C> contracts, ModelResolver resolver) throws ContributionResolveException {
- for (Contract contract: contracts) {
-
- // Resolve the interface contract
- InterfaceContract interfaceContract = contract.getInterfaceContract();
- if (interfaceContract != null) {
- extensionProcessor.resolve(interfaceContract, resolver);
- }
-
- // Resolve bindings
- for (int i = 0, n = contract.getBindings().size(); i < n; i++) {
- Binding binding = contract.getBindings().get(i);
- extensionProcessor.resolve(binding, resolver);
- }
-
- // Resolve callback bindings
- if (contract.getCallback() != null) {
- for (int i = 0, n = contract.getCallback().getBindings().size(); i < n; i++) {
- Binding binding = contract.getCallback().getBindings().get(i);
- extensionProcessor.resolve(binding, resolver);
- }
- }
- }
- }
-
-}
diff --git a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/Constants.java b/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/Constants.java
deleted file mode 100644
index fc450db3b5..0000000000
--- a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/Constants.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.topology.xml;
-
-import javax.xml.namespace.QName;
-
-/**
- * Constants used in Tuscany Topology XML files.
- */
-public interface Constants {
-
- String TUSCANY_TOPOLOGY_10_NS = "http://www.apache.org/tuscany/topology/1.0";
-
- String RUNTIME = "runtime";
- QName RUNTIME_QNAME = new QName(TUSCANY_TOPOLOGY_10_NS, RUNTIME);
- String NODE = "node";
- QName NODE_QNAME = new QName(TUSCANY_TOPOLOGY_10_NS, NODE);
- String DOMAIN = "domain";
- QName DOMAIN_QNAME = new QName(TUSCANY_TOPOLOGY_10_NS, DOMAIN);
- String SCHEME = "scheme";
- QName SCHEME_QNAME = new QName(TUSCANY_TOPOLOGY_10_NS, SCHEME);
- String COMPONENT = "component";
- QName COMPONENT_QNAME = new QName(TUSCANY_TOPOLOGY_10_NS, COMPONENT);
-
-
- String TARGET_NAMESPACE = "targetNamespace";
- String NAME = "name";
- String BASE_URL = "baseURL";
- String DEFAULT_DOMAIN = "nodomain";
-
-}
diff --git a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyDocumentProcessor.java b/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyDocumentProcessor.java
deleted file mode 100644
index 11489419a4..0000000000
--- a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyDocumentProcessor.java
+++ /dev/null
@@ -1,93 +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.topology.xml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URL;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
-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.topology.Runtime;
-
-/**
- * A composite processor.
- *
- * @version $Rev$ $Date$
- */
-public class TopologyDocumentProcessor extends BaseTopologyArtifactProcessor implements URLArtifactProcessor<Runtime> {
- private XMLInputFactory inputFactory;
-
- /**
- * Construct a new composite processor
- * @param assemblyFactory
- * @param policyFactory
- * @param staxProcessor
- */
- public TopologyDocumentProcessor(StAXArtifactProcessor staxProcessor, XMLInputFactory inputFactory) {
- super(null, null, staxProcessor);
- this.inputFactory = inputFactory;
- }
-
- public Runtime read(URL contributionURL, URI uri, URL url) throws ContributionReadException {
- InputStream urlStream = null;
- try {
- urlStream = url.openStream();
- XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream);
- reader.nextTag();
- Runtime node = (Runtime)extensionProcessor.read(reader);
- return node;
-
- } catch (XMLStreamException e) {
- throw new ContributionReadException(e);
- } catch (IOException e) {
- throw new ContributionReadException(e);
- } finally {
- try {
- if (urlStream != null) {
- urlStream.close();
- urlStream = null;
- }
- } catch (IOException ioe) {
- //ignore
- }
- }
- }
-
- public void resolve(Runtime node, ModelResolver resolver) throws ContributionResolveException {
- extensionProcessor.resolve(node, resolver);
- }
-
- public String getArtifactType() {
- return ".topology";
- }
-
- public Class<Runtime> getModelType() {
- return Runtime.class;
- }
-}
diff --git a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyProcessor.java b/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyProcessor.java
deleted file mode 100644
index 25f62bf4c4..0000000000
--- a/branches/sca-java-1.0/modules/topology-xml/src/main/java/org/apache/tuscany/sca/topology/xml/TopologyProcessor.java
+++ /dev/null
@@ -1,176 +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.topology.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-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.topology.Node;
-import org.apache.tuscany.sca.topology.Runtime;
-import org.apache.tuscany.sca.topology.Scheme;
-import org.apache.tuscany.sca.topology.Component;
-import org.apache.tuscany.sca.topology.TopologyFactory;
-
-/**
- * A composite processor.
- *
- * @version $Rev$ $Date$
- */
-public class TopologyProcessor extends BaseTopologyArtifactProcessor implements StAXArtifactProcessor<Runtime> {
-
- /**
- * Construct a new composite processor
- * @param assemblyFactory
- * @param policyFactory
- * @param extensionProcessor
- */
- public TopologyProcessor(TopologyFactory topologyFactory,
- AssemblyFactory assemblyFactory,
- StAXArtifactProcessor extensionProcessor) {
- super(topologyFactory, assemblyFactory, extensionProcessor);
- }
-
- public Runtime read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- QName name = null;
- Runtime runtime = null;
- Node node = null;
- String domainName = DEFAULT_DOMAIN;
-
- // Read the composite document
- while (reader.hasNext()) {
- int event = reader.getEventType();
- switch (event) {
- case START_ELEMENT:
- name = reader.getName();
-
- if (RUNTIME_QNAME.equals(name)) {
- // Read a <runtime>
- runtime = topologyFactory.createRuntime();
- } else if (NODE_QNAME.equals(name)) {
- // Read a <node>
- node = topologyFactory.createNode();
- node.setName(getString(reader, NAME));
-
- // add node to runtime
- runtime.getNodes().add(node);
-
- // reset domain name to the default
- domainName = DEFAULT_DOMAIN;
- } else if (DOMAIN_QNAME.equals(name)) {
- // Read a <domain>
- domainName = getString(reader, NAME);
- } else if (SCHEME_QNAME.equals(name)) {
- // Read a <scheme>
- Scheme scheme = topologyFactory.createScheme();
- scheme.setName(getString(reader, NAME));
- scheme.setBaseURL(getString(reader, BASE_URL));
-
- scheme.setDomainName(domainName);
-
- // Add scheme to the node
- node.getSchemes(domainName).add(scheme);
- } else if (COMPONENT_QNAME.equals(name)) {
- // Read a <component>
- Component component = topologyFactory.createComponent();
- component.setName(getString(reader, NAME));
-
- component.setDomainName(domainName);
-
- // Add scheme to the node
- node.getComponents(domainName).add(component);
-
- } else {
-
- // Read an extension element
- Object extension = extensionProcessor.read(reader);
-
- if (extension != null) {
- // no extensions are supported
- }
- }
-
- case END_ELEMENT:
- name = reader.getName();
- // Clear current state when reading reaching end element
- }
-
- if (reader.hasNext()) {
- reader.next();
- }
- }
- return runtime;
- }
-
-
- public void write(Runtime runtime, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- writeStartDocument(writer, RUNTIME);
-
- // TODO - write out the scheme definitions
-
- for (Node node : runtime.getNodes()) {
- writeStart(writer, NODE, new XAttr(NAME, node.getName()));
-
- for (String domainName : node.getDomainNames()) {
-
- writeStart(writer, DOMAIN, new XAttr(NAME, domainName));
-
- for (Scheme scheme: node.getSchemes(domainName)) {
- writeStart(writer, SCHEME, new XAttr(NAME, scheme.getName()), new XAttr(BASE_URL, scheme.getBaseURL()));
- writeEnd(writer);
- }
-
- for (Component component: node.getComponents(domainName)) {
- writeStart(writer, COMPONENT, new XAttr(NAME, component.getName()));
- writeEnd(writer);
- }
-
- writeEnd(writer);
- }
-
- writeEnd(writer);
- }
-
- writeEndDocument(writer);
- }
-
- public void resolve(Runtime runtime, ModelResolver resolver) throws ContributionResolveException {
- // no resolution steps defined
- }
-
- public QName getArtifactType() {
- return RUNTIME_QNAME;
- }
-
- public Class<Runtime> getModelType() {
- return Runtime.class;
- }
-}