summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml')
-rw-r--r--branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java165
-rw-r--r--branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java196
-rw-r--r--branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsResolver.java52
3 files changed, 0 insertions, 413 deletions
diff --git a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java b/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
deleted file mode 100644
index 049b3d60ef..0000000000
--- a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java
+++ /dev/null
@@ -1,165 +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.definitions.xml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URL;
-import java.net.URLConnection;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
-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.StAXArtifactProcessorExtensionPoint;
-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.definitions.SCADefinitions;
-import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
-import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil;
-import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.policy.xml.BindingTypeProcessor;
-import org.apache.tuscany.sca.policy.xml.ImplementationTypeProcessor;
-import org.apache.tuscany.sca.policy.xml.PolicySetProcessor;
-import org.apache.tuscany.sca.policy.xml.ProfileIntentProcessor;
-import org.apache.tuscany.sca.policy.xml.QualifiedIntentProcessor;
-import org.apache.tuscany.sca.policy.xml.SimpleIntentProcessor;
-
-/**
- * A SCA Definitions Document processor.
- *
- */
-public class SCADefinitionsDocumentProcessor implements URLArtifactProcessor<SCADefinitions> {
- private StAXArtifactProcessor<Object> extensionProcessor;
- //private SCADefinitionsBuilder definitionsBuilder;
- private ModelResolver scaDefinitionsResolver;
- private XMLInputFactory inputFactory;
- private static final String TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.0";
- private static final String DEFINITIONS = "definitions";
- private static final QName tuscanyDefinitions = new QName(TUSCANY_NS,DEFINITIONS);
-
- /**
- * Construct a new SCADefinitions processor
- * @param assemblyFactory
- * @param policyFactory
- * @param staxProcessor
- */
- public SCADefinitionsDocumentProcessor(StAXArtifactProcessorExtensionPoint staxProcessors,
- StAXArtifactProcessor<Object> staxProcessor,
- XMLInputFactory inputFactory,
- PolicyFactory policyFactory) {
- this.extensionProcessor = (StAXArtifactProcessor<Object>)staxProcessor;
- this.inputFactory = inputFactory;
- //definitionsBuilder = new SCADefinitionsBuilderImpl();
- this.scaDefinitionsResolver = new SCADefinitionsResolver();
-
- IntentAttachPointTypeFactory intentAttachPointFactory = new DefaultIntentAttachPointTypeFactory();
-
- SCADefinitionsProcessor scaDefnProcessor = new SCADefinitionsProcessor(policyFactory, extensionProcessor, scaDefinitionsResolver);
- staxProcessors.addArtifactProcessor(scaDefnProcessor);
-
- staxProcessors.addArtifactProcessor(new SimpleIntentProcessor(policyFactory, extensionProcessor));
- staxProcessors.addArtifactProcessor(new ProfileIntentProcessor(policyFactory, extensionProcessor));
- staxProcessors.addArtifactProcessor(new QualifiedIntentProcessor(policyFactory, extensionProcessor));
- staxProcessors.addArtifactProcessor(new PolicySetProcessor(policyFactory, extensionProcessor));
- staxProcessors.addArtifactProcessor(new ImplementationTypeProcessor(policyFactory, intentAttachPointFactory, extensionProcessor));
- staxProcessors.addArtifactProcessor(new BindingTypeProcessor(policyFactory, intentAttachPointFactory, extensionProcessor));
- }
-
-
- public SCADefinitions read(URL contributionURL, URI uri, URL url) throws ContributionReadException {
- InputStream urlStream = null;
- try {
- URLConnection connection = url.openConnection();
- connection.setUseCaches(false);
- urlStream = connection.getInputStream();
- //urlStream = createInputStream(url);
- XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream);
-
- SCADefinitions scaDefns = new SCADefinitionsImpl();
- QName name = null;
- int event;
- while ( reader.hasNext() ) {
- event = reader.next();
-
- if ( event == XMLStreamConstants.START_ELEMENT ||
- event == XMLStreamConstants.END_ELEMENT ) {
- name = reader.getName();
- if ( name.equals(tuscanyDefinitions) ) {
- if ( event == XMLStreamConstants.END_ELEMENT ) {
- return scaDefns;
- }
- } else {
- SCADefinitions aDefn = (SCADefinitions)extensionProcessor.read(reader);
- SCADefinitionsUtil.aggregateSCADefinitions(aDefn, scaDefns);
- }
- }
- }
-
- return scaDefns;
- } 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(SCADefinitions scaDefinitions, ModelResolver resolver) throws ContributionResolveException {
- if ( resolver == null ) {
- resolver = this.scaDefinitionsResolver;
- }
- SCADefinitionsUtil.stripDuplicates(scaDefinitions);
- extensionProcessor.resolve(scaDefinitions, resolver);
- }
-
- public String getArtifactType() {
- return "definitions.xml";
- }
-
- public Class<SCADefinitions> getModelType() {
- return SCADefinitions.class;
- }
-
- public ModelResolver getSCADefinitionsResolver() {
- return scaDefinitionsResolver;
- }
-
- public void setDomainModelResolver(ModelResolver scaDefnsModelResolver) {
- this.scaDefinitionsResolver = scaDefnsModelResolver;
- }
-}
diff --git a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java b/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java
deleted file mode 100644
index 7cb9087bd5..0000000000
--- a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.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.definitions.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.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.definitions.SCADefinitions;
-import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.QualifiedIntent;
-
-/**
- * Processor for SCA Definitions
- *
- */
-public class SCADefinitionsProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<SCADefinitions> {
-
- private StAXArtifactProcessor<Object> extensionProcessor;
- private ModelResolver definitionsResolver;
-
- public static final String BINDING = "binding";
- public static final String IMPLEMENTATION = "implementation";
- public static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
- public static final String SCA_DEFINITIONS = "definitions";
- public static final QName SCA_DEFINITIONS_QNAME = new QName(SCA10_NS, SCA_DEFINITIONS);
- public static final String TARGET_NAMESPACE = "targetNamespace";
- public static final String NAME = "name";
-
- /**
- * Construct a new (sca) definitions processor
- * @param policyFactory
- * @param extensionProcessor
- * @param modelResolver
- */
- public SCADefinitionsProcessor(PolicyFactory policyFactory,
- StAXArtifactProcessor<Object> extensionProcessor,
- ModelResolver modelResolver) {
- this.extensionProcessor = extensionProcessor;
- this.definitionsResolver = modelResolver;
- }
-
- public SCADefinitions read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- QName name = null;
- SCADefinitions definitions = null;
- String targetNamespace = null;
-
- while (reader.hasNext()) {
- int event = reader.getEventType();
- switch (event) {
- case START_ELEMENT: {
- name = reader.getName();
- if ( SCA_DEFINITIONS_QNAME.equals(name)) {
- definitions = new SCADefinitionsImpl();
- targetNamespace = reader.getAttributeValue(null, TARGET_NAMESPACE);
- definitions.setTargetNamespace(targetNamespace);
- } else {
- Object extension = extensionProcessor.read(reader);
- if (extension != null) {
- if ( extension instanceof Intent ) {
- Intent intent = (Intent)extension;
- intent.setName(new QName(targetNamespace,
- intent.getName().getLocalPart()));
- if ( intent instanceof QualifiedIntent ) {
- QualifiedIntent qualifiedIntent = (QualifiedIntent)intent;
- qualifiedIntent.getQualifiableIntent().
- setName(new QName(targetNamespace,
- qualifiedIntent.getQualifiableIntent().getName().getLocalPart()));
- }
-
- definitions.getPolicyIntents().add(intent);
- } else if ( extension instanceof PolicySet ) {
- PolicySet policySet = (PolicySet)extension;
- policySet.setName(new QName(targetNamespace,
- policySet.getName().getLocalPart()));
- definitions.getPolicySets().add(policySet);
- } else if ( extension instanceof IntentAttachPointType ) {
- IntentAttachPointType type = (IntentAttachPointType)extension;
- if ( type.getName().getLocalPart().startsWith(BINDING)) {
- definitions.getBindingTypes().add((IntentAttachPointType)extension);
- } else if ( type.getName().getLocalPart().startsWith(IMPLEMENTATION)) {
- definitions.getImplementationTypes().add((IntentAttachPointType)extension);
- }
- }
- definitionsResolver.addModel(extension);
- }
- break;
- }
- }
-
- case XMLStreamConstants.CHARACTERS:
- break;
-
- case END_ELEMENT:
- name = reader.getName();
- if ( SCA_DEFINITIONS_QNAME.equals(name)) {
- return definitions;
- }
- break;
- }
-
- //Read the next element
- if (reader.hasNext()) {
- reader.next();
- }
- }
- return definitions;
- }
-
- public void write(SCADefinitions definitions, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- writeStartDocument(writer, SCA10_NS, SCA_DEFINITIONS,
- new XAttr(TARGET_NAMESPACE, definitions.getTargetNamespace().toString()));
-
- for (Intent policyIntent : definitions.getPolicyIntents()) {
- extensionProcessor.write(policyIntent, writer);
- }
-
- for (PolicySet policySet : definitions.getPolicySets()) {
- extensionProcessor.write(policySet, writer);
- }
-
- for (IntentAttachPointType bindingType : definitions.getBindingTypes()) {
- extensionProcessor.write(bindingType, writer);
- }
-
- for (IntentAttachPointType implType : definitions.getImplementationTypes()) {
- extensionProcessor.write(implType, writer);
- }
-
- writeEndDocument(writer);
- }
-
- public void resolve(SCADefinitions scaDefns, ModelResolver resolver) throws ContributionResolveException {
- for (int count = 0, size = scaDefns.getPolicyIntents().size(); count < size; count++) {
- Intent intent = scaDefns.getPolicyIntents().get(count);
- extensionProcessor.resolve(intent, resolver);
- }
-
- for (int count = 0, size = scaDefns.getPolicySets().size(); count < size; count++) {
- PolicySet policySet = scaDefns.getPolicySets().get(count);
- extensionProcessor.resolve(policySet, resolver);
- }
-
- for (int count = 0, size = scaDefns.getBindingTypes().size(); count < size; count++) {
- IntentAttachPointType bindingType = scaDefns.getBindingTypes().get(count);
- extensionProcessor.resolve(bindingType, resolver);
- }
-
- for (int count = 0, size = scaDefns.getImplementationTypes().size(); count < size; count++) {
- IntentAttachPointType implType = scaDefns.getImplementationTypes().get(count);
- extensionProcessor.resolve(implType, resolver);
- }
- }
-
- public QName getArtifactType() {
- return SCA_DEFINITIONS_QNAME;
- }
-
- public Class<SCADefinitions> getModelType() {
- return SCADefinitions.class;
- }
-
-}
diff --git a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsResolver.java b/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsResolver.java
deleted file mode 100644
index 02fc114e24..0000000000
--- a/branches/sca-java-1.2/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsResolver.java
+++ /dev/null
@@ -1,52 +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.definitions.xml;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-
-/**
- * Resolver for artifacts defined in definitions.xml
- *
- */
-public class SCADefinitionsResolver implements ModelResolver {
- private Map<Object, Object> map = new HashMap<Object, Object>();
-
- public SCADefinitionsResolver() {
- }
-
- public void addModel(Object resolved) {
- map.put(resolved, resolved);
- }
-
- public Object removeModel(Object resolved) {
- return map.remove(resolved);
- }
-
- @SuppressWarnings("unchecked")
- public <T> T resolveModel(Class<T> modelClass, T unresolved) {
- Object resolved = map.get(unresolved);
- if (resolved != null) {
- return (T)resolved;
- }
- return unresolved;
- }
-}