diff options
Diffstat (limited to 'branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation')
21 files changed, 0 insertions, 1992 deletions
diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java deleted file mode 100644 index c47888de17..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java +++ /dev/null @@ -1,41 +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.bpel; - -/** - * A factory for the BPEL implementation model. - * - * @version $Rev$ $Date$ - */ -public interface BPELFactory { - - /** - * Creates a new BPEL implementation. - * - * @return - */ - BPELImplementation createBPELImplementation(); - - /** - * Creates a new BPEL Process Definition - * @return - */ - BPELProcessDefinition createBPELProcessDefinition(); -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java deleted file mode 100644 index 494498804d..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.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.bpel; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Implementation; - -/** - * The model representing the BPEL implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -public interface BPELImplementation extends Implementation { - - /** - * Get the BPEL process Name - */ - QName getProcess(); - - /** - * Set the BPEL process Name - * @param processName process QName - */ - void setProcess(QName processName); - - /** - * Get the BPEL process definition - * @return - */ - BPELProcessDefinition getProcessDefinition(); - - /** - * Set the BPEL process definition - * @param processDefinition - */ - void setProcessDefinition(BPELProcessDefinition processDefinition); -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java deleted file mode 100644 index 3ff9e5fb06..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java +++ /dev/null @@ -1,71 +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.bpel; - -import java.net.URI; -import java.net.URL; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; - - -/** - * The BPEL process definition. - * - * @version $Rev$ $Date$ - */ -public interface BPELProcessDefinition extends Base { - - /** - * Get the BPEL process Name - */ - public QName getName(); - - /** - * Set the BPEL process Name - * @param processName process QName - */ - public void setName(QName name); - - /** - * Get BPEL process URI - * @return uri for the process - */ - public URI getURI(); - - /** - * Set the BPEL process URI - * @param uri for the process - */ - public void setURI(URI uri); - - /** - * Get the URL for the process location - * @return - */ - URL getLocation(); - - /** - * Set the URL for the process location - * @param url - */ - void setLocation(URL location); -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/DefaultBPELFactory.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/DefaultBPELFactory.java deleted file mode 100644 index d574f6e422..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/DefaultBPELFactory.java +++ /dev/null @@ -1,53 +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.bpel; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.implementation.bpel.impl.BPELImplementationImpl; -import org.apache.tuscany.sca.implementation.bpel.impl.BPELProcessDefinitionImpl; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; - -/** - * A default factory for the BPEL implementation model. - * - * @version $Rev$ $Date$ - */ -public class DefaultBPELFactory implements BPELFactory { - - private AssemblyFactory assemblyFactory; - private WSDLFactory wsdlFactory; - - public DefaultBPELFactory(ModelFactoryExtensionPoint modelFactories) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class); - } - - public BPELImplementation createBPELImplementation() { - return new BPELImplementationImpl(assemblyFactory, wsdlFactory); - } - - public BPELProcessDefinition createBPELProcessDefinition() { - return new BPELProcessDefinitionImpl(); - } - - - -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELDocumentProcessor.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELDocumentProcessor.java deleted file mode 100644 index a40d91b9bc..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELDocumentProcessor.java +++ /dev/null @@ -1,133 +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.bpel.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; - -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.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -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.implementation.bpel.BPELFactory; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; - -/** - * BPEL document processor responsible for reading a BPEL file and producing necessary model info about it - * - * @version $Rev$ $Date$ - */ -public class BPELDocumentProcessor extends BaseStAXArtifactProcessor implements URLArtifactProcessor<BPELProcessDefinition> { - public final static QName BPEL_PROCESS_DEFINITION = new QName("http://schemas.xmlsoap.org/ws/2004/03/business-process/", "process"); - public final static QName BPEL_EXECUTABLE_DEFINITION = new QName("http://docs.oasis-open.org/wsbpel/2.0/process/executable", "process"); - public final static String NAME_ELEMENT = "name"; - - private final static XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - - private final BPELFactory factory; - - public BPELDocumentProcessor(ModelFactoryExtensionPoint modelFactories) { - this.factory = modelFactories.getFactory(BPELFactory.class); - } - - public String getArtifactType() { - return "*.bpel"; - } - - public Class<BPELProcessDefinition> getModelType() { - return BPELProcessDefinition.class; - } - - public BPELProcessDefinition read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - BPELProcessDefinition processDefinition = null; - try { - //for now we are just using process name - //and relying on componentType file for service definition - //so it's ok to set resolved for now - processDefinition = indexRead(artifactURL); - processDefinition.setURI(artifactURI); - processDefinition.setUnresolved(false); - } catch (Exception e) { - throw new ContributionReadException(e); - } - - return processDefinition; - } - - - public void resolve(BPELProcessDefinition model, ModelResolver resolver) throws ContributionResolveException { - - } - - /** - * Read the namespace for the WSDL definition and inline schemas - * - * @param doc - * @return - * @throws IOException - * @throws XMLStreamException - */ - protected BPELProcessDefinition indexRead(URL doc) throws Exception { - BPELProcessDefinition processDefinition = factory.createBPELProcessDefinition(); - processDefinition.setUnresolved(true); - processDefinition.setLocation(doc); - - InputStream is = doc.openStream(); - XMLStreamReader reader = null; - try { - reader = inputFactory.createXMLStreamReader(is); - int eventType = reader.getEventType(); - while (true) { - if (eventType == XMLStreamConstants.START_ELEMENT) { - QName elementName = reader.getName(); - if (BPEL_PROCESS_DEFINITION.equals(elementName) || BPEL_EXECUTABLE_DEFINITION.equals(elementName) ) { - QName processName = new QName(getString(reader, org.apache.tuscany.sca.assembly.xml.Constants.TARGET_NAMESPACE), getString(reader, NAME_ELEMENT)); - processDefinition.setName(processName); - break; - } - } - if (reader.hasNext()) { - eventType = reader.next(); - } else { - break; - } - } - } finally { - if(reader != null) { - reader.close(); - } - is.close(); - } - - return processDefinition; - } - - -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java deleted file mode 100644 index 3442d86c4e..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java +++ /dev/null @@ -1,110 +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.bpel.impl; - -import java.util.Collections; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; - -/** - * The model representing a BPEL implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -public class BPELImplementationImpl extends ImplementationImpl implements BPELImplementation { - - private QName _processName; - private BPELProcessDefinition _processDefinition; - - /** - * Constructs a new BPEL implementation. - */ - public BPELImplementationImpl(AssemblyFactory assemblyFactory, - WSDLFactory wsdlFactory) { - - } - - public QName getProcess() { - return _processName; - } - - public void setProcess(QName processName) { - _processName = processName; - } - - public BPELProcessDefinition getProcessDefinition() { - return this._processDefinition; - } - - public void setProcessDefinition(BPELProcessDefinition processDefinition) { - this._processDefinition = processDefinition; - } - - @Override - public String getURI() { - // The sample BPEL implementation does not have a URI - return null; - } - - @Override - public void setURI(String uri) { - // The sample BPEL implementation does not have a URI - } - - @Override - public ConstrainingType getConstrainingType() { - // The sample BPEL implementation does not support constrainingTypes - return null; - } - - @Override - public List<Property> getProperties() { - // The sample BPEL implementation does not support properties - return Collections.emptyList(); - } - - @Override - public int hashCode() { - return String.valueOf(this.getProcess()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof BPELImplementation) { - if (getProcess() != null) { - return getProcess().equals(((BPELImplementation)obj).getProcess()); - } else { - return ((BPELImplementation)obj).getProcess() == null; - } - } else { - return false; - } - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java deleted file mode 100644 index e1144186be..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java +++ /dev/null @@ -1,207 +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.bpel.impl; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import java.util.HashMap; -import java.util.Map; - -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.ComponentType; -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.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.databinding.xml.DOMDataBinding; -import org.apache.tuscany.sca.implementation.bpel.BPELFactory; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; -import org.apache.tuscany.sca.implementation.bpel.DefaultBPELFactory; - -/** - * Implements a STAX artifact processor for BPEL implementations. - * - * The artifact processor is responsible for processing <implementation.bpel> - * elements in SCA assembly XML composite files and populating the BPEL - * implementation model, resolving its references to other artifacts in the SCA - * contribution, and optionally write the model back to SCA assembly XML. - * - * @version $Rev$ $Date$ - */ -public class BPELImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<BPELImplementation> { - private static final QName IMPLEMENTATION_BPEL = new QName(Constants.SCA10_NS, "implementation.bpel"); - - private AssemblyFactory assemblyFactory; - private BPELFactory bpelFactory; - - public BPELImplementationProcessor(ModelFactoryExtensionPoint modelFactories) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.bpelFactory = new DefaultBPELFactory(modelFactories); - } - - public QName getArtifactType() { - // Returns the qname of the XML element processed by this processor - return IMPLEMENTATION_BPEL; - } - - public Class<BPELImplementation> getModelType() { - // Returns the type of model processed by this processor - return BPELImplementation.class; - } - - public BPELImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - assert IMPLEMENTATION_BPEL.equals(reader.getName()); - - // Read an <implementation.bpel> element - - // Read the process attribute. - QName process = getAttributeValueNS(reader, "process"); - - - // Create an initialize the BPEL implementation model - BPELImplementation implementation = bpelFactory.createBPELImplementation(); - implementation.setProcess(process); - implementation.setUnresolved(true); - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_BPEL.equals(reader.getName())) { - break; - } - } - - return implementation; - } - - public void resolve(BPELImplementation impl, ModelResolver resolver) throws ContributionResolveException { - if( impl != null && impl.isUnresolved()) { - BPELProcessDefinition processDefinition = resolveBPELProcessDefinition(impl, resolver); - if(processDefinition.isUnresolved()) { - throw new ContributionResolveException("Can't find BPEL Process : " + processDefinition.getName()); - } - - impl.setProcessDefinition(processDefinition); - - //resolve component type - mergeComponentType(resolver, impl); - - //set current implementation resolved - impl.setUnresolved(false); - } - - } - - public void write(BPELImplementation model, XMLStreamWriter outputSource) throws ContributionWriteException { - //FIXME Implement - } - - private BPELProcessDefinition resolveBPELProcessDefinition(BPELImplementation impl, ModelResolver resolver) throws ContributionResolveException { - QName processName = impl.getProcess(); - BPELProcessDefinition processDefinition = this.bpelFactory.createBPELProcessDefinition(); - processDefinition.setName(processName); - processDefinition.setUnresolved(true); - - return resolver.resolveModel(BPELProcessDefinition.class, processDefinition); - } - - - /** - * Merge the componentType from introspection and external file - * @param resolver - * @param impl - */ - private void mergeComponentType(ModelResolver resolver, BPELImplementation impl) { - // FIXME: Need to clarify how to merge - ComponentType componentType = getComponentType(resolver, impl); - if (componentType != null && !componentType.isUnresolved()) { - - Map<String, Reference> refMap = new HashMap<String, Reference>(); - for (Reference ref : impl.getReferences()) { - refMap.put(ref.getName(), ref); - } - for (Reference reference : componentType.getReferences()) { - refMap.put(reference.getName(), reference); - } - impl.getReferences().clear(); - impl.getReferences().addAll(refMap.values()); - - Map<String, Service> serviceMap = new HashMap<String, Service>(); - for (Service svc : impl.getServices()) { - if(svc != null) { - serviceMap.put(svc.getName(), svc); - } - } - for (Service service : componentType.getServices()) { - //set default dataBinding to DOM - service.getInterfaceContract().getInterface().resetDataBinding(DOMDataBinding.NAME); - - serviceMap.put(service.getName(), service); - } - impl.getServices().clear(); - impl.getServices().addAll(serviceMap.values()); - - Map<String, Property> propMap = new HashMap<String, Property>(); - for (Property prop : impl.getProperties()) { - propMap.put(prop.getName(), prop); - } - } - } - - - private ComponentType getComponentType(ModelResolver resolver, BPELImplementation impl) { - String bpelProcessURI = impl.getProcessDefinition().getURI().toString(); - String componentTypeURI = bpelProcessURI.replace(".bpel", ".componentType"); - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setUnresolved(true); - componentType.setURI(componentTypeURI); - componentType = resolver.resolveModel(ComponentType.class, componentType); - if (!componentType.isUnresolved()) { - return componentType; - } - return null; - } - - private QName getAttributeValueNS(XMLStreamReader reader, String attribute) { - String fullValue = reader.getAttributeValue(null, "process"); - if (fullValue.indexOf(":") < 0) - throw new ODEProcessException("Attribute " + attribute + " with value " + fullValue + - " in your composite should be prefixed (process=\"prefix:name\")."); - String prefix = fullValue.substring(0, fullValue.indexOf(":")); - String name = fullValue.substring(fullValue.indexOf(":") + 1); - String nsUri = reader.getNamespaceContext().getNamespaceURI(prefix); - if (nsUri == null) - throw new ODEProcessException("Attribute " + attribute + " with value " + fullValue + - " in your composite has un unrecognized namespace prefix."); - return new QName(nsUri, name, prefix); - } - -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java deleted file mode 100644 index 98405c3489..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java +++ /dev/null @@ -1,110 +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.bpel.impl; - -import java.net.URI; -import java.net.URL; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; - -/** - * The BPEL process definition implementation. - * - * @version $Rev$ $Date$ - */ -public class BPELProcessDefinitionImpl implements BPELProcessDefinition { - private QName name; - private URI uri; - private URL location; - private boolean unresolved; - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - public URI getURI() { - return uri; - } - - public void setURI(URI uri) { - this.uri = uri; - } - - public URL getLocation() { - return location; - } - - public void setLocation(URL location) { - this.location = location; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - public void compile() { - /* - String bpelFile = reader.getAttributeValue(null, "file"); // FIXME: - - // Resolving the BPEL file and compiling it - URL bpelURL = getClass().getClassLoader().getResource(bpelFile); - if (bpelURL == null) - throw new ODEProcessException("Couldn't find referenced bpel file " + bpelFile); - BpelC bpelc = BpelC.newBpelCompiler(); - ByteArrayOutputStream compiledProcess = new ByteArrayOutputStream(); - bpelc.setOutputStream(compiledProcess); - try { - bpelc.compile(new File(bpelURL.getFile())); - } catch (IOException e) { - e.printStackTrace(); - } - */ - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof BPELProcessDefinition) { - if (getName() != null) { - return getName().equals(((BPELProcessDefinition)obj).getName()); - } else { - return ((BPELProcessDefinition)obj).getName() == null; - } - } else { - return false; - } - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ODEProcessException.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ODEProcessException.java deleted file mode 100644 index b54b8b01c4..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ODEProcessException.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.bpel.impl; - -/** - * Thrown when a process can't be compiled properly or when its descriptors - * are invalid. - * - * @version $Rev$ $Date$ - */ -public class ODEProcessException extends RuntimeException { - private static final long serialVersionUID = 1047893235216756186L; - - public ODEProcessException(String message) { - super(message); - } - - public ODEProcessException(String message, Throwable cause) { - super(message, cause); - } - - public ODEProcessException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ThreadRuntimeComponentContext.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ThreadRuntimeComponentContext.java deleted file mode 100644 index c16201b147..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/ThreadRuntimeComponentContext.java +++ /dev/null @@ -1,68 +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.bpel.impl; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Class for tuneling a RuntimeComponent for invocation of a BPEL process - * This is used for BPEL to invoke references - * -* @version $Rev$ $Date$ - */ -public class ThreadRuntimeComponentContext { - - private static final ThreadLocal<RuntimeComponent> CONTEXT = new ThreadLocal<RuntimeComponent>(); - - private ThreadRuntimeComponentContext() { - - } - - /** - * Set the RuntimeComponentContext for the current thread. - * The current runtime component context is returned and must be restored after the invocation is complete. - * Typical usage would be: - * <pre> - * RuntimeComponent old = ThreadRuntimeComponentContext.setRuntimeComponent(newContext); - * try { - * ... invoke user code ... - * } finally { - * ThreadRuntimeComponentContext.setThreadWorkContext(old); - * } - * </pre> - * @param context - * @return the current work context for the thread; this must be restored after the invocation is made - */ - public static RuntimeComponent setRuntimeComponent(RuntimeComponent runtimeComponent) { - RuntimeComponent old = CONTEXT.get(); - CONTEXT.set(runtimeComponent); - return old; - } - - /** - * Returns the RuntimeComponentContext for the current thread. - * - * @return the RuntimeComponentContext for the current thread - */ - public static RuntimeComponent getRuntimeComponent() { - return CONTEXT.get(); - } - -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java deleted file mode 100644 index 661f79f78d..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java +++ /dev/null @@ -1,284 +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.bpel.ode; - -import java.io.File; -import java.net.URL; -import java.util.Collection; -import java.util.Properties; - -import javax.transaction.TransactionManager; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC; -import org.apache.ode.bpel.engine.BpelServerImpl; -import org.apache.ode.bpel.engine.CountLRUDehydrationPolicy; -import org.apache.ode.bpel.iapi.ProcessConf; -import org.apache.ode.bpel.iapi.ProcessStore; -import org.apache.ode.bpel.iapi.ProcessStoreEvent; -import org.apache.ode.bpel.iapi.ProcessStoreListener; -import org.apache.ode.bpel.iapi.Scheduler; -import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl; -import org.apache.ode.il.config.OdeConfigProperties; -import org.apache.ode.il.dbutil.Database; -import org.apache.ode.scheduler.simple.JdbcDelegate; -import org.apache.ode.scheduler.simple.SimpleScheduler; -import org.apache.ode.store.ProcessStoreImpl; -import org.apache.ode.utils.GUID; - -/** - * Embedded ODE process server - * - * @version $Rev$ $Date$ - */ -public class EmbeddedODEServer { - protected final Log __log = LogFactory.getLog(getClass()); - - private boolean _initialized; - - private OdeConfigProperties _config; - - private TransactionManager _txMgr; - - private Database _db; - - private File _workRoot; - - private BpelDAOConnectionFactoryJDBC _daoCF; - - private BpelServerImpl _bpelServer; - - protected ProcessStore store; - - private Scheduler _scheduler; - - - public EmbeddedODEServer(TransactionManager txMgr) { - _txMgr = txMgr; - } - - public void init() throws ODEInitializationException { - Properties p = System.getProperties(); - p.put("derby.system.home", "target"); - - _config = new OdeConfigProperties(new Properties(), "ode-sca"); - - // Setting work root as the directory containing our database (wherever in the classpath) - URL dbLocation = getClass().getClassLoader().getResource("jpadb"); - if (dbLocation == null) - throw new ODEInitializationException("Couldn't find database in the classpath"); - _workRoot = new File(dbLocation.getFile()).getParentFile(); - - initTxMgr(); - initPersistence(); - initBpelServer(); - - try { - _bpelServer.start(); - } catch (Exception ex) { - String errmsg = "An error occured during the ODE BPEL server startup."; - __log.error(errmsg, ex); - throw new ODEInitializationException(errmsg, ex); - } - - __log.info("ODE BPEL server started."); - _initialized = true; - } - - private void initTxMgr() { - if(_txMgr == null) { - try { - GeronimoTxFactory txFactory = new GeronimoTxFactory(); - _txMgr = txFactory.getTransactionManager(); - } catch (Exception e) { - __log.fatal("Couldn't initialize a transaction manager using Geronimo's transaction factory.", e); - throw new ODEInitializationException("Couldn't initialize a transaction manager using " + "Geronimo's transaction factory.", e); - } - } - } - - private void initPersistence() { - _db = new Database(_config); - _db.setTransactionManager(_txMgr); - _db.setWorkRoot(_workRoot); - - try { - _db.start(); - _daoCF = _db.createDaoCF(); - } catch (Exception ex) { - String errmsg = "Error while configuring ODE persistence."; - __log.error(errmsg, ex); - throw new ODEInitializationException(errmsg, ex); - } - } - - private void initBpelServer() { - if (__log.isDebugEnabled()) { - __log.debug("ODE initializing"); - } - - _bpelServer = new BpelServerImpl(); - _scheduler = createScheduler(); - _scheduler.setJobProcessor(_bpelServer); - - _bpelServer.setDaoConnectionFactory(_daoCF); - _bpelServer.setInMemDaoConnectionFactory(new BpelDAOConnectionFactoryImpl(_scheduler)); - // _bpelServer.setEndpointReferenceContext(new EndpointReferenceContextImpl(this)); - _bpelServer.setMessageExchangeContext(new ODEMessageExchangeContext(this)); - _bpelServer.setBindingContext(new ODEBindingContext(this)); - _bpelServer.setScheduler(_scheduler); - if (_config.isDehydrationEnabled()) { - CountLRUDehydrationPolicy dehy = new CountLRUDehydrationPolicy(); - _bpelServer.setDehydrationPolicy(dehy); - } - - store = new ProcessStoreImpl(_db.getDataSource(), "jpa", true); - store.registerListener(new ProcessStoreListener() { - public void onProcessStoreEvent(ProcessStoreEvent event) { - // bounce the process - _bpelServer.unregister(event.pid); - if (event.type != ProcessStoreEvent.Type.UNDEPLOYED) { - ProcessConf conf = (ProcessConf) store.getProcessConfiguration(event.pid); - // Test processes always run with in-mem DAOs - // conf.setTransient(true); //FIXME: what should we use for ProcessConfImpl - _bpelServer.register(conf); - } - } - }); - - _bpelServer.init(); - } - - public void stop() throws ODEShutdownException { - if(_bpelServer != null) { - try { - __log.debug("Stopping BPEL Embedded server"); - _bpelServer.shutdown(); - _bpelServer = null; - } catch (Exception ex) { - __log.debug("Error stopping BPEL server"); - } - } - - if(_scheduler != null) { - try { - __log.debug("Stopping scheduler"); - _scheduler.shutdown(); - _scheduler = null; - } catch (Exception ex) { - __log.debug("Error stopping scheduler"); - } - } - - if(store != null) { - try { - __log.debug("Stopping store"); - ((ProcessStoreImpl)store).shutdown(); - store = null; - } catch (Exception ex) { - __log.debug("Error stopping store"); - } - } - - if(_daoCF != null) { - try { - __log.debug("Stopping DAO"); - _daoCF.shutdown(); - _daoCF = null; - } catch (Exception ex) { - __log.debug("Error stopping DAO"); - } - } - - if(_db != null) { - try { - __log.debug("Stopping DB"); - _db.shutdown(); - _db = null; - } catch (Exception ex) { - __log.debug("Error stopping DB"); - } - } - - if(_txMgr != null) { - try { - __log.debug("Stopping Transaction Manager"); - _txMgr = null; - } catch (Exception ex) { - __log.debug("Error stopping Transaction Manager"); - } - } - } - - protected Scheduler createScheduler() { - SimpleScheduler scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_db.getDataSource())); - scheduler.setTransactionManager(_txMgr); - - return scheduler; - } - - public boolean isInitialized() { - return _initialized; - } - - public BpelServerImpl getBpelServer() { - return _bpelServer; - } - - public Scheduler getScheduler() { - return _scheduler; - } - - public void deploy(ODEDeployment d) { - Collection<QName> procs; - - try { - procs = store.deploy(d.deployDir); - - // _deployed.add(d); - } catch (Exception ex) { - String errMsg = ">>> DEPLOY: Unexpected exception: " + ex.getMessage(); - __log.debug(errMsg, ex); - throw new ODEDeploymentException(errMsg,ex); - } - - - /* We are already registering the process on the "register" event - try { - for (QName procName : procs) { - ProcessConf conf = (ProcessConf) store.getProcessConfiguration(procName); - // Test processes always run with in-mem DAOs - //conf.setTransient(true); //FIXME: what should we use for ProcessConfImpl - _bpelServer.register(conf); - } - } catch (Exception ex) { - String errMsg =">>>REGISTER: Unexpected exception: " + ex.getMessage(); - __log.debug(errMsg , ex); - throw new ODEDeploymentException(errMsg, ex); - } - */ - } - - public void undeploy(ODEDeployment d) { - //TODO - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java deleted file mode 100644 index ad6e0cf3b7..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.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.implementation.bpel.ode; - -import javax.transaction.TransactionManager; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * Geronimo transaction factory - * - * @version $Rev$ $Date$ - */ -public class GeronimoTxFactory { - private static final Log __log = LogFactory.getLog(GeronimoTxFactory.class); - - /* Public no-arg contructor is required */ - public GeronimoTxFactory() { - } - - public TransactionManager getTransactionManager() { - __log.info("Using embedded Geronimo transaction manager"); - try { - Object obj = new org.apache.geronimo.transaction.manager.GeronimoTransactionManager(); - return (TransactionManager) obj; - } catch (Exception except) { - throw new IllegalStateException("Unable to instantiate Geronimo Transaction Manager", except); - } - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java deleted file mode 100644 index 96083614ff..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java +++ /dev/null @@ -1,126 +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.bpel.ode; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.BindingContext; -import org.apache.ode.bpel.iapi.Endpoint; -import org.apache.ode.bpel.iapi.EndpointReference; -import org.apache.ode.bpel.iapi.PartnerRoleChannel; -import org.apache.ode.utils.DOMUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Binding Context information - * - * @version $Rev: 573789 $ $Date: 2007-09-07 23:59:49 -0700 (Fri, 07 Sep 2007) $ - */ -public class ODEBindingContext implements BindingContext { - private static final Log __log = LogFactory.getLog(ODEBindingContext.class); - - private EmbeddedODEServer _server; - - public ODEBindingContext(EmbeddedODEServer _server) { - this._server = _server; - } - - public EndpointReference activateMyRoleEndpoint(QName pid, Endpoint endpoint) { - // This will be needed when we support callBacks - if (__log.isDebugEnabled()) - __log.debug("Activating MyRole Endpoint : " + pid + " - " + endpoint.serviceName); - - System.out.println(">>> Activating MyRole Endpoint : " + pid + " - " + endpoint.serviceName); - - return new TuscanyEPR(endpoint); - } - - public void deactivateMyRoleEndpoint(Endpoint endpoint) { - if (__log.isDebugEnabled()) - __log.debug("Deactivate MyRole Endpoint : " + endpoint.serviceName); - - } - - public PartnerRoleChannel createPartnerRoleChannel(QName qName, PortType portType, Endpoint endpoint) { - if (__log.isDebugEnabled()) - __log.debug("Create PartnerRole channel : " + qName + " - " + portType.getQName() + " - "+ endpoint.serviceName); - - System.out.println(">>> Create PartnerRole channel : " + qName + " - " + portType.getQName() + " - "+ endpoint.serviceName); - - return new TuscanyPRC(); - } - - // TODO This should hold something that makes sense for Tuscany so that the - // process has an address that makes sense from the outside world perspective - private class TuscanyEPR implements EndpointReference { - private final Endpoint endpoint; - private final Document doc = DOMUtils.newDocument(); - - public TuscanyEPR() { - this.endpoint = null; - } - - public TuscanyEPR(Endpoint endpoint) { - this.endpoint = endpoint; - - Element serviceref = doc.createElementNS(EndpointReference.SERVICE_REF_QNAME.getNamespaceURI(), - EndpointReference.SERVICE_REF_QNAME.getLocalPart()); - serviceref.setNodeValue(endpoint.serviceName + ":" + endpoint.portName); - doc.appendChild(serviceref); - } - - public Document toXML() { - return doc; - } - } - - private class TuscanyPRC implements PartnerRoleChannel { - private TuscanyEPR tuscanyEPR; - - public TuscanyPRC() { - this.tuscanyEPR = null; - } - - public TuscanyPRC(TuscanyEPR tuscanyEPR){ - this.tuscanyEPR = tuscanyEPR; - } - - public void close() { - - } - - public EndpointReference getInitialEndpointReference() { - final Document doc = DOMUtils.newDocument(); - Element serviceref = doc.createElementNS(EndpointReference.SERVICE_REF_QNAME.getNamespaceURI(), - EndpointReference.SERVICE_REF_QNAME.getLocalPart()); - doc.appendChild(serviceref); - - return new EndpointReference() { - public Document toXML() { - return doc; - } - }; - } - - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java deleted file mode 100644 index 2677f38c88..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java +++ /dev/null @@ -1,43 +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.bpel.ode; - -import java.io.File; - -/** - * Deployment information - * - * @version $Rev$ $Date$ - */ -public class ODEDeployment { - /** The directory containing the deploy.xml and artefacts. */ - public File deployDir; - - /** If non-null the type of exception we expect to get when we deploy. */ - public Class expectedException = null; - - public ODEDeployment(File deployDir) { - this.deployDir = deployDir; - } - - public String toString() { - return "Deployment#" + deployDir; - } -}
\ No newline at end of file diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java deleted file mode 100644 index b03f69d9aa..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java +++ /dev/null @@ -1,41 +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.bpel.ode; - -/** - * Thrown when ODE failed to shutdown. - * - * @version $Rev$ $Date$ - */ -public class ODEDeploymentException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEDeploymentException(Throwable cause) { - super(cause); - } - - public ODEDeploymentException(String message) { - super(message); - } - - public ODEDeploymentException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java deleted file mode 100644 index 2fa91e4e86..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java +++ /dev/null @@ -1,41 +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.bpel.ode; - -/** - * Thrown when ODE failed to initialize one if its needed resources. - * - * @version $Rev$ $Date$ - */ -public class ODEInitializationException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEInitializationException(Throwable cause) { - super(cause); - } - - public ODEInitializationException(String message) { - super(message); - } - - public ODEInitializationException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java deleted file mode 100644 index d8f54e479a..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java +++ /dev/null @@ -1,63 +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.bpel.ode; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.BpelEngineException; -import org.apache.ode.bpel.iapi.ContextException; -import org.apache.ode.bpel.iapi.MessageExchangeContext; -import org.apache.ode.bpel.iapi.MyRoleMessageExchange; -import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.implementation.bpel.impl.ThreadRuntimeComponentContext; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Message Exchange Context information - * - * @version $Rev: 573789 $ $Date: 2007-09-07 23:59:49 -0700 (Fri, 07 Sep 2007) $ - */ -public class ODEMessageExchangeContext implements MessageExchangeContext { - private static final Log __log = LogFactory.getLog(ODEMessageExchangeContext.class); - - private EmbeddedODEServer _server; - - public ODEMessageExchangeContext(EmbeddedODEServer _server) { - this._server = _server; - } - - public void invokePartner(PartnerRoleMessageExchange partnerRoleMessageExchange) throws ContextException { - if (__log.isDebugEnabled()) - __log.debug("Invoking a partner operation: " + partnerRoleMessageExchange.getOperationName()); - - System.out.println(">>> Invoking a partner operation: " + partnerRoleMessageExchange.getOperationName()); - - RuntimeComponent tuscanyRuntimeComponent = ThreadRuntimeComponentContext.getRuntimeComponent(); - for(ComponentReference componentReference : tuscanyRuntimeComponent.getReferences()) { - System.out.println("Reference : " + componentReference.getName()); - componentReference.getBindings().get(0); - } - } - - public void onAsyncReply(MyRoleMessageExchange myRoleMessageExchange) throws BpelEngineException { - if (__log.isDebugEnabled()) - __log.debug("Processing an async reply from service " + myRoleMessageExchange.getServiceName()); - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java deleted file mode 100644 index a928379ba9..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java +++ /dev/null @@ -1,41 +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.bpel.ode; - -/** - * Thrown when ODE failed to shutdown. - * - * @version $Rev$ $Date$ - */ -public class ODEShutdownException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEShutdownException(Throwable cause) { - super(cause); - } - - public ODEShutdownException(String message) { - super(message); - } - - public ODEShutdownException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java deleted file mode 100644 index 654b33ba2e..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java +++ /dev/null @@ -1,123 +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.bpel.provider; - -import java.io.File; -import java.net.URL; - -import javax.transaction.TransactionManager; - -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.implementation.bpel.ode.ODEDeployment; -import org.apache.tuscany.sca.implementation.bpel.ode.ODEInitializationException; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * The model representing a sample CRUD implementation in an SCA assembly model. - * The sample CRUD implementation is not a full blown implementation, it only - * supports a subset of what a component implementation can support: - a single - * fixed service (as opposed to a list of services typed by different - * interfaces) - a directory attribute used to specify where a CRUD component is - * going to persist resources - no references or properties - no policy intents - * or policy sets - */ -public class BPELImplementationProvider implements ImplementationProvider { - - private RuntimeComponent component; - - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - private BPELImplementation implementation; - - /** - * Constructs a new BPEL Implementation. - */ - public BPELImplementationProvider(RuntimeComponent component, - BPELImplementation implementation, - EmbeddedODEServer odeServer, - TransactionManager txMgr) { - this.component = component; - this.implementation = implementation; - this.odeServer = odeServer; - this.txMgr = txMgr; - } - - public Invoker createInvoker(RuntimeComponentService service, Operation operation) { - BPELInvoker invoker = new BPELInvoker(component, service, operation, odeServer, txMgr); - return invoker; - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - System.out.println("Starting " + component.getName()); - - try { - if (!odeServer.isInitialized()) { - // start ode server - odeServer.init(); - } - - URL deployURL = this.implementation.getProcessDefinition().getLocation(); - - File deploymentDir = new File(deployURL.toURI().getPath()).getParentFile(); - System.out.println(">>> Deploying : " + deploymentDir.toString()); - - // deploy the process - if (odeServer.isInitialized()) { - try { - txMgr.begin(); - odeServer.deploy(new ODEDeployment(deploymentDir)); - txMgr.commit(); - } catch (Exception e) { - e.printStackTrace(); - txMgr.rollback(); - } - } - - } catch (ODEInitializationException inite) { - throw new RuntimeException("BPEL Component Type Implementation : Error initializing embedded ODE server " + inite.getMessage(), inite); - } catch(Exception e) { - throw new RuntimeException("BPEl Component Type Implementation initialization failure : " + e.getMessage(), e); - } - } - - public void stop() { - System.out.println("Stopping " + component.getName()); - - if (odeServer.isInitialized()) { - // start ode server - odeServer.stop(); - } - - txMgr = null; - - System.out.println("Stopped !!!"); - - } - -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java deleted file mode 100644 index 01b3cd772d..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java +++ /dev/null @@ -1,67 +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.bpel.provider; - -import javax.transaction.TransactionManager; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.implementation.bpel.ode.GeronimoTxFactory; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.osoa.sca.annotations.Destroy; - -/** - * BPEL Implementation provider factory - * - * We use the provider factory to instantiate a ODE server that is going to be injected in all BPEL components - */ -public class BPELImplementationProviderFactory implements ImplementationProviderFactory<BPELImplementation> { - - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - /** - * Default constructor receiving an extension point - * @param extensionPoints - */ - public BPELImplementationProviderFactory(ExtensionPointRegistry extensionPoints) { - GeronimoTxFactory txFactory = new GeronimoTxFactory(); - txMgr = txFactory.getTransactionManager(); - this.odeServer = new EmbeddedODEServer(txMgr); - } - - /** - * Creates a new BPEL Implementation and inject the EmbeddedODEServer - */ - public ImplementationProvider createImplementationProvider(RuntimeComponent component, BPELImplementation implementation) { - return new BPELImplementationProvider(component, implementation, odeServer, txMgr); - } - - public Class<BPELImplementation> getModelType() { - return BPELImplementation.class; - } - - @Destroy - public void destroy() { - txMgr = null; - } -} diff --git a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java b/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java deleted file mode 100644 index b4189da2ca..0000000000 --- a/branches/sca-java-1.2.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java +++ /dev/null @@ -1,226 +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.bpel.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.concurrent.Future; - -import javax.transaction.SystemException; -import javax.transaction.TransactionManager; -import javax.wsdl.Part; -import javax.wsdl.Service; -import javax.xml.namespace.QName; - -import org.apache.ode.bpel.iapi.MyRoleMessageExchange; -import org.apache.ode.bpel.iapi.MessageExchange.Status; -import org.apache.ode.utils.DOMUtils; -import org.apache.ode.utils.GUID; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.implementation.bpel.impl.ThreadRuntimeComponentContext; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Implements a target invoker for BPEL component implementations. - * - * The target invoker is responsible for dispatching invocations to the particular - * component implementation logic. In this example we are simply delegating the - * CRUD operation invocations to the corresponding methods on our fake - * resource manager. - */ -public class BPELInvoker implements Invoker { - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - private RuntimeComponent component; - private RuntimeComponentService service; - private Operation operation; - private QName bpelServiceName; - private String bpelOperationName; - private Part bpelOperationInputPart; - private Part bpelOperationOutputPart; - - public BPELInvoker(RuntimeComponent component, RuntimeComponentService service, Operation operation, EmbeddedODEServer odeServer, TransactionManager txMgr) { - this.component = component; - this.service = service; - this.operation = operation; - this.bpelOperationName = operation.getName(); - this.odeServer = odeServer; - this.txMgr = txMgr; - - initializeInvocation(); - } - - - private void initializeInvocation() { - - Interface interfaze = operation.getInterface(); - if(interfaze instanceof WSDLInterface){ - WSDLInterface wsdlInterface = null; - wsdlInterface = (WSDLInterface) interfaze; - - Service serviceDefinition = (Service) wsdlInterface.getWsdlDefinition().getDefinition().getAllServices().values().iterator().next(); - bpelServiceName = serviceDefinition.getQName(); - - bpelOperationInputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getInput().getMessage().getParts().values().iterator().next(); - bpelOperationOutputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getOutput().getMessage().getParts().values().iterator().next(); - } - } - - public Message invoke(Message msg) { - try { - Object[] args = msg.getBody(); - Object resp = doTheWork(args); - msg.setBody(resp); - } catch (InvocationTargetException e) { - msg.setFaultBody(e.getCause()); - } - return msg; - } - - public Object doTheWork(Object[] args) throws InvocationTargetException { - Element response = null; - - if(! (operation.getInterface() instanceof WSDLInterface)) { - throw new InvocationTargetException(null,"Unsupported service contract"); - } - - System.out.println(">>> Set ThreadLocal with runtime component !"); - - ThreadRuntimeComponentContext.setRuntimeComponent(component); - - org.apache.ode.bpel.iapi.MyRoleMessageExchange mex = null; - Future onhold = null; - - //Process the BPEL process invocation - try { - txMgr.begin(); - mex = odeServer.getBpelServer().getEngine().createMessageExchange(new GUID().toString(), - bpelServiceName, - bpelOperationName); - onhold = mex.invoke(createInvocationMessage(mex, args)); - - txMgr.commit(); - } catch (Exception e) { - try { - txMgr.rollback(); - } catch (SystemException se) { - - } - throw new InvocationTargetException(e, "Error invoking BPEL process : " + e.getMessage()); - } - - - // Waiting until the reply is ready in case the engine needs to continue in a different thread - if (onhold != null) { - try { - onhold.get(); - } catch (Exception e) { - throw new InvocationTargetException(e,"Error invoking BPEL process : " + e.getMessage()); - } - } - - //Process the BPEL invocation response - try { - txMgr.begin(); - // Reloading the mex in the current transaction, otherwise we can't - // be sure we have the "freshest" one. - mex = (MyRoleMessageExchange)odeServer.getBpelServer().getEngine().getMessageExchange(mex.getMessageExchangeId()); - - Status status = mex.getStatus(); - System.out.println("Status: " + status.name()); - Element invocationResponse = mex.getResponse().getMessage(); - System.out.println("Response: " + DOMUtils.domToString(invocationResponse)); - - //process the method invocation result - response = processResponse(invocationResponse); - - txMgr.commit(); - // end of transaction two - } catch (Exception e) { - try { - txMgr.rollback(); - } catch (SystemException se) { - - } - throw new InvocationTargetException(e, "Error retrieving BPEL process invocation status : " + e - .getMessage()); - } - - - return response; - } - - /** - * Create BPEL Invocation message - * - * BPEL invocation message like : - * <message> - * <TestPart> - * <hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl">Hello</hello> - * </TestPart> - * </message> - * @param args - * @return - */ - private org.apache.ode.bpel.iapi.Message createInvocationMessage(org.apache.ode.bpel.iapi.MyRoleMessageExchange mex, Object[] args) { - Document dom = DOMUtils.newDocument(); - - Element contentMessage = dom.createElement("message"); - Element contentPart = dom.createElement(bpelOperationInputPart.getName()); - Element contentInvocation = (Element) args[0]; - - contentPart.appendChild(dom.importNode(contentInvocation, true)); - contentMessage.appendChild(contentPart); - dom.appendChild(contentMessage); - - System.out.println("::arg:::::: " + DOMUtils.domToString((Element) args[0])); - System.out.println("::message:: " + DOMUtils.domToString(dom.getDocumentElement())); - - org.apache.ode.bpel.iapi.Message request = mex.createMessage(new QName("", "")); - request.setMessage(dom.getDocumentElement()); - - return request; - } - - /** - * Process BPEL response - * - * <message> - * <TestPart> - * <hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl">World</hello> - * </TestPart> - * </message> - * - * @param response - * @return - */ - private Element processResponse(Element response) { - return (Element) DOMUtils.findChildByName(response, new QName("",bpelOperationOutputPart.getName())); - } -} |