summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java')
-rw-r--r--java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java151
1 files changed, 0 insertions, 151 deletions
diff --git a/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java b/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java
deleted file mode 100644
index ea742ae404..0000000000
--- a/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/EndpointReferenceProcessor.java
+++ /dev/null
@@ -1,151 +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.assembly.xml;
-
-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.Binding;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-
-/**
- *
- */
-public class EndpointReferenceProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor<EndpointReference> {
- private final static String ENDPOINT_REFERENCE = "endpointReference";
- private final static QName ENDPOINT_REFERENCE_QNAME = new QName(Constants.SCA11_TUSCANY_NS, ENDPOINT_REFERENCE);
-
- private ExtensionPointRegistry registry;
-
- public EndpointReferenceProcessor(ExtensionPointRegistry registry,
- StAXArtifactProcessor extensionProcessor,
- StAXAttributeProcessor extensionAttributeProcessor) {
-
- super(modelFactories(registry), extensionProcessor);
- this.registry = registry;
- }
-
- /**
- * Returns the model factory extension point to use.
- *
- * @param extensionPoints
- * @return
- */
- private static FactoryExtensionPoint modelFactories(ExtensionPointRegistry extensionPoints) {
- return extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
- }
-
- public QName getArtifactType() {
- return ENDPOINT_REFERENCE_QNAME;
- }
-
- public EndpointReference read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
- EndpointReference endpointReference = assemblyFactory.createEndpointReference();
- if (reader.getEventType() == XMLStreamConstants.START_DOCUMENT) {
- reader.nextTag();
- }
- Object model = extensionProcessor.read(reader, context);
- if (model instanceof Composite) {
- Composite composite = (Composite)model;
- Component component = composite.getComponents().get(0);
- ComponentReference reference = component.getReferences().get(0);
- Binding binding = reference.getBindings().get(0);
- endpointReference.setComponent(component);
- endpointReference.setReference(reference);
- reference.getEndpointReferences().add(endpointReference);
- endpointReference.setBinding(binding);
-
- // set up the EPR so that resolution will happen
- // at wire creation time if needs be
- Endpoint endpoint = assemblyFactory.createEndpoint();
- endpointReference.setTargetEndpoint(endpoint);
-
- if (reference.getTargets().size() > 0){
- // create a dummy endpoint with the URI set so that
- // the endpoint registry will be consulted
- endpoint.setUnresolved(true);
- endpoint.setURI(reference.getTargets().get(0).getName());
- endpointReference.setStatus(EndpointReference.WIRED_TARGET_NOT_FOUND);
- endpointReference.setUnresolved(true);
- } else {
- endpoint.setUnresolved(false);
- endpoint.setBinding(reference.getBindings().get(0));
- endpointReference.setStatus(EndpointReference.RESOLVED_BINDING);
- endpointReference.setUnresolved(false);
- }
- }
- return endpointReference;
- }
-
- public void write(EndpointReference model, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
- extensionProcessor.write(wrap(model), writer, context);
- }
-
- private Composite wrap(EndpointReference endpointReference) {
- try {
- Composite composite = assemblyFactory.createComposite();
- composite.setName(ENDPOINT_REFERENCE_QNAME);
- composite.setLocal(false);
- Component component = (Component)endpointReference.getComponent().clone();
- composite.getComponents().add(component);
- component.getReferences().clear();
- component.getServices().clear();
- ComponentReference reference = (ComponentReference)endpointReference.getReference().clone();
- component.getReferences().add(reference);
- reference.getBindings().clear();
- Binding binding = (Binding)endpointReference.getBinding().clone();
- reference.getBindings().add(binding);
- //reference.setInterfaceContract(endpointReference.getInterfaceContract());
- if (endpointReference.getStatus() != EndpointReference.RESOLVED_BINDING){
- ComponentService service = assemblyFactory.createComponentService();
- service.setName(endpointReference.getTargetEndpoint().getURI());
- reference.getTargets().clear();
- reference.getTargets().add(service);
- }
- return composite;
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- public Class<EndpointReference> getModelType() {
- return EndpointReference.class;
- }
-
- public void resolve(EndpointReference model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
- }
-}