blob: 98eae1ad862c4d035e5bab54ef0be9aad3dba052 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 by SAP AG, Walldorf.
* 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:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.ws.jaxws.dom.runtime.tests.dom.persistence.sync;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingParameterStyle;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingStyle;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingUse;
import org.eclipse.jst.ws.jaxws.testutils.jobs.JobUtils;
import org.eclipse.jst.ws.jaxws.utils.JaxWsUtils;
public class SeiSyncronizationTest extends SynchronizationTestFixture
{
public void test_changedSeiNameSynched() throws Exception
{
target.startSynchronizing();
final ICompilationUnit sei1CU = testPrj1.getJavaProject().findType(sei1.getImplementation()).getCompilationUnit();
testUtil.setContents(sei1CU, "@javax.jws.WebService() public interface Sei1 {}");
JobUtils.waitForJobs();
assertEquals("Sei1", sei1.getName()); // check default value
testUtil.setContents(sei1CU, "@javax.jws.WebService(name=\"Sei1NewName\") public interface Sei1 {}");
JobUtils.waitForJobs();
assertEquals("Sei1NewName", sei1.getName());
assertTrue(sei1.getImplementingWebServices().contains(ws1));
assertSame(sei1, domUtil.findSeiByImplName(wsPrj1, sei1.getImplementation()));
}
public void test_changedSeiTargetNamespaceSynched() throws Exception
{
target.startSynchronizing();
assertEquals(JaxWsUtils.composeJaxWsTargetNamespaceByPackage(prj1PckName), sei1.getTargetNamespace()); // check default value
final ICompilationUnit sei1CU = testPrj1.getJavaProject().findType(sei1.getImplementation()).getCompilationUnit();
testUtil.setContents(sei1CU, "@javax.jws.WebService(name=\"Sei1NewName\", targetNamespace=\"http://com.sap/test\") public interface Sei1 {}");
JobUtils.waitForJobs();
assertEquals("Sei1NewName", sei1.getName());
assertTrue(sei1.getImplementingWebServices().contains(ws1));
assertSame(sei1, domUtil.findSeiByImplName(wsPrj1, sei1.getImplementation()));
assertEquals("SEI targetNamespace not synched", "http://com.sap/test", sei1.getTargetNamespace());
}
public void test_SoapBindingStyleChanged() throws Exception
{
target.startSynchronizing();
assertEquals(SOAPBindingStyle.DOCUMENT, sei1.getSoapBindingStyle());
assertEquals(SOAPBindingUse.LITERAL, sei1.getSoapBindingUse());
assertEquals(SOAPBindingParameterStyle.WRAPPED, sei1.getSoapBindingParameterStyle());
final ICompilationUnit sei1CU = testPrj1.getJavaProject().findType(sei1.getImplementation()).getCompilationUnit();
testUtil.setContents(sei1CU, "@javax.jws.soap.SOAPBinding(style=Style.RPC, use=Use.ENCODED, parameterStyle=ParameterStyle.BARE)" +
"@javax.jws.WebService() public interface Sei1 {}");
JobUtils.waitForJobs();
assertEquals(SOAPBindingStyle.RPC, sei1.getSoapBindingStyle());
assertEquals(SOAPBindingUse.ENCODED, sei1.getSoapBindingUse());
assertEquals(SOAPBindingParameterStyle.BARE, sei1.getSoapBindingParameterStyle());
}
//
// public void test_LocationInterfaceAdapted() throws Exception
// {
// final ICompilationUnit sei1CU = testPrj1.getJavaProject().findType(sei1.getImplementation()).getCompilationUnit();
// testUtil.setContents(sei1CU, "@javax.jws.soap.SOAPBinding(style=Style.RPC, use=Use.ENCODED, parameterStyle=ParameterStyle.BARE)" +
// "@javax.jws.WebService() public interface Sei1 {}");
//
// ILocatorAdapter adapter = (ILocatorAdapter)findAdapter(sei1, ILocatorAdapter.class);
// assertNotNull(adapter);
// IAnnotationLocator locator = adapter.getAnnotationLocator(WSAnnotationFeatures.WS_ANNOTATION);
// printLocator("WS", locator.getLocation());
// locator = adapter.getAnnotationLocator(SBAnnotationFeatures.SB_ANNOTATION);
// printLocator("SB", locator.getLocation());
// printLocator("use", locator.getAttributeNameLocation("use"));
// printLocator("useVal", locator.getAttributeValueLocation("use"));
// }
//
// private void printLocator(String name, ILocator locator)
// {
// System.out.println(name + "------");
// System.out.println(locator.getStartPosition());
// System.out.println(locator.getLength());
// }
}