| /******************************************************************************* |
| * Copyright (c) 2001, 2006 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.adapters.commands; |
| |
| import javax.xml.namespace.QName; |
| |
| import org.eclipse.gef.commands.Command; |
| import org.eclipse.wst.wsdl.Binding; |
| import org.eclipse.wst.wsdl.Definition; |
| import org.eclipse.wst.wsdl.Operation; |
| import org.eclipse.wst.wsdl.Part; |
| import org.eclipse.wst.wsdl.Port; |
| import org.eclipse.wst.wsdl.PortType; |
| import org.eclipse.wst.wsdl.Service; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.WSDLBaseAdapter; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Binding; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Description; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11EndPoint; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Interface; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11MessageReference; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Operation; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11ParameterForPart; |
| import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Service; |
| |
| public class W11RenameCommand extends Command { |
| protected WSDLBaseAdapter object; |
| protected String newName = ""; |
| |
| public W11RenameCommand(WSDLBaseAdapter object, String newName) { |
| this.object = object; |
| this.newName = newName; |
| } |
| |
| public void execute() { |
| if (object instanceof W11Description) { |
| Definition definition = (Definition) object.getTarget(); |
| String ns = definition.getQName().getNamespaceURI(); |
| definition.setQName(new QName(ns, newName)); |
| } |
| else if (object instanceof W11Service) { |
| Service service = (Service) object.getTarget(); |
| String ns = service.getQName().getNamespaceURI(); |
| service.setQName(new QName(ns, newName)); |
| } |
| else if (object instanceof W11EndPoint) { |
| Port port = (Port) object.getTarget(); |
| port.setName(newName); |
| } |
| else if (object instanceof W11Binding) { |
| Binding binding = (Binding) object.getTarget(); |
| String ns = binding.getQName().getNamespaceURI(); |
| binding.setQName(new QName(ns, newName)); |
| } |
| else if (object instanceof W11Interface) { |
| PortType portType = (PortType) object.getTarget(); |
| String ns = portType.getQName().getNamespaceURI(); |
| portType.setQName(new QName(ns, newName)); |
| } |
| else if (object instanceof W11Operation) { |
| Operation operation = (Operation) object.getTarget(); |
| operation.setName(newName); |
| } |
| else if (object instanceof W11MessageReference) { |
| W11Operation w11Operation = (W11Operation) ((W11MessageReference) object).getOwnerOperation(); |
| Operation operation = w11Operation.getOperation(); |
| operation.setName(newName); |
| } |
| // else if (object instanceof W11ParameterForElement) { |
| // W11ParameterForElement paramForElement = (W11ParameterForElement) object; |
| // XSDElementDeclaration xsdElement = (XSDElementDeclaration) paramForElement.getTarget(); |
| // xsdElement.setName(newName); |
| // } |
| else if (object instanceof W11ParameterForPart) { |
| Part part = (Part) ((W11ParameterForPart) object).getTarget(); |
| part.setName(newName); |
| } |
| } |
| } |