/******************************************************************************* * Copyright (c) 2010 SAP AG. * 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: * Emil Simeonov - initial API and implementation. * Dimitar Donchev - initial API and implementation. * Dimitar Tenev - initial API and implementation. * Nevena Manova - initial API and implementation. * Georgi Konstantinov - initial API and implementation. *******************************************************************************/ package org.eclipse.wst.sse.sieditor.test.model.commands.wsdl; import org.eclipse.core.runtime.IStatus; import org.eclipse.wst.sse.sieditor.test.model.commands.AbstractCommandTest; import org.eclipse.wst.sse.sieditor.command.common.AbstractNotificationOperation; import org.eclipse.wst.sse.sieditor.command.emf.wsdl.SetParameterTypeCommand; import org.eclipse.wst.sse.sieditor.model.api.IWsdlModelRoot; import org.eclipse.wst.sse.sieditor.model.wsdl.api.IDescription; import org.eclipse.wst.sse.sieditor.model.wsdl.api.IOperation; import org.eclipse.wst.sse.sieditor.model.wsdl.impl.OperationParameter; import org.eclipse.wst.sse.sieditor.model.xsd.api.IType; import org.eclipse.wst.sse.sieditor.model.xsd.impl.AbstractType; public class SetWrappedParameterTypeCommandTest extends AbstractCommandTest { private static final String SCHEMA_NAMESPACE = "http://sap.com/xi/Purchasing"; private static final String NEW_PARAMETER_TYPE_NAME = "Address"; private AbstractType originalType; @Override protected void assertPostRedoState(final IStatus redoStatus, final IWsdlModelRoot modelRoot) { final IDescription description = modelRoot.getDescription(); final IOperation operation; operation = description.getAllInterfaces().iterator().next().getAllOperations().iterator().next(); final OperationParameter parameter = (OperationParameter) operation.getAllInputParameters().iterator().next(); final IType newType = parameter.getType(); assertNotNull(newType); assertNotSame(originalType, newType); } @Override protected void assertPostUndoState(final IStatus undoStatus, final IWsdlModelRoot modelRoot) { final IDescription description = modelRoot.getDescription(); final IOperation operation; operation = description.getAllInterfaces().iterator().next().getAllOperations().iterator().next(); final OperationParameter parameter = (OperationParameter) operation.getAllInputParameters().iterator().next(); final IType type = parameter.getType(); assertNotNull(type); assertEquals(originalType, type); } @Override protected AbstractNotificationOperation getOperation(final IWsdlModelRoot modelRoot) throws Exception { final IDescription description = modelRoot.getDescription(); final IType newType = description.getSchema(SCHEMA_NAMESPACE)[0].getType(false, NEW_PARAMETER_TYPE_NAME); final IOperation operation; operation = description.getAllInterfaces().iterator().next().getAllOperations().iterator().next(); final OperationParameter parameter = (OperationParameter) operation.getAllInputParameters().iterator().next(); originalType = (AbstractType) parameter.getType(); return new SetParameterTypeCommand(parameter, newType); } }