Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddPartCommand.java')
-rw-r--r--bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddPartCommand.java210
1 files changed, 0 insertions, 210 deletions
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddPartCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddPartCommand.java
deleted file mode 100644
index 2ed9d68c2..000000000
--- a/bundles/org.eclipse.wst.wsdl.ui/src/org/eclipse/wst/wsdl/ui/internal/commands/AddPartCommand.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse 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.ui.internal.commands;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsdl.Definition;
-import org.eclipse.wst.wsdl.Message;
-import org.eclipse.wst.wsdl.Part;
-import org.eclipse.wst.wsdl.WSDLElement;
-import org.eclipse.wst.wsdl.WSDLFactory;
-import org.eclipse.wst.wsdl.XSDSchemaExtensibilityElement;
-import org.eclipse.wst.wsdl.internal.impl.PartImpl;
-import org.eclipse.wst.wsdl.internal.impl.WSDLElementImpl;
-import org.eclipse.wst.wsdl.util.WSDLConstants;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDSchema;
-
-
-public final class AddPartCommand extends WSDLElementCommand
-{
- private Message message;
- private String name;
- private Part part;
- private Part originalPart;
-
- private QName typeOrElementName;
- private boolean useType = true;
-
- public AddPartCommand
- (Message message,
- String name)
- {
- this.message = message;
- this.name = name;
- }
-
- public AddPartCommand
- (Message message,
- String name,
- String namespace,
- String localName,
- boolean useType)
- {
- this.message = message;
- this.name = name;
- this.useType = useType;
- typeOrElementName = new QName(namespace,localName);
- }
-
- /*
- * Constructor used to create a Part based on the given Part. In essence, this will
- * create a copy of the given Part.
- */
- public AddPartCommand
- (Message message,
- Part originalPart,
- String name)
- {
- this.message = message;
- this.name = name;
- this.originalPart = originalPart;
- }
-
- /**
- * @deprecated
- */
- public AddPartCommand
- (Message message,
- String name,
- String namespace,
- String localName)
- {
- this.message = message;
- this.name = name;
- typeOrElementName = new QName(namespace,localName);
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-
- public WSDLElement getWSDLElement()
- {
- return part;
- }
-
- public void run()
- {
- if (typeOrElementName == null)
- typeOrElementName = createDefaultTypeName();
-
- // Add namespace to the Definitions if it is not there yet.
- addNamespaceDeclaration();
-
- part = WSDLFactory.eINSTANCE.createPart();
- part.setName(name);
-
- if (originalPart == null) {
- if (useType)
- part.setTypeName(typeOrElementName);
- else
- part.setElementName(typeOrElementName);
- }
- else {
- if (originalPart.getTypeName() != null)
- part.setTypeName(originalPart.getTypeName());
-
- String newElementName = null;
- if (originalPart.getElementName() != null) {
-
- boolean createNewElement = true;
- if (originalPart.getElementDeclaration() != null && originalPart.getElementDeclaration().getElement() != null) {
- if (!(originalPart.getElementDeclaration().getElement() instanceof IDOMNode)) {
- createNewElement = false;
- }
- }
-
- if (createNewElement) {
- newElementName = getNewNameHelper(name, originalPart.getEnclosingDefinition(), false);
- part.setElementName(new QName(originalPart.getElementName().getNamespaceURI(), newElementName));
-
- if (originalPart.getEnclosingDefinition() != null) {
- if (newElementName == null) {
- newElementName = getNewNameHelper(name, originalPart.getEnclosingDefinition(), false);
- }
-
- AddXSDElementDeclarationCommand elementAction = new AddXSDElementDeclarationCommand(originalPart.getEnclosingDefinition(), newElementName);
- elementAction.run();
- }
- }
- else {
- part.setElementName(new QName(originalPart.getElementName().getNamespaceURI(), originalPart.getElementName().getLocalPart()));
- }
- }
- }
-
- part.setEnclosingDefinition(message.getEnclosingDefinition());
- ((PartImpl)part).reconcileReferences(false);
- message.addPart(part);
- }
-
- private void addNamespaceDeclaration()
- {
- Definition definition = message.getEnclosingDefinition();
- if (!definition.getNamespaces().containsValue(typeOrElementName.getNamespaceURI()))
- {
- definition.addNamespace("p",typeOrElementName.getNamespaceURI());
- ((WSDLElementImpl)definition).updateElement(false);
- }
- }
-
- private QName createDefaultTypeName()
- {
- QName qname = new QName(WSDLConstants.SCHEMA_FOR_SCHEMA_URI_2001,"string");
- return qname;
- }
-
- private String getNewNameHelper(String base, Definition def, boolean isType)
- {
- String name = base;
- int count = 0;
-
- // Ugly.... Redo this...
- // Get a list of Elements...
- List elementList = null;
- if (def.getETypes() != null) {
- List xsdsList = def.getETypes().getEExtensibilityElements();
- if (xsdsList != null) {
- Iterator xsdsIterator = xsdsList.iterator();
- XSDSchemaExtensibilityElement xsdElement = (XSDSchemaExtensibilityElement) xsdsIterator.next();
- XSDSchema schema = xsdElement.getSchema();
- if (schema != null) {
- elementList = schema.getElementDeclarations();
- }
- }
- }
-
- if (elementList != null) {
- int index = 0;
- while (index < elementList.size()) {
- XSDElementDeclaration elementDeclaration = (XSDElementDeclaration) elementList.get(index);
-
- if (name.equals(elementDeclaration.getName())) {
- count++;
- name = name + count;
- index = 0;
- }
- else {
- index++;
- }
- }
- }
-
- return name;
- }
-}

Back to the top