Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java')
-rw-r--r--bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java376
1 files changed, 0 insertions, 376 deletions
diff --git a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java b/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java
deleted file mode 100644
index 023eed619..000000000
--- a/bundles/org.eclipse.wst.wsdl/src-soap/org/eclipse/wst/wsdl/binding/soap/internal/generator/SOAPContentGenerator.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsdl.binding.soap.internal.generator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.wst.wsdl.Binding;
-import org.eclipse.wst.wsdl.BindingFault;
-import org.eclipse.wst.wsdl.BindingInput;
-import org.eclipse.wst.wsdl.BindingOperation;
-import org.eclipse.wst.wsdl.BindingOutput;
-import org.eclipse.wst.wsdl.ExtensibilityElement;
-import org.eclipse.wst.wsdl.Fault;
-import org.eclipse.wst.wsdl.Input;
-import org.eclipse.wst.wsdl.Operation;
-import org.eclipse.wst.wsdl.Output;
-import org.eclipse.wst.wsdl.Port;
-import org.eclipse.wst.wsdl.PortType;
-import org.eclipse.wst.wsdl.WSDLElement;
-import org.eclipse.wst.wsdl.binding.soap.SOAPAddress;
-import org.eclipse.wst.wsdl.binding.soap.SOAPBinding;
-import org.eclipse.wst.wsdl.binding.soap.SOAPBody;
-import org.eclipse.wst.wsdl.binding.soap.SOAPFactory;
-import org.eclipse.wst.wsdl.binding.soap.SOAPFault;
-import org.eclipse.wst.wsdl.binding.soap.SOAPOperation;
-import org.eclipse.wst.wsdl.internal.generator.ContentGenerator;
-
-public class SOAPContentGenerator implements ContentGenerator
-{
- public static final int OPTION_NOT_SET = -1;
-
- public static final int STYLE_DOCUMENT = 1;
- public static final int STYLE_RPC = 2;
-
- public static final int USE_LITERAL = 1;
- public static final int USE_ENCODED = 2;
-
- private int styleOption = OPTION_NOT_SET;
- private int useOption = OPTION_NOT_SET;
-
- protected String namespaceValue = "";
- protected String addressLocation = ContentGenerator.ADDRESS_LOCATION;
-
- protected final static String[] requiredNamespaces = {"http://schemas.xmlsoap.org/wsdl/soap/"};
- protected final static String[] preferredNamespacePrefixes = {"soap"};
-
-
- public String[] getRequiredNamespaces()
- {
- return requiredNamespaces;
- }
-
- public String getPreferredNamespacePrefix(String namespace)
- {
- if (namespace.equals("http://schemas.xmlsoap.org/wsdl/soap/")) {
- return "soap";
- }
-
- return "";
- }
-
- public void setStyle(int style) {
- styleOption = style;
- }
-
- public void setUse(int use) {
- useOption = use;
- }
-
- public void setAddressLocation(String addressLocation) {
- this.addressLocation = addressLocation;
- }
-
- public void generatePortContent(Port port)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(port.getEExtensibilityElements());
- removeExtensebilityElements(port.getEExtensibilityElements(), removeList);
-
- SOAPAddress soapAddress= SOAPFactory.eINSTANCE.createSOAPAddress();
- soapAddress.setLocationURI(addressLocation);
- port.addExtensibilityElement(soapAddress);
- }
-
- public void generateBindingContent(Binding binding, PortType portType)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(binding.getEExtensibilityElements());
- removeExtensebilityElements(binding.getEExtensibilityElements(), removeList);
-
- SOAPFactory soapFactory = SOAPFactory.eINSTANCE;
- SOAPBinding soapBinding = soapFactory.createSOAPBinding();
- soapBinding.setStyle((getStyleOption(binding) == STYLE_DOCUMENT) ? "document" : "rpc");
- soapBinding.setTransportURI("http://schemas.xmlsoap.org/soap/http");
-
- binding.addExtensibilityElement(soapBinding);
- }
-
- public void generateBindingOperationContent(BindingOperation bindingOperation, Operation operation)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(bindingOperation.getEExtensibilityElements());
- removeExtensebilityElements(bindingOperation.getEExtensibilityElements(), removeList);
-
- SOAPOperation soapOperation = SOAPFactory.eINSTANCE.createSOAPOperation();
-
- String soapActionValue = getNamespace(bindingOperation);
- if (!soapActionValue.endsWith("/"))
- {
- soapActionValue += "/";
- }
- soapActionValue += operation.getName();
-
- soapOperation.setSoapActionURI(soapActionValue);
-
- bindingOperation.addExtensibilityElement(soapOperation);
- }
-
- public void generateBindingInputContent(BindingInput bindingInput, Input input)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(bindingInput.getEExtensibilityElements());
- removeExtensebilityElements(bindingInput.getEExtensibilityElements(), removeList);
-
- SOAPFactory soapFactory = SOAPFactory.eINSTANCE;
- SOAPBody soapBody = soapFactory.createSOAPBody();
- soapBody.setUse((getUseOption(null) == USE_ENCODED) ? "encoded" : "literal");
- if (getUseOption(bindingInput) == USE_ENCODED && getStyleOption(bindingInput) == STYLE_RPC)
- {
- List encodingList = new BasicEList();
- encodingList.add("http://schemas.xmlsoap.org/soap/encoding/");
- soapBody.setEncodingStyles(encodingList);
- soapBody.setNamespaceURI(getNamespace(bindingInput));
- }
- else if (getUseOption(bindingInput) == USE_LITERAL && getStyleOption(bindingInput) == STYLE_RPC) {
- soapBody.setNamespaceURI(getNamespace(bindingInput));
- }
-
- bindingInput.addExtensibilityElement(soapBody);
- }
-
- public void generateBindingOutputContent(BindingOutput bindingOutput, Output output)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(bindingOutput.getEExtensibilityElements());
- removeExtensebilityElements(bindingOutput.getEExtensibilityElements(), removeList);
-
- SOAPFactory soapFactory = SOAPFactory.eINSTANCE;
- SOAPBody soapBody = soapFactory.createSOAPBody();
- soapBody.setUse((getUseOption(bindingOutput) == USE_ENCODED) ? "encoded" : "literal");
- if (getUseOption(bindingOutput) == USE_ENCODED && getStyleOption(bindingOutput) == STYLE_RPC)
- {
- List encodingList = new BasicEList();
- encodingList.add("http://schemas.xmlsoap.org/soap/encoding/");
- soapBody.setEncodingStyles(encodingList);
- soapBody.setNamespaceURI(getNamespace(bindingOutput));
- }
- else if (getUseOption(bindingOutput) == USE_LITERAL && getStyleOption(bindingOutput) == STYLE_RPC) {
- soapBody.setNamespaceURI(getNamespace(bindingOutput));
- }
-
- bindingOutput.addExtensibilityElement(soapBody);
- }
-
- public void generateBindingFaultContent(BindingFault bindingFault, Fault fault)
- {
- // We blow away any existing ExtensibilityElements/content before we generate it
- // Is it worth being smarter? Look for matching content first and create those which aren't found????
- List removeList = new ArrayList(bindingFault.getEExtensibilityElements());
- removeExtensebilityElements(bindingFault.getEExtensibilityElements(), removeList);
-
- SOAPFactory soapFactory = SOAPFactory.eINSTANCE;
- SOAPFault soapFault = soapFactory.createSOAPFault();
- soapFault.setUse((getUseOption(bindingFault) == USE_ENCODED) ? "encoded" : "literal");
- soapFault.setName(fault.getName());
-// soapFault.setNamespaceURI(getNamespace(bindingFault));
-
- if (getUseOption(bindingFault) == USE_ENCODED && getStyleOption(bindingFault) == STYLE_RPC)
- {
- List encodingList = new BasicEList();
- encodingList.add("http://schemas.xmlsoap.org/soap/encoding/");
- soapFault.setEncodingStyles(encodingList);
- }
-
- bindingFault.addExtensibilityElement(soapFault);
- }
-
- private String getNamespace(WSDLElement wsdlElement) {
- if (namespaceValue.equals("") && wsdlElement != null) {
- namespaceValue = wsdlElement.getEnclosingDefinition().getTargetNamespace();
- }
- if (namespaceValue == null) {
- namespaceValue = "";
- }
-
- return namespaceValue;
- }
-
- private void removeExtensebilityElements(List originalList, List removeList) {
- Iterator removeIt = removeList.iterator();
- while (removeIt.hasNext()) {
- originalList.remove(removeIt.next());
- }
- }
-
- private Binding getBindingObject(Object genericBindingObject) {
- Object parent = genericBindingObject;
-
- int index = 0;
- while (parent != null && index < 5) {
- parent = getGenericBindingObjectParent(parent);
- if (parent instanceof Binding) {
- break;
- }
- index++;
- }
-
- return (parent instanceof Binding)? (Binding) parent : null;
- }
-
- private Object getGenericBindingObjectParent(Object genericBindingObject) {
- Object parent = null;
-
- if (genericBindingObject != null) {
- if (genericBindingObject instanceof BindingOperation) {
- parent = ((BindingOperation) genericBindingObject).getContainer();
- }
- else if (genericBindingObject instanceof BindingInput) {
- parent = ((BindingInput) genericBindingObject).getContainer();
- }
- else if (genericBindingObject instanceof BindingOutput) {
- parent = ((BindingOutput) genericBindingObject).getContainer();
- }
- else if (genericBindingObject instanceof BindingFault) {
- parent = ((BindingFault) genericBindingObject).getContainer();
- }
- }
-
- return parent;
- }
-
- private int getStyleOption(Object genericBindingObject) {
- if (styleOption == OPTION_NOT_SET && genericBindingObject != null) {
- // init() was never called, try to determine the 'style' based on what we have/know
- Binding binding = getBindingObject(genericBindingObject);
-
- // Try to determine the style from the Binding Object
- if (binding != null) {
- List list = binding.getEExtensibilityElements();
- Iterator valuesIt = getExtensibilityElementAttributeValue(list, "style").iterator();
-
- while (valuesIt.hasNext()) {
- String style = (String) valuesIt.next();
-
- if (style.equals("document")) {
- styleOption = STYLE_DOCUMENT;
- }
- else if (style.equals("rpc")) {
- styleOption = STYLE_RPC;
- }
-
- if (styleOption != OPTION_NOT_SET) {
- break;
- }
- }
- }
- }
-
- if (styleOption == OPTION_NOT_SET) {
- styleOption = STYLE_DOCUMENT;
- }
-
- return styleOption;
- }
-
- private int getUseOption(Object genericBindingObject) {
- if (useOption == OPTION_NOT_SET) {
- // init() was never called, try to determine the 'use' based on what we have/know
- Iterator messageRefIt = getMessageReferenceBindingObjects(genericBindingObject).iterator();
-
- // Try to determine the use from the list of BindingInputs, BindingOutputs, and BindingFaults
- while (messageRefIt.hasNext()) {
- Object messageRef = messageRefIt.next();
- List values = new ArrayList();
-
- if (messageRef instanceof BindingInput) {
- List list = ((BindingInput) messageRef).getEExtensibilityElements();
- values = getExtensibilityElementAttributeValue(list, "use");
- }
- else if (messageRef instanceof BindingOutput) {
- List list = ((BindingOutput) messageRef).getEExtensibilityElements();
- values = getExtensibilityElementAttributeValue(list, "use");
- }
- else if (messageRef instanceof BindingFault) {
- List list = ((BindingFault) messageRef).getEExtensibilityElements();
- values = getExtensibilityElementAttributeValue(list, "use");
- }
-
- Iterator valuesIt = values.iterator();
- while (valuesIt.hasNext()) {
- String use = (String) valuesIt.next();
-
- if (use.equals("literal")) {
- useOption = USE_LITERAL;
- }
- else if (use.equals("encoded")) {
- useOption = USE_ENCODED;
- }
- }
-
- if (useOption != OPTION_NOT_SET) {
- break;
- }
- }
- }
-
- if (useOption == OPTION_NOT_SET) {
- useOption = USE_LITERAL;
- }
-
- return useOption;
- }
-
- private List getMessageReferenceBindingObjects(Object genericBindingObject) {
- List list = new ArrayList();
- Binding binding = getBindingObject(genericBindingObject);
-
- if (binding != null) {
- Iterator operationsIt = binding.getEBindingOperations().iterator();
-
- while (operationsIt.hasNext()) {
- BindingOperation op = (BindingOperation) operationsIt.next();
- list.add(op.getEBindingInput());
- list.add(op.getEBindingOutput());
- list.addAll(op.getEBindingFaults());
- }
- }
-
- return list;
- }
-
- private List getExtensibilityElementAttributeValue(List eeList, String attributeKey) {
- List values = new ArrayList();
- Iterator eeElementsIt = eeList.iterator();
-
- while (eeElementsIt.hasNext()) {
- ExtensibilityElement eeElement = (ExtensibilityElement) eeElementsIt.next();
- String attributeValue = eeElement.getElement().getAttribute(attributeKey);
- if (attributeValue != null && !attributeValue.equals("")) {
- values.add(attributeValue);
- }
- }
-
- return values;
- }
-
- public String getProtocol() {
- return "SOAP";
- }
-} \ No newline at end of file

Back to the top