From 0466c15606e9100b3196777609d56083df116d51 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 7 Dec 2012 16:40:06 +0000 Subject: [PATCH 001/133] Prevent the echo-sample tests from creating a server-config.wsdd file in the source tree without changing the working directory. --- .../tools/maven/wsdd/GenerateWSDDMojo.java | 23 +++++++++++-------- samples/echo-sample/pom.xml | 23 +++++++++++++++++-- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java b/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java index f05434d82..f2fba7d46 100644 --- a/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java +++ b/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java @@ -71,10 +71,11 @@ public class GenerateWSDDMojo extends AbstractMojo { private String type; /** - * + * A set of WSDD files (typically generated by maven-wsdl2java-plugin) to be merged into the + * output WSDD. If this parameter is not set, then the plug-in will just generate a default + * configuration file. * * @parameter - * @required */ private File[] files; @@ -148,14 +149,16 @@ public void execute() throws MojoExecutionException, MojoFailureException { } } - // Load WSDD files from plug-in configuration - for (int i=0; i + + ${project.groupId} + maven-wsdd-plugin + ${project.version} + + + + generate-test-sources + + generate-wsdd + + + server + ${project.build.directory}/server-config.wsdd + + + + maven-surefire-plugin default-test - - ${project.build.directory}/work + + ${project.build.directory}/server-config.wsdd + From 9e16c3376ccf88df9dafa30b68e2ca7405355756 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 7 Dec 2012 17:02:31 +0000 Subject: [PATCH 002/133] Simplified unit tests. Surefire/failsafe correctly sets the current working directory by default, so that we don't need to check the basedir system property. Ensure that we use the default everywhere. --- .../ant/wsdl/CustomGeneratorFactoryTest.java | 2 +- .../test/wsdl/clash/VerifyFilesTestCase.java | 3 +-- .../test/wsdl/extra/ExtraClassesTestCase.java | 3 +-- .../test/wsdl/filegen/AllOptionTestCase.java | 3 +-- .../test/wsdl/filegen/FileGenTestCase.java | 3 +-- .../java/test/wsdl/groups/GroupsTestCase.java | 3 +-- .../test/wsdl/header/VerifyFilesTestCase.java | 3 +-- .../SalesRankNPrice_ServiceTestCase.java | 3 +-- .../multibinding/VerifyFilesTestCase.java | 3 +-- .../schemaImport/SchemaImportTestCase.java | 3 +-- .../java/test/wsdl/split/SplitTestCase.java | 3 +-- .../test/java/test/utils/TestMessages.java | 3 +-- .../test/java/test/utils/TestSrcContent.java | 3 +-- .../test/java/test/utils/TestXMLUtils.java | 2 +- .../java/test/functional/TestAutoTypes.java | 4 ++-- .../wsdl/query/FileGenWrappedTestCase.java | 3 +-- .../test/wsdl/types/DynamicProxyTestCase.java | 4 +++- .../functional/TestAttachmentsSample.java | 10 ++++----- .../java/test/functional/TestEchoSample.java | 2 +- .../example1/VerifyFilesTest.java | 2 +- .../example2/VerifyFilesTest.java | 2 +- samples/transport-sample/pom.xml | 21 +++++++++++++++++-- .../functional/TestTCPTransportSample.java | 2 +- .../test/functional/TestTransportSample.java | 2 +- 24 files changed, 49 insertions(+), 43 deletions(-) diff --git a/axis-ant/src/test/java/org/apache/axis/tools/ant/wsdl/CustomGeneratorFactoryTest.java b/axis-ant/src/test/java/org/apache/axis/tools/ant/wsdl/CustomGeneratorFactoryTest.java index d76c49616..e73afa950 100644 --- a/axis-ant/src/test/java/org/apache/axis/tools/ant/wsdl/CustomGeneratorFactoryTest.java +++ b/axis-ant/src/test/java/org/apache/axis/tools/ant/wsdl/CustomGeneratorFactoryTest.java @@ -26,7 +26,7 @@ public class CustomGeneratorFactoryTest extends TestCase { public void test() throws Exception { - File file = new File(System.getProperty("basedir", "."), "target/work/com/example/stockquote_wsdl/StockQuoteServiceLocator.java"); + File file = new File("target/work/com/example/stockquote_wsdl/StockQuoteServiceLocator.java"); assertTrue(FileUtils.readFileToString(file).contains("My header comment")); } } \ No newline at end of file diff --git a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java index 29983c463..5b5e8f790 100644 --- a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java @@ -66,8 +66,7 @@ protected Set mayExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "clash"; } // rootDir diff --git a/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java b/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java index 8216feb74..d4afa27a3 100644 --- a/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java @@ -59,8 +59,7 @@ protected Set mayExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "extra"; } // rootDir diff --git a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java index 50ba645c0..c58244c42 100644 --- a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java @@ -48,8 +48,7 @@ protected Set shouldExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "filegenAll"; } // rootDir diff --git a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java index 6dae4483d..ec18f6fa4 100644 --- a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java @@ -62,8 +62,7 @@ protected Set mayExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "filegen"; } diff --git a/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java b/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java index 3bee29918..adfcb75a0 100644 --- a/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java @@ -56,8 +56,7 @@ protected Set shouldNotExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "groups"; } diff --git a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java index 4d3edb471..e4a1db31d 100644 --- a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java @@ -58,8 +58,7 @@ protected Set shouldExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "header"; } // rootDir diff --git a/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java b/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java index 33eec8267..64bbdb9e5 100644 --- a/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java @@ -54,8 +54,7 @@ public class SalesRankNPrice_ServiceTestCase extends junit.framework.TestCase { }; public void testFileGen() throws IOException { - String rootDir = System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + String rootDir = "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "literal"; // open up the output directory and check what files exist. File outputDir = new File(rootDir); diff --git a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java index 9521f6a49..ad40882b3 100644 --- a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java @@ -58,8 +58,7 @@ protected Set shouldExist() { * The directory containing the files that should exist. */ protected String rootDir() { - return System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + return "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "multibinding"; } // rootDir diff --git a/axis-ant/src/test/java/test/wsdl/schemaImport/SchemaImportTestCase.java b/axis-ant/src/test/java/test/wsdl/schemaImport/SchemaImportTestCase.java index 689bc1889..cb82eec65 100644 --- a/axis-ant/src/test/java/test/wsdl/schemaImport/SchemaImportTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/schemaImport/SchemaImportTestCase.java @@ -42,8 +42,7 @@ public SchemaImportTestCase(String name) { } public void testSchemaImport() { - String path = System.getProperty("basedir", ".") + File.separator + - "target" + File.separator + "work" + File.separator + + String path = "target" + File.separator + "work" + File.separator + "test" + File.separator + "wsdl" + File.separator + "schemaImport" + File.separator + "foo.wsdl"; Document doc = null; diff --git a/axis-ant/src/test/java/test/wsdl/split/SplitTestCase.java b/axis-ant/src/test/java/test/wsdl/split/SplitTestCase.java index 784aab8f9..bc6fe1e04 100644 --- a/axis-ant/src/test/java/test/wsdl/split/SplitTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/split/SplitTestCase.java @@ -33,8 +33,7 @@ public class SplitTestCase extends TestCase { public void testValidateWSDL() throws Exception { WSDLReader reader = WSDLFactory.newInstance().newWSDLReader(); - Definition definition = reader.readWSDL(new File(System.getProperty("basedir", ".") - + "/target/work/test/wsdl/split/SplitTestImpl.wsdl").toURI().toString()); + Definition definition = reader.readWSDL(new File("target/work/test/wsdl/split/SplitTestImpl.wsdl").getAbsoluteFile().toURI().toString()); Service service = definition.getService(new QName("http://split.wsdl.test", "MyPortTypeService")); Port port = service.getPort("SplitTest"); // This is the critical part: the binding is defined in the imported WSDL diff --git a/axis-rt-core/src/test/java/test/utils/TestMessages.java b/axis-rt-core/src/test/java/test/utils/TestMessages.java index 8ffcd473a..dc32db794 100644 --- a/axis-rt-core/src/test/java/test/utils/TestMessages.java +++ b/axis-rt-core/src/test/java/test/utils/TestMessages.java @@ -125,9 +125,8 @@ public void testTestExtendedMessages() { * matches the excpected number of parameters (in the source code). */ public void testForMissingMessages() { - String baseDir = System.getProperty("basedir"); char sep = File.separatorChar; - String srcDirStr = baseDir + sep + "src" + sep + "main" + sep + "java"; + String srcDirStr = "src" + sep + "main" + sep + "java"; File srcDir = new File(srcDirStr); if (srcDir.exists()) { diff --git a/axis-rt-core/src/test/java/test/utils/TestSrcContent.java b/axis-rt-core/src/test/java/test/utils/TestSrcContent.java index a9e731552..89c29b4fd 100644 --- a/axis-rt-core/src/test/java/test/utils/TestSrcContent.java +++ b/axis-rt-core/src/test/java/test/utils/TestSrcContent.java @@ -44,8 +44,7 @@ public class TestSrcContent extends TestCase { * tree (xml-axis/java/src), calling checkFile for each file. */ public void testSourceFiles() { - String baseDir = System.getProperty("basedir"); - File srcDir = new File(baseDir, "src/main/java"); + File srcDir = new File("src/main/java"); if (srcDir.exists()) { walkTree(srcDir); diff --git a/axis-rt-core/src/test/java/test/utils/TestXMLUtils.java b/axis-rt-core/src/test/java/test/utils/TestXMLUtils.java index fe38606bc..4f0e9bb36 100644 --- a/axis-rt-core/src/test/java/test/utils/TestXMLUtils.java +++ b/axis-rt-core/src/test/java/test/utils/TestXMLUtils.java @@ -303,7 +303,7 @@ public void testDOMXXE() throws Exception String msg = "" + "" + + "" + "]>" + " + + ${project.groupId} + maven-wsdd-plugin + ${project.version} + + + + pre-integration-test + + generate-wsdd + + + server + ${project.build.directory}/server-config.wsdd + + + + maven-failsafe-plugin @@ -115,9 +133,8 @@ **/Test*.java - - ${project.build.directory}/work + ${project.build.directory}/server-config.wsdd ${test.functional.TCPListenerPort} diff --git a/samples/transport-sample/src/test/java/test/functional/TestTCPTransportSample.java b/samples/transport-sample/src/test/java/test/functional/TestTCPTransportSample.java index 8de7b5e2f..da7c322e0 100644 --- a/samples/transport-sample/src/test/java/test/functional/TestTCPTransportSample.java +++ b/samples/transport-sample/src/test/java/test/functional/TestTCPTransportSample.java @@ -48,7 +48,7 @@ public TestTCPTransportSample(String name) { } public void doTestDeploy () throws Exception { - String[] args = { "-l" + uri, System.getProperty("basedir", ".") + "/src/main/wsdd/deploy.wsdd" }; + String[] args = { "-l" + uri, "src/main/wsdd/deploy.wsdd" }; AdminClient.main(args); } diff --git a/samples/transport-sample/src/test/java/test/functional/TestTransportSample.java b/samples/transport-sample/src/test/java/test/functional/TestTransportSample.java index 6ada54094..d45efde1f 100644 --- a/samples/transport-sample/src/test/java/test/functional/TestTransportSample.java +++ b/samples/transport-sample/src/test/java/test/functional/TestTransportSample.java @@ -35,7 +35,7 @@ public TestTransportSample(String name) { } public void doTestDeploy () throws Exception { - String[] args = { "-llocal:", System.getProperty("basedir") + "/src/main/wsdd/deploy.wsdd" }; + String[] args = { "-llocal:", "src/main/wsdd/deploy.wsdd" }; AdminClient.main(args); } From 851431baa0235f4e1095ec272ccb8ae631e53268 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 7 Dec 2012 18:54:39 +0000 Subject: [PATCH 003/133] Added a Maven profile to make it easier to generate Eclipse project metadata and to work around an issue that occurs when maven-eclipse-plugin and maven-shade-plugin are used together. --- pom.xml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pom.xml b/pom.xml index c410f0c84..3029a347a 100644 --- a/pom.xml +++ b/pom.xml @@ -227,6 +227,10 @@ maven-shade-plugin 2.0 + + maven-eclipse-plugin + 2.9 + @@ -306,6 +310,38 @@ + + + + eclipse + + true + + + install + + + maven-eclipse-plugin + + + + prepare-package + + eclipse + + + true + + + + + + + + From e78e99fcdef2da3c2b1e2f8b36148b481b839470 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 8 Dec 2012 15:38:24 +0000 Subject: [PATCH 004/133] Mavenized the JMS sample and added the necessary stuff to perform an integration test with ActiveMQ. --- .../apache/axis/testutils/daemon/Daemon.java | 24 +- .../axis/testutils/daemon/Launcher.java | 56 +++++ distribution/src/main/assembly/bin.xml | 12 + .../server/AbstractStartProcessMojo.java | 5 +- ...ion.java => AxisServerProcessControl.java} | 14 +- .../maven/server/DaemonProcessControl.java | 74 ++++++ .../maven/server/DefaultProcessManager.java | 10 +- .../tools/maven/server/ManagedProcess.java | 10 +- ...essStopAction.java => ProcessControl.java} | 32 ++- .../tools/maven/server/ProcessManager.java | 2 +- .../tools/maven/server/StartDaemonMojo.java | 77 +++++++ .../tools/maven/server/StartProcessMojo.java | 10 +- .../tools/maven/server/StartServerMojo.java | 7 +- .../wsdl2java/AbstractWsdl2JavaMojo.java | 9 +- samples/jms-sample/pom.xml | 213 ++++++++++++++++++ .../src/main/java}/samples/jms/JMSTest.java | 1 + .../java}/samples/jms/dii/JMSURLTest.java | 29 +-- .../samples/jms/stub/JMSURLStubTest.java | 21 +- .../src/main/wsdd}/client-config.wsdd | 0 .../src/main/wsdd}/server-config.wsdd | 0 .../jms-sample/src/main/wsdl}/GetQuote.wsdl | 0 .../activemq-connection-factory.properties | 3 + .../test/java/samples/jms/ActiveMQDaemon.java | 28 +-- samples/pom.xml | 1 + 24 files changed, 546 insertions(+), 92 deletions(-) rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStopAction.java => axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java (54%) create mode 100644 axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{AxisServerStartAction.java => AxisServerProcessControl.java} (82%) create mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{ProcessStopAction.java => ProcessControl.java} (62%) create mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java create mode 100644 samples/jms-sample/pom.xml rename {distribution/src/main/files => samples/jms-sample/src/main/java}/samples/jms/JMSTest.java (99%) rename {distribution/src/main/files => samples/jms-sample/src/main/java}/samples/jms/dii/JMSURLTest.java (84%) rename {distribution/src/main/files => samples/jms-sample/src/main/java}/samples/jms/stub/JMSURLStubTest.java (87%) rename {distribution/src/main/files/samples/jms => samples/jms-sample/src/main/wsdd}/client-config.wsdd (100%) rename {distribution/src/main/files/samples/jms => samples/jms-sample/src/main/wsdd}/server-config.wsdd (100%) rename {distribution/src/main/files/samples/jms/stub => samples/jms-sample/src/main/wsdl}/GetQuote.wsdl (100%) create mode 100644 samples/jms-sample/src/test/conf/activemq-connection-factory.properties rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStartAction.java => samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java (60%) diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStopAction.java b/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java similarity index 54% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStopAction.java rename to axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java index 51b08ce7b..4ac087046 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStopAction.java +++ b/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java @@ -16,25 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.axis.tools.maven.server; +package org.apache.axis.testutils.daemon; -import java.io.File; - -import org.apache.axis.client.AdminClient; -import org.codehaus.plexus.logging.Logger; - -public class AxisServerStopAction implements ProcessStopAction { - private final AdminClient adminClient; - private final File[] undeployments; - - public AxisServerStopAction(AdminClient adminClient, File[] undeployments) { - this.adminClient = adminClient; - this.undeployments = undeployments; - } - - public int execute(Logger logger) throws Exception { - AdminClientUtils.process(logger, adminClient, undeployments); - adminClient.quit(); - return STOPPING; - } +public interface Daemon { + void start(String[] args) throws Exception; + void stop() throws Exception; } diff --git a/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java b/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java new file mode 100644 index 000000000..36bb2c6eb --- /dev/null +++ b/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.testutils.daemon; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.ServerSocket; +import java.net.Socket; + +public class Launcher { + public static void main(String[] args) throws Exception { + String daemonClass = args[0]; + int controlPort = Integer.parseInt(args[1]); + String[] daemonArgs = new String[args.length-2]; + System.arraycopy(args, 2, daemonArgs, 0, args.length-2); + ServerSocket controlServerSocket = new ServerSocket(); + controlServerSocket.bind(new InetSocketAddress(InetAddress.getByName("localhost"), controlPort)); + Socket controlSocket = controlServerSocket.accept(); + BufferedReader controlIn = new BufferedReader(new InputStreamReader(controlSocket.getInputStream(), "ASCII")); + Writer controlOut = new OutputStreamWriter(controlSocket.getOutputStream(), "ASCII"); + Daemon daemon = (Daemon)Class.forName(daemonClass).newInstance(); + daemon.start(daemonArgs); + controlOut.write("READY\r\n"); + controlOut.flush(); + String request = controlIn.readLine(); + if (request == null) { + System.err.println("Control connection unexpectedly closed"); + } else if (request.equals("STOP")) { + daemon.stop(); + controlOut.write("STOPPED\r\n"); + controlOut.flush(); + } else { + System.err.println("Unexpected request: " + request); + } + } +} diff --git a/distribution/src/main/assembly/bin.xml b/distribution/src/main/assembly/bin.xml index 175ad2588..49a7f3a18 100644 --- a/distribution/src/main/assembly/bin.xml +++ b/distribution/src/main/assembly/bin.xml @@ -112,6 +112,18 @@ ../samples/jaxrpc-sample/src/main/wsdd samples/jaxrpc + + ../samples/jms-sample/src/main/java + / + + + ../samples/jms-sample/src/main/wsdl + samples/jms/stub + + + ../samples/jms-sample/src/main/wsdd + samples/jms + ../samples/message-sample/src/main/java / diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java index 7dd6f75e8..49bd75d32 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java @@ -102,7 +102,7 @@ protected boolean isDebug() { return debug; } - protected void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws MojoExecutionException, MojoFailureException { + protected void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { Log log = getLog(); // Locate java executable to use @@ -155,8 +155,7 @@ protected void startJavaProcess(String description, String mainClass, String[] a description, (String[])cmdline.toArray(new String[cmdline.size()]), workDir, - startAction, - stopAction); + processControl); } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStartAction.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java similarity index 82% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStartAction.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java index a937f8158..b4a8b147a 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerStartAction.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java @@ -28,20 +28,22 @@ import org.apache.axis.client.Call; import org.codehaus.plexus.logging.Logger; -public class AxisServerStartAction implements ProcessStartAction { +public class AxisServerProcessControl implements ProcessControl { private final int port; private final AdminClient adminClient; private final File[] deployments; + private final File[] undeployments; private final int timeout; - public AxisServerStartAction(int port, AdminClient adminClient, File[] deployments, int timeout) { + public AxisServerProcessControl(int port, AdminClient adminClient, File[] deployments, File[] undeployments, int timeout) { this.port = port; this.adminClient = adminClient; this.deployments = deployments; + this.undeployments = undeployments; this.timeout = timeout; } - public void execute(Logger logger, Process process) throws Exception { + public void initializeProcess(Logger logger, Process process) throws Exception { // Wait for server to become ready String versionUrl = "http://localhost:" + port + "/axis/services/Version"; Call call = new Call(new URL(versionUrl)); @@ -70,4 +72,10 @@ public void execute(Logger logger, Process process) throws Exception { // Deploy services AdminClientUtils.process(logger, adminClient, deployments); } + + public int shutdownProcess(Logger logger) throws Exception { + AdminClientUtils.process(logger, adminClient, undeployments); + adminClient.quit(); + return STOPPING; + } } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java new file mode 100644 index 000000000..2e0767239 --- /dev/null +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.maven.server; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.InetAddress; +import java.net.Socket; + +import org.codehaus.plexus.logging.Logger; + +public class DaemonProcessControl implements ProcessControl { + private final int controlPort; + private BufferedReader controlIn; + private Writer controlOut; + + public DaemonProcessControl(int controlPort) { + this.controlPort = controlPort; + } + + public void initializeProcess(Logger logger, Process process) throws Exception { + logger.debug("Attempting to establish control connection on port " + controlPort); + Socket controlSocket; + while (true) { + try { + controlSocket = new Socket(InetAddress.getByName("localhost"), controlPort); + break; + } catch (IOException ex) { + Thread.sleep(100); + } + } + logger.debug("Control connection established"); + controlIn = new BufferedReader(new InputStreamReader(controlSocket.getInputStream(), "ASCII")); + controlOut = new OutputStreamWriter(controlSocket.getOutputStream(), "ASCII"); + logger.debug("Waiting for daemon to become ready"); + expectStatus("READY"); + logger.debug("Daemon is ready"); + } + + public int shutdownProcess(Logger logger) throws Exception { + controlOut.write("STOP\r\n"); + controlOut.flush(); + expectStatus("STOPPED"); + return STOPPING; + } + + private void expectStatus(String expectedStatus) throws IOException { + String status = controlIn.readLine(); + if (status == null) { + throw new IllegalStateException("Control connection unexpectedly closed"); + } else if (!status.equals(expectedStatus)) { + throw new IllegalStateException("Unexpected status: " + status); + } + } +} diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java index 14046b0ab..7b8bc79b0 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java @@ -36,15 +36,15 @@ public void enableLogging(Logger logger) { this.logger = logger; } - public void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception { + public void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception { if (logger.isDebugEnabled()) { logger.debug("Starting process with command line: " + Arrays.asList(cmdline)); } Process process = Runtime.getRuntime().exec(cmdline, null, workDir); - managedProcesses.add(new ManagedProcess(process, description, stopAction)); + managedProcesses.add(new ManagedProcess(process, description, processControl)); new Thread(new StreamPump(process.getInputStream(), System.out)).start(); new Thread(new StreamPump(process.getErrorStream(), System.err)).start(); - startAction.execute(logger, process); + processControl.initializeProcess(logger, process); } public void stopAll() throws Exception { @@ -54,7 +54,7 @@ public void stopAll() throws Exception { int result; logger.debug("Executing stop action"); try { - result = managedProcess.getStopAction().execute(logger); + result = managedProcess.getProcessControl().shutdownProcess(logger); } catch (Exception ex) { if (savedException == null) { savedException = ex; @@ -64,7 +64,7 @@ public void stopAll() throws Exception { if (logger.isDebugEnabled()) { logger.debug("result = " + result); } - if (result == ProcessStopAction.STOPPING) { + if (result == ProcessControl.STOPPING) { managedProcess.getProcess().waitFor(); } else { managedProcess.getProcess().destroy(); diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java index e8d7d23cb..2237691a4 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java @@ -21,12 +21,12 @@ public class ManagedProcess { private final Process process; private final String description; - private final ProcessStopAction stopAction; + private final ProcessControl processControl; - public ManagedProcess(Process process, String description, ProcessStopAction stopAction) { + public ManagedProcess(Process process, String description, ProcessControl processControl) { this.process = process; this.description = description; - this.stopAction = stopAction; + this.processControl = processControl; } public Process getProcess() { @@ -37,7 +37,7 @@ public String getDescription() { return description; } - public ProcessStopAction getStopAction() { - return stopAction; + public ProcessControl getProcessControl() { + return processControl; } } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStopAction.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java similarity index 62% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStopAction.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java index 299c8da75..4eb70bc40 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStopAction.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java @@ -21,18 +21,12 @@ import org.codehaus.plexus.logging.Logger; /** - * Action to be executed when a process is stopped. Typically (but not necessarily) this involves - * sending a request to initiate a clean shutdown of the process. + * Defines the actions to be executed after a given process has been started and when a process is + * stopped. * * @author Andreas Veithen */ -public interface ProcessStopAction { - ProcessStopAction NOP = new ProcessStopAction() { - public int execute(Logger logger) throws Exception { - return RUNNING; - } - }; - +public interface ProcessControl { /** * Indicates that the process is expected to be still running after the action is completed. */ @@ -44,5 +38,23 @@ public int execute(Logger logger) throws Exception { */ int STOPPING = 2; - int execute(Logger logger) throws Exception; + /** + * Initialize the process. This typically involves waiting for the process to be completely + * started and to configure the server process, e.g. to deploy services. + * + * @param logger + * @param process + * @throws Exception + */ + void initializeProcess(Logger logger, Process process) throws Exception; + + /** + * Prepare the process for shutdown. Typically (but not necessarily) this involves sending a + * request to initiate a clean shutdown of the process. + * + * @param logger + * @return + * @throws Exception + */ + int shutdownProcess(Logger logger) throws Exception; } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java index cfa7db04e..d0ffadea5 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java @@ -21,6 +21,6 @@ import java.io.File; public interface ProcessManager { - void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception; + void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception; void stopAll() throws Exception; } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java new file mode 100644 index 000000000..286b57f03 --- /dev/null +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.maven.server; + +import java.io.File; +import java.io.IOException; +import java.net.ServerSocket; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; + +/** + * Start a daemon. + * + * @goal start-daemon + * @phase pre-integration-test + * @requiresDependencyResolution test + */ +public class StartDaemonMojo extends AbstractStartProcessMojo { + /** + * The daemon class. + * + * @parameter + * @required + */ + private String daemonClass; + + /** + * The arguments to be passed to the main class. + * + * @parameter + */ + private String[] args; + + /** + * The working directory for the process. + * + * @parameter default-value="${project.build.directory}/work" + * @required + */ + private File workDir; + + protected void doExecute() throws MojoExecutionException, MojoFailureException { + int controlPort; + try { + ServerSocket ss = new ServerSocket(0); + controlPort = ss.getLocalPort(); + ss.close(); + } catch (IOException ex) { + throw new MojoFailureException("Failed to allocate port number", ex); + } + workDir.mkdirs(); + String[] vmArgs = new String[args != null ? args.length + 2 : 2]; + vmArgs[0] = daemonClass; + vmArgs[1] = String.valueOf(controlPort); + if (args != null) { + System.arraycopy(args, 0, vmArgs, 2, args.length); + } + startJavaProcess(daemonClass, "org.apache.axis.testutils.daemon.Launcher", vmArgs, workDir, new DaemonProcessControl(controlPort)); + } +} diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java index 3777a9e0f..b9e5993e1 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java @@ -22,6 +22,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.codehaus.plexus.logging.Logger; /** * Start an arbitrary Java process. @@ -56,6 +57,13 @@ public class StartProcessMojo extends AbstractStartProcessMojo { protected void doExecute() throws MojoExecutionException, MojoFailureException { workDir.mkdirs(); - startJavaProcess(mainClass, mainClass, args != null ? args : new String[0], workDir, ProcessStartAction.NOP, ProcessStopAction.NOP); + startJavaProcess(mainClass, mainClass, args != null ? args : new String[0], workDir, new ProcessControl() { + public void initializeProcess(Logger logger, Process process) throws Exception { + } + + public int shutdownProcess(Logger logger) throws Exception { + return RUNNING; + } + }); } } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index f0953d4b0..e986eb0bd 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -219,11 +219,10 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { "org.apache.axis.server.standalone.StandaloneAxisServer", (String[])args.toArray(new String[args.size()]), workDir, - new AxisServerStartAction(actualPort, adminClient, + new AxisServerProcessControl(actualPort, adminClient, (File[])deployments.toArray(new File[deployments.size()]), - isDebug() || foreground ? Integer.MAX_VALUE : 20000), - new AxisServerStopAction(adminClient, - (File[])undeployments.toArray(new File[undeployments.size()]))); + (File[])undeployments.toArray(new File[undeployments.size()]), + isDebug() || foreground ? Integer.MAX_VALUE : 20000)); } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java b/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java index cfbebaea2..21f83c89c 100644 --- a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java +++ b/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java @@ -179,6 +179,13 @@ public abstract class AbstractWsdl2JavaMojo extends AbstractMojo { */ private boolean helperGen; + /** + * + * + * @parameter default-value="false" + */ + private boolean allowInvalidURL; + /** * The location of the deployment WSDD file to be generated. This parameter is ignored if * {@link #generate} is set to client. If this parameter is not specified, then no @@ -269,7 +276,7 @@ public void execute() throws MojoExecutionException, MojoFailureException { // emitter.setQuiet(quiet); emitter.setTypeMappingVersion(typeMappingVersion); emitter.setNowrap(noWrapped); -// emitter.setAllowInvalidURL(allowInvalidURL); + emitter.setAllowInvalidURL(allowInvalidURL); emitter.setWrapArrays(wrapArrays); // if (namespaceMappingFile != null) { // emitter.setNStoPkg(namespaceMappingFile.toString()); diff --git a/samples/jms-sample/pom.xml b/samples/jms-sample/pom.xml new file mode 100644 index 000000000..fb2038bf7 --- /dev/null +++ b/samples/jms-sample/pom.xml @@ -0,0 +1,213 @@ + + + + 4.0.0 + + org.apache.axis + samples + 1.4.1-SNAPSHOT + ../pom.xml + + jms-sample + JMS Sample + + + ${project.groupId} + axis-rt-core + ${project.version} + + + ${project.groupId} + axis-rt-transport-jms + ${project.version} + + + ${project.groupId} + stock-sample + ${project.version} + + + junit + junit + + + org.apache.activemq + activemq-core + 5.6.0 + test + + + org.slf4j + slf4j-simple + 1.6.4 + + + ${project.groupId} + axis-testutils + ${project.version} + test + + + + + + ${project.groupId} + maven-wsdl2java-plugin + ${project.version} + + + + generate-sources + + + src/main/wsdl/GetQuote.wsdl + client + 1.1 + session + true + + + urn:xmltoday-delayed-quotes + samples.jms.stub.xmltoday_delayed_quotes + + + urn:xmltoday-delayed-quotes + samples.jms.stub.xmltoday_delayed_quotes + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + pre-integration-test + + reserve-network-port + + + + test.brokerPort + + + + + + + maven-resources-plugin + + + pre-integration-test + + copy-resources + + + + + src/test/conf + true + + + ${project.build.directory}/conf + + + + + + ${project.groupId} + maven-axis-server-plugin + ${project.version} + + + start-broker + + start-daemon + + + samples.jms.ActiveMQDaemon + + ${test.brokerPort} + + + + + stop-broker + + stop-all + + + + + + maven-antrun-plugin + + + integration-test + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/src/main/files/samples/jms/JMSTest.java b/samples/jms-sample/src/main/java/samples/jms/JMSTest.java similarity index 99% rename from distribution/src/main/files/samples/jms/JMSTest.java rename to samples/jms-sample/src/main/java/samples/jms/JMSTest.java index 07389e0c0..45adbc657 100644 --- a/distribution/src/main/files/samples/jms/JMSTest.java +++ b/samples/jms-sample/src/main/java/samples/jms/JMSTest.java @@ -120,6 +120,7 @@ public static void main(String args[]) throws Exception { catch(AxisFault af) { System.out.println(af.dumpToString()); + System.exit(1); } } diff --git a/distribution/src/main/files/samples/jms/dii/JMSURLTest.java b/samples/jms-sample/src/main/java/samples/jms/dii/JMSURLTest.java similarity index 84% rename from distribution/src/main/files/samples/jms/dii/JMSURLTest.java rename to samples/jms-sample/src/main/java/samples/jms/dii/JMSURLTest.java index 31b12cd1e..409ba464e 100644 --- a/distribution/src/main/files/samples/jms/dii/JMSURLTest.java +++ b/samples/jms-sample/src/main/java/samples/jms/dii/JMSURLTest.java @@ -6,7 +6,6 @@ import org.apache.axis.configuration.XMLStringProvider; import org.apache.axis.deployment.wsdd.WSDDConstants; import org.apache.axis.encoding.XMLType; -import org.apache.axis.transport.jms.JMSConstants; import org.apache.axis.transport.jms.JMSTransport; import org.apache.axis.transport.jms.SimpleJMSListener; import org.apache.axis.utils.Options; @@ -36,24 +35,7 @@ public class JMSURLTest { ""; // the JMS URL target endpoint address - static String sampleJmsUrl = "jms:/MyQ?" + - "vendor=JNDI" + - "&java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory" + - "&java.naming.provider.url=file:///c:/JNDIStore" + - "&ConnectionFactoryJNDIName=MyCF" + - "&deliveryMode=persistent" + - "&priority=5" + - "&ttl=10000" + - "&debug=true"; - /* - // example using Sonic - static String sampleJmsUrl = "jms:/SampleQ1?" + - "vendor=SonicMQ" + - "&brokerURL=localhost:2506" + - "&deliveryMode=persistent" + - "&priority=5" + - "&ttl=10000"; - */ + static String sampleJmsUrl; public static void main(String args[]) throws Exception { Options opts = new Options( args ); @@ -69,6 +51,11 @@ public static void main(String args[]) throws Exception { HashMap cfMap = SimpleJMSListener.createCFMap(opts); String destination = opts.isValueSet('d'); + sampleJmsUrl = opts.isValueSet('e'); + if (sampleJmsUrl == null) { + printUsage(); + } + // create the jms listener SimpleJMSListener listener = new SimpleJMSListener(connectorMap, cfMap, @@ -92,6 +79,7 @@ public static void main(String args[]) throws Exception { catch(AxisFault af) { System.out.println(af.dumpToString()); + System.exit(1); } } @@ -102,7 +90,7 @@ public static void main(String args[]) throws Exception { // note: this is optional, as all connectors will be closed upon exit JMSTransport.closeMatchingJMSConnectors(sampleJmsUrl, username, password); - System.exit(1); + System.exit(0); } public static Float getQuote(String ticker, String username, String password) @@ -151,6 +139,7 @@ public static void printUsage() System.out.println(" -c connection factory properties filename"); System.out.println(" -d destination"); System.out.println(" -t topic [absence of -t indicates queue]"); + System.out.println(" -e the JMS endpoint URL to use for the client"); System.out.println(); System.out.println(" -u username"); System.out.println(" -w password"); diff --git a/distribution/src/main/files/samples/jms/stub/JMSURLStubTest.java b/samples/jms-sample/src/main/java/samples/jms/stub/JMSURLStubTest.java similarity index 87% rename from distribution/src/main/files/samples/jms/stub/JMSURLStubTest.java rename to samples/jms-sample/src/main/java/samples/jms/stub/JMSURLStubTest.java index 58814a4ca..be4402dad 100644 --- a/distribution/src/main/files/samples/jms/stub/JMSURLStubTest.java +++ b/samples/jms-sample/src/main/java/samples/jms/stub/JMSURLStubTest.java @@ -25,6 +25,8 @@ import junit.framework.AssertionFailedError; import junit.framework.TestCase; +import java.net.MalformedURLException; +import java.net.URL; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; @@ -44,17 +46,23 @@ public JMSURLStubTest(String name) { super(name); } - public static Float getQuote(String ticker) throws AxisFault { + public static Float getQuote(String endptAddr, String ticker) throws AxisFault { float quote = -1.0F; GetQuoteServiceLocator locator = new GetQuoteServiceLocator(); GetQuote getQuote; + if (endptAddr == null) { + endptAddr = locator.getGetQuoteAddress(); + } + try { - getQuote = locator.getGetQuote(); + getQuote = locator.getGetQuote(new URL(endptAddr)); } catch (ServiceException e) { throw new AxisFault("JAX-RPC ServiceException caught: ", e); + } catch (MalformedURLException e) { + throw new AxisFault("MalformedURLException caught: ", e); } assertTrue("getQuote is null", getQuote != null); @@ -64,7 +72,6 @@ public static Float getQuote(String ticker) throws AxisFault { // close matching connectors // note: this is optional, as all connectors will be closed upon exit - String endptAddr = locator.getGetQuoteAddress(); JMSTransport.closeMatchingJMSConnectors(endptAddr, null, null); } catch (RemoteException e) { @@ -82,6 +89,7 @@ public static void printUsage() System.out.println(" -c connection factory properties filename"); System.out.println(" -d destination"); System.out.println(" -t topic [absence of -t indicates queue]"); + System.out.println(" -e the JMS endpoint URL to use for the client"); System.out.println(); System.out.println(" -u username"); System.out.println(" -w password"); @@ -110,6 +118,8 @@ public static void main(String[] args) throws Exception HashMap cfMap = SimpleJMSListener.createCFMap(opts); String destination = opts.isValueSet('d'); + String endptAddr = opts.isValueSet('e'); + args = opts.getRemainingArgs(); if ( args == null || args.length == 0) printUsage(); @@ -129,17 +139,18 @@ public static void main(String[] args) throws Exception { try { - Float quote = stubTest.getQuote(args[i]); + Float quote = stubTest.getQuote(endptAddr, args[i]); System.out.println(args[i] + ": " + quote); } catch(AxisFault af) { System.out.println(af.dumpToString()); + System.exit(1); } } listener.shutdown(); - System.exit(1); + System.exit(0); } } diff --git a/distribution/src/main/files/samples/jms/client-config.wsdd b/samples/jms-sample/src/main/wsdd/client-config.wsdd similarity index 100% rename from distribution/src/main/files/samples/jms/client-config.wsdd rename to samples/jms-sample/src/main/wsdd/client-config.wsdd diff --git a/distribution/src/main/files/samples/jms/server-config.wsdd b/samples/jms-sample/src/main/wsdd/server-config.wsdd similarity index 100% rename from distribution/src/main/files/samples/jms/server-config.wsdd rename to samples/jms-sample/src/main/wsdd/server-config.wsdd diff --git a/distribution/src/main/files/samples/jms/stub/GetQuote.wsdl b/samples/jms-sample/src/main/wsdl/GetQuote.wsdl similarity index 100% rename from distribution/src/main/files/samples/jms/stub/GetQuote.wsdl rename to samples/jms-sample/src/main/wsdl/GetQuote.wsdl diff --git a/samples/jms-sample/src/test/conf/activemq-connection-factory.properties b/samples/jms-sample/src/test/conf/activemq-connection-factory.properties new file mode 100644 index 000000000..e00afa0de --- /dev/null +++ b/samples/jms-sample/src/test/conf/activemq-connection-factory.properties @@ -0,0 +1,3 @@ +java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory +java.naming.provider.url=tcp://localhost:${test.brokerPort} +transport.jms.ConnectionFactoryJNDIName=ConnectionFactory diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStartAction.java b/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java similarity index 60% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStartAction.java rename to samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java index 3dddd0790..ea790354e 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessStartAction.java +++ b/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java @@ -16,21 +16,21 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.axis.tools.maven.server; +package samples.jms; -import org.codehaus.plexus.logging.Logger; +import org.apache.activemq.broker.BrokerFactory; +import org.apache.activemq.broker.BrokerService; +import org.apache.axis.testutils.daemon.Daemon; -/** - * Action to be executed after a given process has been started. This is typically used to configure - * the server process, e.g. to deploy services. - * - * @author Andreas Veithen - */ -public interface ProcessStartAction { - ProcessStartAction NOP = new ProcessStartAction() { - public void execute(Logger logger, Process process) throws Exception { - } - }; +public class ActiveMQDaemon implements Daemon { + private BrokerService broker; - void execute(Logger logger, Process process) throws Exception; + public void start(String[] args) throws Exception { + broker = BrokerFactory.createBroker("broker:(tcp://localhost:" + args[0] + ")?useJmx=false&persistent=false"); + broker.start(); + } + + public void stop() throws Exception { + broker.stop(); + } } diff --git a/samples/pom.xml b/samples/pom.xml index 92da41690..9c7d2908e 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -42,6 +42,7 @@ integrationguide-sample jaxm-sample jaxrpc-sample + jms-sample message-sample mtomstub-sample misc-sample From 27fb034a11d4cdfea6679702da8d1e02722da0a2 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 8 Dec 2012 18:25:02 +0000 Subject: [PATCH 005/133] Fixed some build issues. --- samples/jms-sample/pom.xml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/samples/jms-sample/pom.xml b/samples/jms-sample/pom.xml index fb2038bf7..b63d9e3f0 100644 --- a/samples/jms-sample/pom.xml +++ b/samples/jms-sample/pom.xml @@ -50,14 +50,9 @@ org.apache.activemq activemq-core - 5.6.0 + 5.4.3 test - - org.slf4j - slf4j-simple - 1.6.4 - ${project.groupId} axis-testutils @@ -167,7 +162,7 @@ run - + From a170c458754dddb24b4d53b433c396c63798f332 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 09:45:08 +0000 Subject: [PATCH 006/133] Let maven-axis-server-plugin automatically add axis-standalone-server to the classpath so that it is no longer required to declare it as a dependency. --- axis-rt-transport-http-javanet/pom.xml | 6 - integration/pom.xml | 6 - .../server/AbstractStartProcessMojo.java | 133 +++++++++++++++++- .../tools/maven/server/StartDaemonMojo.java | 2 +- .../tools/maven/server/StartProcessMojo.java | 2 +- .../tools/maven/server/StartServerMojo.java | 13 ++ samples/addr-sample/pom.xml | 6 - samples/attachments-sample/pom.xml | 5 - samples/bidbuy-sample/pom.xml | 5 - samples/encoding-sample/pom.xml | 5 - samples/faults-sample/pom.xml | 5 - samples/handler-sample/pom.xml | 5 - samples/jaxrpc-sample/pom.xml | 5 - samples/message-sample/pom.xml | 5 - samples/misc-sample/pom.xml | 5 - samples/proxy-sample/pom.xml | 5 - samples/stock-sample/pom.xml | 5 - 17 files changed, 142 insertions(+), 76 deletions(-) diff --git a/axis-rt-transport-http-javanet/pom.xml b/axis-rt-transport-http-javanet/pom.xml index d23c1c8e0..4a68e9089 100644 --- a/axis-rt-transport-http-javanet/pom.xml +++ b/axis-rt-transport-http-javanet/pom.xml @@ -51,12 +51,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - test - ${project.groupId} interop-mock diff --git a/integration/pom.xml b/integration/pom.xml index d61c89c9a..1875db263 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -43,12 +43,6 @@ axis-codegen ${project.version} - - ${project.groupId} - axis-standalone-server - ${project.version} - test - ${project.groupId} axis-testutils diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java index 49bd75d32..7f7674871 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java @@ -21,19 +21,37 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; +import java.util.Set; -import org.apache.maven.artifact.DependencyResolutionRequiredException; +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.artifact.metadata.ArtifactMetadataSource; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.resolver.ArtifactCollector; +import org.apache.maven.artifact.resolver.ArtifactNotFoundException; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; +import org.apache.maven.artifact.resolver.ArtifactResolver; +import org.apache.maven.artifact.resolver.DebugResolutionListener; +import org.apache.maven.artifact.resolver.filter.ArtifactFilter; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.project.MavenProject; +import org.apache.maven.project.MavenProjectBuilder; +import org.apache.maven.project.ProjectBuildingException; +import org.apache.maven.project.artifact.InvalidDependencyVersionException; import org.apache.maven.toolchain.Toolchain; import org.apache.maven.toolchain.ToolchainManager; +import org.codehaus.plexus.logging.LogEnabled; +import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; -public abstract class AbstractStartProcessMojo extends AbstractServerMojo { +public abstract class AbstractStartProcessMojo extends AbstractServerMojo implements LogEnabled { /** * The maven project. * @@ -52,6 +70,49 @@ public abstract class AbstractStartProcessMojo extends AbstractServerMojo { */ private MavenSession session; + /** + * @component + */ + private MavenProjectBuilder projectBuilder; + + /** + * Local maven repository. + * + * @parameter expression="${localRepository}" + * @required + * @readonly + */ + private ArtifactRepository localRepository; + + /** + * Remote repositories. + * + * @parameter expression="${project.remoteArtifactRepositories}" + * @required + * @readonly + */ + private List remoteArtifactRepositories; + + /** + * @component + */ + protected ArtifactFactory artifactFactory; + + /** + * @component + */ + private ArtifactResolver artifactResolver; + + /** + * @component + */ + private ArtifactCollector artifactCollector; + + /** + * @component + */ + private ArtifactMetadataSource artifactMetadataSource; + /** * @component */ @@ -98,11 +159,71 @@ public abstract class AbstractStartProcessMojo extends AbstractServerMojo { */ private String argLine; + private Logger logger; + + public void enableLogging(Logger logger) { + this.logger = logger; + } + protected boolean isDebug() { return debug; } - protected void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { + private List/**/ buildClasspath(Set/**/ additionalArtifacts) throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { + final Log log = getLog(); + + // We need dependencies in scope test. Since this is the largest scope, we don't need + // to do any additional filtering based on dependency scope. + Set projectDependencies = project.getArtifacts(); + + final Set artifacts = new HashSet(projectDependencies); + + if (additionalArtifacts != null) { + for (Iterator it = additionalArtifacts.iterator(); it.hasNext(); ) { + Artifact a = (Artifact)it.next(); + if (log.isDebugEnabled()) { + log.debug("Resolving artifact to be added to classpath: " + a); + } + ArtifactFilter filter = new ArtifactFilter() { + public boolean include(Artifact artifact) { + String id = artifact.getDependencyConflictId(); + for (Iterator it = artifacts.iterator(); it.hasNext(); ) { + if (id.equals(((Artifact)it.next()).getDependencyConflictId())) { + return false; + } + } + return true; + } + }; + MavenProject p = projectBuilder.buildFromRepository(a, remoteArtifactRepositories, localRepository); + if (filter.include(p.getArtifact())) { + Set s = p.createArtifacts(artifactFactory, Artifact.SCOPE_RUNTIME, filter); + artifacts.addAll(artifactCollector.collect(s, + p.getArtifact(), p.getManagedVersionMap(), + localRepository, remoteArtifactRepositories, artifactMetadataSource, filter, + Collections.singletonList(new DebugResolutionListener(logger))).getArtifacts()); + artifacts.add(p.getArtifact()); + } + } + } + + List/**/ cp = new ArrayList(); + cp.add(project.getBuild().getTestOutputDirectory()); + cp.add(project.getBuild().getOutputDirectory()); + for (Iterator it = artifacts.iterator(); it.hasNext(); ) { + Artifact a = (Artifact)it.next(); + if (a.getArtifactHandler().isAddedToClasspath()) { + if (a.getFile() == null) { + artifactResolver.resolve(a, remoteArtifactRepositories, localRepository); + } + cp.add(a.getFile()); + } + } + + return cp; + } + + protected final void startJavaProcess(String description, String mainClass, Set additionalDependencies, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { Log log = getLog(); // Locate java executable to use @@ -120,9 +241,9 @@ protected void startJavaProcess(String description, String mainClass, String[] a // Get class path List classpath; try { - classpath = project.getTestClasspathElements(); - } catch (DependencyResolutionRequiredException ex) { - throw new MojoExecutionException("Unexpected exception", ex); + classpath = buildClasspath(additionalDependencies); + } catch (Exception ex) { + throw new MojoExecutionException("Failed to build classpath", ex); } if (log.isDebugEnabled()) { log.debug("Class path elements: " + classpath); diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java index 286b57f03..3b95b18f0 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java @@ -72,6 +72,6 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { if (args != null) { System.arraycopy(args, 0, vmArgs, 2, args.length); } - startJavaProcess(daemonClass, "org.apache.axis.testutils.daemon.Launcher", vmArgs, workDir, new DaemonProcessControl(controlPort)); + startJavaProcess(daemonClass, "org.apache.axis.testutils.daemon.Launcher", null, vmArgs, workDir, new DaemonProcessControl(controlPort)); } } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java index b9e5993e1..33935f8b4 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java @@ -57,7 +57,7 @@ public class StartProcessMojo extends AbstractStartProcessMojo { protected void doExecute() throws MojoExecutionException, MojoFailureException { workDir.mkdirs(); - startJavaProcess(mainClass, mainClass, args != null ? args : new String[0], workDir, new ProcessControl() { + startJavaProcess(mainClass, mainClass, null, args != null ? args : new String[0], workDir, new ProcessControl() { public void initializeProcess(Logger logger, Process process) throws Exception { } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index e986eb0bd..9edf7a6eb 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -22,7 +22,9 @@ import java.io.IOException; import java.net.URL; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -30,6 +32,7 @@ import org.apache.axis.client.AdminClient; import org.apache.axis.deployment.wsdd.WSDDConstants; +import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.Log; @@ -47,6 +50,13 @@ * @requiresDependencyResolution test */ public class StartServerMojo extends AbstractStartProcessMojo { + /** + * @parameter default-value="${plugin.version}" + * @required + * @readonly + */ + private String axisVersion; + /** * @parameter default-value="${project.build.directory}/axis-server" * @required @@ -214,9 +224,12 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { try { AdminClient adminClient = new AdminClient(true); adminClient.setTargetEndpointAddress(new URL("http://localhost:" + actualPort + "/axis/services/AdminService")); + Set additionalDependencies = new HashSet(); + additionalDependencies.add(artifactFactory.createArtifact("org.apache.axis", "axis-standalone-server", axisVersion, Artifact.SCOPE_TEST, "jar")); startJavaProcess( "Server on port " + actualPort, "org.apache.axis.server.standalone.StandaloneAxisServer", + additionalDependencies, (String[])args.toArray(new String[args.size()]), workDir, new AxisServerProcessControl(actualPort, adminClient, diff --git a/samples/addr-sample/pom.xml b/samples/addr-sample/pom.xml index 4c859bfa6..6194ef949 100644 --- a/samples/addr-sample/pom.xml +++ b/samples/addr-sample/pom.xml @@ -38,12 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - test - diff --git a/samples/attachments-sample/pom.xml b/samples/attachments-sample/pom.xml index d4c434337..7cb2b3da6 100644 --- a/samples/attachments-sample/pom.xml +++ b/samples/attachments-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/bidbuy-sample/pom.xml b/samples/bidbuy-sample/pom.xml index 878bb3815..835d27fd4 100644 --- a/samples/bidbuy-sample/pom.xml +++ b/samples/bidbuy-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/encoding-sample/pom.xml b/samples/encoding-sample/pom.xml index d9edb8b7b..7821b8722 100644 --- a/samples/encoding-sample/pom.xml +++ b/samples/encoding-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/faults-sample/pom.xml b/samples/faults-sample/pom.xml index 2e07be096..ceaceca9e 100644 --- a/samples/faults-sample/pom.xml +++ b/samples/faults-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/handler-sample/pom.xml b/samples/handler-sample/pom.xml index 8e2f55979..ab4e7e5f7 100644 --- a/samples/handler-sample/pom.xml +++ b/samples/handler-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/jaxrpc-sample/pom.xml b/samples/jaxrpc-sample/pom.xml index c73141415..c4d2bd0bd 100644 --- a/samples/jaxrpc-sample/pom.xml +++ b/samples/jaxrpc-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - ${project.groupId} stock-sample diff --git a/samples/message-sample/pom.xml b/samples/message-sample/pom.xml index d14d8d562..9721884d5 100644 --- a/samples/message-sample/pom.xml +++ b/samples/message-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/misc-sample/pom.xml b/samples/misc-sample/pom.xml index 5e16a465e..7dd9b8477 100644 --- a/samples/misc-sample/pom.xml +++ b/samples/misc-sample/pom.xml @@ -38,11 +38,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/proxy-sample/pom.xml b/samples/proxy-sample/pom.xml index b54470db9..964fd727f 100644 --- a/samples/proxy-sample/pom.xml +++ b/samples/proxy-sample/pom.xml @@ -49,11 +49,6 @@ ${project.version} test - - ${project.groupId} - axis-standalone-server - ${project.version} - diff --git a/samples/stock-sample/pom.xml b/samples/stock-sample/pom.xml index f6d1c8295..e924835a4 100644 --- a/samples/stock-sample/pom.xml +++ b/samples/stock-sample/pom.xml @@ -43,11 +43,6 @@ junit test - - ${project.groupId} - axis-standalone-server - ${project.version} - From 86a2ef39dfe3a5ebe73d6ce991243ed66e0a234a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 12:08:15 +0000 Subject: [PATCH 007/133] * Use the Daemon interface defined by commons-daemon instead of our own Daemon interface. * Improved the management of the child process lifecycle. --- .../axis/testutils/daemon/Launcher.java | 56 ---------- daemon-launcher/pom.xml | 50 +++++++++ .../tools/daemon/ControlConnectionReader.java | 76 +++++++++++++ .../axis/tools/daemon/DaemonContextImpl.java | 38 +++++++ .../apache/axis/tools/daemon/Launcher.java | 101 ++++++++++++++++++ .../axis/tools/daemon/LauncherException.java | 11 +- maven/maven-axis-server-plugin/pom.xml | 17 +++ .../tools/maven/server/StartDaemonMojo.java | 14 ++- pom.xml | 6 ++ samples/jms-sample/pom.xml | 5 +- .../test/java/samples/jms/ActiveMQDaemon.java | 15 ++- 11 files changed, 322 insertions(+), 67 deletions(-) delete mode 100644 axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java create mode 100644 daemon-launcher/pom.xml create mode 100644 daemon-launcher/src/main/java/org/apache/axis/tools/daemon/ControlConnectionReader.java create mode 100644 daemon-launcher/src/main/java/org/apache/axis/tools/daemon/DaemonContextImpl.java create mode 100644 daemon-launcher/src/main/java/org/apache/axis/tools/daemon/Launcher.java rename axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java => daemon-launcher/src/main/java/org/apache/axis/tools/daemon/LauncherException.java (77%) diff --git a/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java b/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java deleted file mode 100644 index 36bb2c6eb..000000000 --- a/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Launcher.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.axis.testutils.daemon; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.ServerSocket; -import java.net.Socket; - -public class Launcher { - public static void main(String[] args) throws Exception { - String daemonClass = args[0]; - int controlPort = Integer.parseInt(args[1]); - String[] daemonArgs = new String[args.length-2]; - System.arraycopy(args, 2, daemonArgs, 0, args.length-2); - ServerSocket controlServerSocket = new ServerSocket(); - controlServerSocket.bind(new InetSocketAddress(InetAddress.getByName("localhost"), controlPort)); - Socket controlSocket = controlServerSocket.accept(); - BufferedReader controlIn = new BufferedReader(new InputStreamReader(controlSocket.getInputStream(), "ASCII")); - Writer controlOut = new OutputStreamWriter(controlSocket.getOutputStream(), "ASCII"); - Daemon daemon = (Daemon)Class.forName(daemonClass).newInstance(); - daemon.start(daemonArgs); - controlOut.write("READY\r\n"); - controlOut.flush(); - String request = controlIn.readLine(); - if (request == null) { - System.err.println("Control connection unexpectedly closed"); - } else if (request.equals("STOP")) { - daemon.stop(); - controlOut.write("STOPPED\r\n"); - controlOut.flush(); - } else { - System.err.println("Unexpected request: " + request); - } - } -} diff --git a/daemon-launcher/pom.xml b/daemon-launcher/pom.xml new file mode 100644 index 000000000..20b600295 --- /dev/null +++ b/daemon-launcher/pom.xml @@ -0,0 +1,50 @@ + + + + 4.0.0 + + org.apache.axis + axis-project + 1.4.1-SNAPSHOT + ../pom.xml + + daemon-launcher + Daemon Launcher + + Used by maven-axis-server-plugin to launch a Commons Daemon implementation. + + + + commons-daemon + commons-daemon + + + + + + maven-site-plugin + + true + true + + + + + diff --git a/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/ControlConnectionReader.java b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/ControlConnectionReader.java new file mode 100644 index 000000000..da8f3417a --- /dev/null +++ b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/ControlConnectionReader.java @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.daemon; + +import java.io.BufferedReader; +import java.io.Reader; +import java.util.LinkedList; + +import org.apache.commons.daemon.Daemon; + +/** + * Reads messages from the control connection. The main purpose of this is to detect as soon as + * possible when the control connection is closed by the parent process and to terminate the child + * process if that is unexpected. To achieve this we need to read the messages eagerly and place + * them into a queue. In particular this covers the case where the child process has received a + * STOP message and {@link Daemon#stop()} or {@link Daemon#destroy()} hangs. In this case, + * if the parent process is terminated (or stops waiting for the STOPPED message and closes + * the control connection), we can stop the child process immediately. + * + * @author Andreas Veithen + */ +final class ControlConnectionReader implements Runnable { + private final BufferedReader in; + private final LinkedList queue = new LinkedList(); + private boolean expectClose; + + ControlConnectionReader(Reader in) { + this.in = new BufferedReader(in); + } + + synchronized String awaitMessage() throws InterruptedException { + while (queue.isEmpty()) { + wait(); + } + return (String)queue.removeFirst(); + } + + synchronized void expectClose() { + this.expectClose = true; + } + + public void run() { + try { + String message; + while ((message = in.readLine()) != null) { + synchronized (this) { + queue.add(message); + notify(); + } + } + if (!expectClose) { + System.err.println("Control connection unexpectedly closed; terminating."); + System.exit(1); + } + } catch (Throwable ex) { + ex.printStackTrace(); + System.exit(1); + } + } +} diff --git a/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/DaemonContextImpl.java b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/DaemonContextImpl.java new file mode 100644 index 000000000..414690a7e --- /dev/null +++ b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/DaemonContextImpl.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.daemon; + +import org.apache.commons.daemon.DaemonContext; +import org.apache.commons.daemon.DaemonController; + +final class DaemonContextImpl implements DaemonContext { + private final String[] args; + + public DaemonContextImpl(String[] args) { + this.args = args; + } + + public DaemonController getController() { + throw new UnsupportedOperationException(); + } + + public String[] getArguments() { + return args; + } +} diff --git a/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/Launcher.java b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/Launcher.java new file mode 100644 index 000000000..35c15f5b0 --- /dev/null +++ b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/Launcher.java @@ -0,0 +1,101 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.daemon; + +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.ServerSocket; +import java.net.Socket; + +import org.apache.commons.daemon.Daemon; +import org.apache.commons.daemon.DaemonContext; + +/** + * Main class to launch and control a {@link Daemon} implementation. This class is typically + * executed in a child JVM and allows the parent process to control the lifecycle of the daemon + * instance. The main method takes the following arguments: + *
    + *
  1. The class name of the {@link Daemon} implementation. + *
  2. A TCP port number to use for the control connection. + *
+ * All remaining arguments are passed to the {@link Daemon} implementation. + *

+ * The class uses the following protocol to allow the parent process to control the lifecycle of the + * daemon: + *

    + *
  1. The parent process spawns a new child JVM with this class as main class. It passes the class + * name of the {@link Daemon} implementation and the control port as arguments (see above). + *
  2. The child process opens the specified TCP port and waits for the control connection to be + * established. + *
  3. The parent process connects to the control port. + *
  4. The child process {@link Daemon#init(DaemonContext) initializes} and {@link Daemon#start() + * starts} the daemon. + *
  5. The child process sends a READY message over the control connection to the parent + * process. + *
  6. When the parent process no longer needs the daemon, it sends a STOP message to the + * child process. + *
  7. The child process {@link Daemon#stop() stops} and {@link Daemon#destroy() destroys} the + * daemon. + *
  8. The child process sends a STOPPED message to the parent process, closes the control + * connection and terminates itself. + *
  9. The parent process closes the control connection. + *
+ * + * @author Andreas Veithen + */ +public class Launcher { + public static void main(String[] args) { + try { + String daemonClass = args[0]; + int controlPort = Integer.parseInt(args[1]); + String[] daemonArgs = new String[args.length-2]; + System.arraycopy(args, 2, daemonArgs, 0, args.length-2); + ServerSocket controlServerSocket = new ServerSocket(); + controlServerSocket.bind(new InetSocketAddress(InetAddress.getByName("localhost"), controlPort)); + Socket controlSocket = controlServerSocket.accept(); + // We only accept a single connection; therefore we can close the ServerSocket here + controlServerSocket.close(); + ControlConnectionReader controlIn = new ControlConnectionReader(new InputStreamReader(controlSocket.getInputStream(), "ASCII")); + new Thread(controlIn).start(); + Writer controlOut = new OutputStreamWriter(controlSocket.getOutputStream(), "ASCII"); + Daemon daemon = (Daemon)Class.forName(daemonClass).newInstance(); + daemon.init(new DaemonContextImpl(daemonArgs)); + daemon.start(); + controlOut.write("READY\r\n"); + controlOut.flush(); + String request = controlIn.awaitMessage(); + if (request.equals("STOP")) { + daemon.stop(); + daemon.destroy(); + controlIn.expectClose(); + controlOut.write("STOPPED\r\n"); + controlOut.flush(); + System.exit(0); + } else { + throw new LauncherException("Unexpected request: " + request); + } + } catch (Throwable ex) { + ex.printStackTrace(); + System.exit(1); + } + } +} diff --git a/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/LauncherException.java similarity index 77% rename from axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java rename to daemon-launcher/src/main/java/org/apache/axis/tools/daemon/LauncherException.java index 4ac087046..5d177c273 100644 --- a/axis-testutils/src/main/java/org/apache/axis/testutils/daemon/Daemon.java +++ b/daemon-launcher/src/main/java/org/apache/axis/tools/daemon/LauncherException.java @@ -16,9 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.axis.testutils.daemon; +package org.apache.axis.tools.daemon; -public interface Daemon { - void start(String[] args) throws Exception; - void stop() throws Exception; +final class LauncherException extends Exception { + private static final long serialVersionUID = 9049901854635661634L; + + public LauncherException(String msg) { + super(msg); + } } diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/maven-axis-server-plugin/pom.xml index 95b149834..099c4eacb 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/maven-axis-server-plugin/pom.xml @@ -60,6 +60,23 @@ maven-toolchain 1.0 + + + + ${project.groupId} + daemon-launcher + ${project.version} + pom + + + ${project.groupId} + axis-standalone-server + ${project.version} + pom + diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java index 3b95b18f0..fedcac2dd 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java @@ -21,7 +21,10 @@ import java.io.File; import java.io.IOException; import java.net.ServerSocket; +import java.util.HashSet; +import java.util.Set; +import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -33,6 +36,13 @@ * @requiresDependencyResolution test */ public class StartDaemonMojo extends AbstractStartProcessMojo { + /** + * @parameter default-value="${plugin.version}" + * @required + * @readonly + */ + private String axisVersion; + /** * The daemon class. * @@ -72,6 +82,8 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { if (args != null) { System.arraycopy(args, 0, vmArgs, 2, args.length); } - startJavaProcess(daemonClass, "org.apache.axis.testutils.daemon.Launcher", null, vmArgs, workDir, new DaemonProcessControl(controlPort)); + Set additionalDependencies = new HashSet(); + additionalDependencies.add(artifactFactory.createArtifact("org.apache.axis", "daemon-launcher", axisVersion, Artifact.SCOPE_TEST, "jar")); + startJavaProcess(daemonClass, "org.apache.axis.tools.daemon.Launcher", additionalDependencies, vmArgs, workDir, new DaemonProcessControl(controlPort)); } } diff --git a/pom.xml b/pom.xml index 3029a347a..43ec7afc5 100644 --- a/pom.xml +++ b/pom.xml @@ -79,6 +79,7 @@ axis-testutils axis-tools axis-war + daemon-launcher distribution integration interop-mock @@ -131,6 +132,11 @@ commons-lang 2.6 + + commons-daemon + commons-daemon + 1.0.10 + diff --git a/samples/jms-sample/pom.xml b/samples/jms-sample/pom.xml index b63d9e3f0..485a45caa 100644 --- a/samples/jms-sample/pom.xml +++ b/samples/jms-sample/pom.xml @@ -54,9 +54,8 @@ test - ${project.groupId} - axis-testutils - ${project.version} + commons-daemon + commons-daemon test diff --git a/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java b/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java index ea790354e..db1978294 100644 --- a/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java +++ b/samples/jms-sample/src/test/java/samples/jms/ActiveMQDaemon.java @@ -20,17 +20,26 @@ import org.apache.activemq.broker.BrokerFactory; import org.apache.activemq.broker.BrokerService; -import org.apache.axis.testutils.daemon.Daemon; +import org.apache.commons.daemon.Daemon; +import org.apache.commons.daemon.DaemonContext; +import org.apache.commons.daemon.DaemonInitException; public class ActiveMQDaemon implements Daemon { private BrokerService broker; - public void start(String[] args) throws Exception { - broker = BrokerFactory.createBroker("broker:(tcp://localhost:" + args[0] + ")?useJmx=false&persistent=false"); + public void init(DaemonContext context) throws DaemonInitException, Exception { + broker = BrokerFactory.createBroker("broker:(tcp://localhost:" + context.getArguments()[0] + ")?useJmx=false&persistent=false"); + } + + public void start() throws Exception { broker.start(); } public void stop() throws Exception { broker.stop(); } + + public void destroy() { + broker = null; + } } From 00847d6e706ce200029bc271afe1dde5b16198c2 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 13:32:22 +0000 Subject: [PATCH 008/133] Removed the start-process goal and always use a Daemon implementation. This ensures that the process is fully initialized when the integration tests start. --- .../tools/maven/server/StartProcessMojo.java | 69 ------------------- samples/transport-sample/pom.xml | 9 ++- .../samples/transport/tcp/TCPListener.java | 6 +- .../transport/tcp/TCPListenerDaemon.java | 43 ++++++++++++ 4 files changed, 55 insertions(+), 72 deletions(-) delete mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java create mode 100644 samples/transport-sample/src/test/java/samples/transport/tcp/TCPListenerDaemon.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java deleted file mode 100644 index 33935f8b4..000000000 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartProcessMojo.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.axis.tools.maven.server; - -import java.io.File; - -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.codehaus.plexus.logging.Logger; - -/** - * Start an arbitrary Java process. - * - * @goal start-process - * @phase pre-integration-test - * @requiresDependencyResolution test - */ -public class StartProcessMojo extends AbstractStartProcessMojo { - /** - * The main class. - * - * @parameter - * @required - */ - private String mainClass; - - /** - * The arguments to be passed to the main class. - * - * @parameter - */ - private String[] args; - - /** - * The working directory for the process. - * - * @parameter default-value="${project.build.directory}/work" - * @required - */ - private File workDir; - - protected void doExecute() throws MojoExecutionException, MojoFailureException { - workDir.mkdirs(); - startJavaProcess(mainClass, mainClass, null, args != null ? args : new String[0], workDir, new ProcessControl() { - public void initializeProcess(Logger logger, Process process) throws Exception { - } - - public int shutdownProcess(Logger logger) throws Exception { - return RUNNING; - } - }); - } -} diff --git a/samples/transport-sample/pom.xml b/samples/transport-sample/pom.xml index 8d1b15524..591c975ad 100644 --- a/samples/transport-sample/pom.xml +++ b/samples/transport-sample/pom.xml @@ -44,6 +44,11 @@ ${project.version} test + + commons-daemon + commons-daemon + test + @@ -84,10 +89,10 @@ start-server - start-process + start-daemon - samples.transport.tcp.TCPListener + samples.transport.tcp.TCPListenerDaemon -p ${test.functional.TCPListenerPort} diff --git a/samples/transport-sample/src/main/java/samples/transport/tcp/TCPListener.java b/samples/transport-sample/src/main/java/samples/transport/tcp/TCPListener.java index 35b517d4c..9035184df 100644 --- a/samples/transport-sample/src/main/java/samples/transport/tcp/TCPListener.java +++ b/samples/transport-sample/src/main/java/samples/transport/tcp/TCPListener.java @@ -59,7 +59,7 @@ public class TCPListener implements Runnable { private AxisEngine engine = null ; // becomes true when we want to quit - private boolean done = false; + private volatile boolean done = false; static final String wsdd = " Date: Sun, 9 Dec 2012 17:22:05 +0000 Subject: [PATCH 009/133] Added support for the deprecated languageSpecificType attribute. --- .../axis/model/wsdd/WSDDExtendedMetaData.java | 37 ++++++++++++ .../org/apache/axis/model/wsdd/WSDDUtil.java | 58 ++++++++++++++++++- .../axis/model/wsdd/DeprecationTest.java | 35 +++++++++++ .../axis/model/wsdd/languageSpecificType.wsdd | 8 +++ 4 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDExtendedMetaData.java create mode 100644 axis-model/src/test/java/org/apache/axis/model/wsdd/DeprecationTest.java create mode 100644 axis-model/src/test/resources/org/apache/axis/model/wsdd/languageSpecificType.wsdd diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDExtendedMetaData.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDExtendedMetaData.java new file mode 100644 index 000000000..1f5f4726e --- /dev/null +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDExtendedMetaData.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.model.wsdd; + +import org.apache.axis.model.wsdd.impl.WSDDPackageImpl; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.util.BasicExtendedMetaData; + +final class WSDDExtendedMetaData extends BasicExtendedMetaData { + private static final EClass mapping = WSDDPackageImpl.eINSTANCE.getMapping(); + + public EStructuralFeature getAttribute(EClass eClass, String namespace, String name) { + if (mapping.isSuperTypeOf(eClass) && namespace == null && name.equals("languageSpecificType")) { + // TODO: emit warning + return mapping.getEStructuralFeature(WSDDPackageImpl.MAPPING__TYPE); + } else { + return super.getAttribute(eClass, namespace, name); + } + } +} diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDUtil.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDUtil.java index 47e5e6f8f..86d71e57c 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDUtil.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDUtil.java @@ -19,31 +19,85 @@ package org.apache.axis.model.wsdd; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import java.io.Writer; +import java.net.URL; +import java.util.Enumeration; import java.util.HashMap; import java.util.Map; +import org.apache.axis.components.logger.LogFactory; +import org.apache.axis.configuration.DefaultConfiguration; import org.apache.axis.model.util.AxisXMLResource; import org.apache.axis.model.wsdd.impl.WSDDPackageImpl; -import org.eclipse.emf.ecore.util.ExtendedMetaData; +import org.apache.commons.logging.Log; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.emf.ecore.xmi.util.XMLProcessor; import org.xml.sax.InputSource; public final class WSDDUtil { + private static final Log log = LogFactory.getLog(WSDDUtil.class.getName()); + private WSDDUtil() {} public static Deployment load(InputSource is) throws IOException { WSDDPackageImpl.eINSTANCE.eClass(); AxisXMLResource resource = new AxisXMLResource(); Map options = new HashMap(); - options.put(XMLResource.OPTION_EXTENDED_META_DATA, ExtendedMetaData.INSTANCE); + options.put(XMLResource.OPTION_EXTENDED_META_DATA, new WSDDExtendedMetaData()); options.put(AxisXMLResource.OPTION_IGNORE_NAMESPACE_FOR_UNQUALIFIED_QNAME, WSDDPackageImpl.eNS_URI); resource.load(is, options); return (Deployment)resource.getContents().get(0); } + /** + * Load the default Axis configuration. This method implements the same algorithm as + * {@link DefaultConfiguration}. + * + * @param cl + * the class loader to load the configuration from + * @param type + * the type of configuration (client or server) + * @return the default configuration + * @throws IOException + */ + public static Deployment buildDefaultConfiguration(ClassLoader cl, String type) throws IOException { + // Load the base configuration + String resourceName = "org/apache/axis/" + type + "/" + type + "-config.wsdd"; + InputStream in = cl.getResourceAsStream(resourceName); + if (in == null) { + throw new IOException("Resource " + resourceName + " not found"); + } + if (log.isDebugEnabled()) { + log.debug("Loading resource " + resourceName); + } + Deployment deployment; + try { + deployment = WSDDUtil.load(new InputSource(in)); + } finally { + in.close(); + } + + // Discover and load additional default configuration fragments + resourceName = "META-INF/axis/default-" + type + "-config.wsdd"; + Enumeration resources = cl.getResources(resourceName); + while (resources.hasMoreElements()) { + URL url = (URL)resources.nextElement(); + if (log.isDebugEnabled()) { + log.debug("Loading " + url); + } + in = url.openStream(); + try { + deployment.merge(WSDDUtil.load(new InputSource(in))); + } finally { + in.close(); + } + } + + return deployment; + } + public static void save(Deployment deployment, OutputStream out) throws IOException { AxisXMLResource resource = new AxisXMLResource(); XMLProcessor processor = new XMLProcessor(); diff --git a/axis-model/src/test/java/org/apache/axis/model/wsdd/DeprecationTest.java b/axis-model/src/test/java/org/apache/axis/model/wsdd/DeprecationTest.java new file mode 100644 index 000000000..cd805b4c4 --- /dev/null +++ b/axis-model/src/test/java/org/apache/axis/model/wsdd/DeprecationTest.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.model.wsdd; + +import javax.xml.namespace.QName; + +import junit.framework.TestCase; + +import org.apache.axis.deployment.wsdd.WSDDConstants; +import org.xml.sax.InputSource; + +public class DeprecationTest extends TestCase { + public void testLanguageSpecificType() throws Exception { + Deployment deployment = WSDDUtil.load(new InputSource(DeprecationTest.class.getResource("languageSpecificType.wsdd").toString())); + Service service = (Service)deployment.getServices().get(0); + BeanMapping beanMapping = (BeanMapping)service.getBeanMappings().get(0); + assertEquals(new QName(WSDDConstants.URI_WSDD_JAVA, "test.rpc.Bean"), beanMapping.getType()); + } +} diff --git a/axis-model/src/test/resources/org/apache/axis/model/wsdd/languageSpecificType.wsdd b/axis-model/src/test/resources/org/apache/axis/model/wsdd/languageSpecificType.wsdd new file mode 100644 index 000000000..13fcaf49f --- /dev/null +++ b/axis-model/src/test/resources/org/apache/axis/model/wsdd/languageSpecificType.wsdd @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From c8c4a20860f206d3be4e9883d1cd245d795d6bff Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 18:17:44 +0000 Subject: [PATCH 010/133] Added support for globally defined type mappings. --- axis-model/model/wsdd.ecore | 54 +-- .../apache/axis/model/wsdd/Deployment.java | 2 +- .../axis/model/wsdd/MappingContainer.java | 77 ++++ .../org/apache/axis/model/wsdd/Service.java | 53 +-- .../apache/axis/model/wsdd/WSDDFactory.java | 9 + .../axis/model/wsdd/impl/DeploymentImpl.java | 4 +- .../model/wsdd/impl/MappingContainerImpl.java | 223 +++++++++++ .../axis/model/wsdd/impl/ServiceImpl.java | 171 +++++---- .../axis/model/wsdd/impl/WSDDFactoryImpl.java | 11 + .../axis/model/wsdd/impl/WSDDPackageImpl.java | 363 ++++++++++++------ axis-model/src/test/wsdd/bidbuy.wsdd | 23 ++ 11 files changed, 713 insertions(+), 277 deletions(-) create mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java create mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java create mode 100644 axis-model/src/test/wsdd/bidbuy.wsdd diff --git a/axis-model/model/wsdd.ecore b/axis-model/model/wsdd.ecore index b45cc822f..42df32adb 100644 --- a/axis-model/model/wsdd.ecore +++ b/axis-model/model/wsdd.ecore @@ -25,6 +25,32 @@ + + + +
+
+
+ + + + +
+
+
+ + + + +
+
+
+ + + @@ -118,7 +144,7 @@ - + @@ -139,32 +165,8 @@
- - -
-
-
- - - - -
-
-
- - - - -
-
-
- - - +
diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java index 827362b8a..3efe9fb8d 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java @@ -27,7 +27,7 @@ * @model extendedMetaData="name='deployment' kind='element'" * @generated */ -public interface Deployment { +public interface Deployment extends MappingContainer { /** * Returns the value of the 'Name' attribute. * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java new file mode 100644 index 000000000..93f83221e --- /dev/null +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java @@ -0,0 +1,77 @@ +/** + * + * + * + * $Id$ + */ +package org.apache.axis.model.wsdd; + +import java.util.List; + +/** + * + * A representation of the model object 'Mapping Container'. + * + * + *

+ * The following features are supported: + *

    + *
  • {@link org.apache.axis.model.wsdd.MappingContainer#getTypeMappings Type Mappings}
  • + *
  • {@link org.apache.axis.model.wsdd.MappingContainer#getBeanMappings Bean Mappings}
  • + *
  • {@link org.apache.axis.model.wsdd.MappingContainer#getArrayMappings Array Mappings}
  • + *
+ *

+ * + * @model + * @generated + */ +public interface MappingContainer { + /** + * Returns the value of the 'Type Mappings' containment reference list. + * The list contents are of type {@link org.apache.axis.model.wsdd.TypeMapping}. + * + *

+ * If the meaning of the 'Type Mappings' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type Mappings' containment reference list. + * @model type="org.apache.axis.model.wsdd.TypeMapping" containment="true" + * extendedMetaData="kind='element' name='typeMapping' namespace='##targetNamespace'" + * @generated + */ + List getTypeMappings(); + + /** + * Returns the value of the 'Bean Mappings' containment reference list. + * The list contents are of type {@link org.apache.axis.model.wsdd.BeanMapping}. + * + *

+ * If the meaning of the 'Bean Mappings' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Bean Mappings' containment reference list. + * @model type="org.apache.axis.model.wsdd.BeanMapping" containment="true" + * extendedMetaData="kind='element' name='beanMapping' namespace='##targetNamespace'" + * @generated + */ + List getBeanMappings(); + + /** + * Returns the value of the 'Array Mappings' containment reference list. + * The list contents are of type {@link org.apache.axis.model.wsdd.ArrayMapping}. + * + *

+ * If the meaning of the 'Array Mappings' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Array Mappings' containment reference list. + * @model type="org.apache.axis.model.wsdd.ArrayMapping" containment="true" + * extendedMetaData="kind='element' name='arrayMapping' namespace='##targetNamespace'" + * @generated + */ + List getArrayMappings(); + +} // MappingContainer diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java index e15265256..3146ae25c 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java @@ -25,16 +25,13 @@ *
  • {@link org.apache.axis.model.wsdd.Service#getStyle Style}
  • *
  • {@link org.apache.axis.model.wsdd.Service#getNamespaces Namespaces}
  • *
  • {@link org.apache.axis.model.wsdd.Service#getOperations Operations}
  • - *
  • {@link org.apache.axis.model.wsdd.Service#getTypeMappings Type Mappings}
  • - *
  • {@link org.apache.axis.model.wsdd.Service#getBeanMappings Bean Mappings}
  • - *
  • {@link org.apache.axis.model.wsdd.Service#getArrayMappings Array Mappings}
  • * *

    * * @model * @generated */ -public interface Service extends DeployableItem { +public interface Service extends DeployableItem, MappingContainer { /** * Returns the value of the 'Name' attribute. * @@ -166,52 +163,4 @@ public interface Service extends DeployableItem { */ List getOperations(); - /** - * Returns the value of the 'Type Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.TypeMapping}. - * - *

    - * If the meaning of the 'Type Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.TypeMapping" containment="true" - * extendedMetaData="kind='element' name='typeMapping' namespace='##targetNamespace'" - * @generated - */ - List getTypeMappings(); - - /** - * Returns the value of the 'Bean Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.BeanMapping}. - * - *

    - * If the meaning of the 'Bean Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Bean Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.BeanMapping" containment="true" - * extendedMetaData="kind='element' name='beanMapping' namespace='##targetNamespace'" - * @generated - */ - List getBeanMappings(); - - /** - * Returns the value of the 'Array Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.ArrayMapping}. - * - *

    - * If the meaning of the 'Array Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Array Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.ArrayMapping" containment="true" - * extendedMetaData="kind='element' name='arrayMapping' namespace='##targetNamespace'" - * @generated - */ - List getArrayMappings(); - } // Service diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java index aea67e665..466fb79a0 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java @@ -66,6 +66,15 @@ public interface WSDDFactory { */ BeanMapping createBeanMapping(); + /** + * Returns a new object of class 'Mapping Container'. + * + * + * @return a new object of class 'Mapping Container'. + * @generated + */ + MappingContainer createMappingContainer(); + /** * Returns a new object of class 'Operation Parameter'. * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java index 6f6452a19..aa4fae9d9 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java @@ -22,8 +22,6 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; -import org.eclipse.emf.ecore.impl.EObjectImpl; - import org.eclipse.emf.ecore.util.BasicInternalEList; import org.eclipse.emf.ecore.util.InternalEList; @@ -44,7 +42,7 @@ * * @generated */ -public class DeploymentImpl extends EObjectImpl implements Deployment { +public class DeploymentImpl extends MappingContainerImpl implements Deployment { /** * The default value of the '{@link #getName() Name}' attribute. * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java new file mode 100644 index 000000000..ec705b905 --- /dev/null +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java @@ -0,0 +1,223 @@ +/** + * + * + * + * $Id$ + */ +package org.apache.axis.model.wsdd.impl; + +import java.util.Collection; +import java.util.List; + +import org.apache.axis.model.wsdd.ArrayMapping; +import org.apache.axis.model.wsdd.BeanMapping; +import org.apache.axis.model.wsdd.MappingContainer; +import org.apache.axis.model.wsdd.TypeMapping; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.EObjectImpl; + +import org.eclipse.emf.ecore.util.BasicInternalEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Mapping Container'. + * + *

    + * The following features are implemented: + *

      + *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getTypeMappings Type Mappings}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getBeanMappings Bean Mappings}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getArrayMappings Array Mappings}
    • + *
    + *

    + * + * @generated + */ +public class MappingContainerImpl extends EObjectImpl implements MappingContainer { + /** + * The cached value of the '{@link #getTypeMappings() Type Mappings}' containment reference list. + * + * + * @see #getTypeMappings() + * @generated + * @ordered + */ + protected EList typeMappings; + + /** + * The cached value of the '{@link #getBeanMappings() Bean Mappings}' containment reference list. + * + * + * @see #getBeanMappings() + * @generated + * @ordered + */ + protected EList beanMappings; + + /** + * The cached value of the '{@link #getArrayMappings() Array Mappings}' containment reference list. + * + * + * @see #getArrayMappings() + * @generated + * @ordered + */ + protected EList arrayMappings; + + /** + * + * + * @generated + */ + protected MappingContainerImpl() { + super(); + } + + /** + * + * + * @generated + */ + protected EClass eStaticClass() { + return WSDDPackageImpl.Literals.MAPPING_CONTAINER; + } + + /** + * + * + * @generated + */ + public List getTypeMappings() { + if (typeMappings == null) { + typeMappings = new BasicInternalEList(TypeMapping.class); + } + return typeMappings; + } + + /** + * + * + * @generated + */ + public List getBeanMappings() { + if (beanMappings == null) { + beanMappings = new BasicInternalEList(BeanMapping.class); + } + return beanMappings; + } + + /** + * + * + * @generated + */ + public List getArrayMappings() { + if (arrayMappings == null) { + arrayMappings = new BasicInternalEList(ArrayMapping.class); + } + return arrayMappings; + } + + /** + * + * + * @generated + */ + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: + return ((InternalEList)getTypeMappings()).basicRemove(otherEnd, msgs); + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: + return ((InternalEList)getBeanMappings()).basicRemove(otherEnd, msgs); + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: + return ((InternalEList)getArrayMappings()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: + return getTypeMappings(); + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: + return getBeanMappings(); + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: + return getArrayMappings(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: + getTypeMappings().clear(); + getTypeMappings().addAll((Collection)newValue); + return; + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: + getBeanMappings().clear(); + getBeanMappings().addAll((Collection)newValue); + return; + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: + getArrayMappings().clear(); + getArrayMappings().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + public void eUnset(int featureID) { + switch (featureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: + getTypeMappings().clear(); + return; + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: + getBeanMappings().clear(); + return; + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: + getArrayMappings().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + public boolean eIsSet(int featureID) { + switch (featureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: + return typeMappings != null && !typeMappings.isEmpty(); + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: + return beanMappings != null && !beanMappings.isEmpty(); + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: + return arrayMappings != null && !arrayMappings.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //MappingContainerImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java index 6218a74a0..b9e2c8506 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java @@ -14,6 +14,7 @@ import org.apache.axis.constants.Use; import org.apache.axis.model.wsdd.ArrayMapping; import org.apache.axis.model.wsdd.BeanMapping; +import org.apache.axis.model.wsdd.MappingContainer; import org.apache.axis.model.wsdd.Operation; import org.apache.axis.model.wsdd.Service; import org.apache.axis.model.wsdd.TypeMapping; @@ -35,21 +36,51 @@ *

    * The following features are implemented: *

      + *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getTypeMappings Type Mappings}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getBeanMappings Bean Mappings}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getArrayMappings Array Mappings}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getName Name}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getProvider Provider}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getUse Use}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getStyle Style}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getNamespaces Namespaces}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getOperations Operations}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getTypeMappings Type Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getBeanMappings Bean Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getArrayMappings Array Mappings}
    • *
    *

    * * @generated */ public class ServiceImpl extends DeployableItemImpl implements Service { + /** + * The cached value of the '{@link #getTypeMappings() Type Mappings}' containment reference list. + * + * + * @see #getTypeMappings() + * @generated + * @ordered + */ + protected EList typeMappings; + + /** + * The cached value of the '{@link #getBeanMappings() Bean Mappings}' containment reference list. + * + * + * @see #getBeanMappings() + * @generated + * @ordered + */ + protected EList beanMappings; + + /** + * The cached value of the '{@link #getArrayMappings() Array Mappings}' containment reference list. + * + * + * @see #getArrayMappings() + * @generated + * @ordered + */ + protected EList arrayMappings; + /** * The default value of the '{@link #getName() Name}' attribute. * @@ -150,36 +181,6 @@ public class ServiceImpl extends DeployableItemImpl implements Service { */ protected EList operations; - /** - * The cached value of the '{@link #getTypeMappings() Type Mappings}' containment reference list. - * - * - * @see #getTypeMappings() - * @generated - * @ordered - */ - protected EList typeMappings; - - /** - * The cached value of the '{@link #getBeanMappings() Bean Mappings}' containment reference list. - * - * - * @see #getBeanMappings() - * @generated - * @ordered - */ - protected EList beanMappings; - - /** - * The cached value of the '{@link #getArrayMappings() Array Mappings}' containment reference list. - * - * - * @see #getArrayMappings() - * @generated - * @ordered - */ - protected EList arrayMappings; - /** * * @@ -337,14 +338,14 @@ public List getArrayMappings() { */ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { - case WSDDPackageImpl.SERVICE__OPERATIONS: - return ((InternalEList)getOperations()).basicRemove(otherEnd, msgs); case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: return ((InternalEList)getTypeMappings()).basicRemove(otherEnd, msgs); case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: return ((InternalEList)getBeanMappings()).basicRemove(otherEnd, msgs); case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: return ((InternalEList)getArrayMappings()).basicRemove(otherEnd, msgs); + case WSDDPackageImpl.SERVICE__OPERATIONS: + return ((InternalEList)getOperations()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -356,6 +357,12 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, */ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { + case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: + return getTypeMappings(); + case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: + return getBeanMappings(); + case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: + return getArrayMappings(); case WSDDPackageImpl.SERVICE__NAME: return getName(); case WSDDPackageImpl.SERVICE__PROVIDER: @@ -368,12 +375,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { return getNamespaces(); case WSDDPackageImpl.SERVICE__OPERATIONS: return getOperations(); - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - return getTypeMappings(); - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - return getBeanMappings(); - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - return getArrayMappings(); } return super.eGet(featureID, resolve, coreType); } @@ -385,6 +386,18 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { */ public void eSet(int featureID, Object newValue) { switch (featureID) { + case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: + getTypeMappings().clear(); + getTypeMappings().addAll((Collection)newValue); + return; + case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: + getBeanMappings().clear(); + getBeanMappings().addAll((Collection)newValue); + return; + case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: + getArrayMappings().clear(); + getArrayMappings().addAll((Collection)newValue); + return; case WSDDPackageImpl.SERVICE__NAME: setName((String)newValue); return; @@ -405,18 +418,6 @@ public void eSet(int featureID, Object newValue) { getOperations().clear(); getOperations().addAll((Collection)newValue); return; - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - getTypeMappings().clear(); - getTypeMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - getBeanMappings().clear(); - getBeanMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - getArrayMappings().clear(); - getArrayMappings().addAll((Collection)newValue); - return; } super.eSet(featureID, newValue); } @@ -428,6 +429,15 @@ public void eSet(int featureID, Object newValue) { */ public void eUnset(int featureID) { switch (featureID) { + case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: + getTypeMappings().clear(); + return; + case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: + getBeanMappings().clear(); + return; + case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: + getArrayMappings().clear(); + return; case WSDDPackageImpl.SERVICE__NAME: setName(NAME_EDEFAULT); return; @@ -446,15 +456,6 @@ public void eUnset(int featureID) { case WSDDPackageImpl.SERVICE__OPERATIONS: getOperations().clear(); return; - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - getTypeMappings().clear(); - return; - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - getBeanMappings().clear(); - return; - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - getArrayMappings().clear(); - return; } super.eUnset(featureID); } @@ -466,6 +467,12 @@ public void eUnset(int featureID) { */ public boolean eIsSet(int featureID) { switch (featureID) { + case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: + return typeMappings != null && !typeMappings.isEmpty(); + case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: + return beanMappings != null && !beanMappings.isEmpty(); + case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: + return arrayMappings != null && !arrayMappings.isEmpty(); case WSDDPackageImpl.SERVICE__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case WSDDPackageImpl.SERVICE__PROVIDER: @@ -478,16 +485,44 @@ public boolean eIsSet(int featureID) { return namespaces != null && !namespaces.isEmpty(); case WSDDPackageImpl.SERVICE__OPERATIONS: return operations != null && !operations.isEmpty(); - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - return typeMappings != null && !typeMappings.isEmpty(); - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - return beanMappings != null && !beanMappings.isEmpty(); - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - return arrayMappings != null && !arrayMappings.isEmpty(); } return super.eIsSet(featureID); } + /** + * + * + * @generated + */ + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { + if (baseClass == MappingContainer.class) { + switch (derivedFeatureID) { + case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS; + case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS; + case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { + if (baseClass == MappingContainer.class) { + switch (baseFeatureID) { + case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: return WSDDPackageImpl.SERVICE__TYPE_MAPPINGS; + case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: return WSDDPackageImpl.SERVICE__BEAN_MAPPINGS; + case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: return WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + /** * * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java index 78acc4eaf..41abfb8ab 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java @@ -72,6 +72,7 @@ public EObject create(EClass eClass) { case WSDDPackageImpl.TYPE_MAPPING: return (EObject)createTypeMapping(); case WSDDPackageImpl.ARRAY_MAPPING: return (EObject)createArrayMapping(); case WSDDPackageImpl.BEAN_MAPPING: return (EObject)createBeanMapping(); + case WSDDPackageImpl.MAPPING_CONTAINER: return (EObject)createMappingContainer(); case WSDDPackageImpl.OPERATION_PARAMETER: return (EObject)createOperationParameter(); case WSDDPackageImpl.FAULT: return (EObject)createFault(); case WSDDPackageImpl.OPERATION: return (EObject)createOperation(); @@ -165,6 +166,16 @@ public BeanMapping createBeanMapping() { return beanMapping; } + /** + * + * + * @generated + */ + public MappingContainer createMappingContainer() { + MappingContainerImpl mappingContainer = new MappingContainerImpl(); + return mappingContainer; + } + /** * * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java index 7a0ff58dc..cd0d72528 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java @@ -16,6 +16,7 @@ import org.apache.axis.model.wsdd.GlobalConfiguration; import org.apache.axis.model.wsdd.Handler; import org.apache.axis.model.wsdd.Mapping; +import org.apache.axis.model.wsdd.MappingContainer; import org.apache.axis.model.wsdd.Operation; import org.apache.axis.model.wsdd.OperationParameter; import org.apache.axis.model.wsdd.Parameter; @@ -123,7 +124,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFlow() * @generated */ - public static final int FLOW = 10; + public static final int FLOW = 11; /** * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl Mapping}' class. @@ -336,6 +337,52 @@ public class WSDDPackageImpl extends EPackageImpl { */ public static final int BEAN_MAPPING_FEATURE_COUNT = MAPPING_FEATURE_COUNT + 0; + /** + * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl Mapping Container}' class. + * + * + * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl + * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer() + * @generated + */ + public static final int MAPPING_CONTAINER = 5; + + /** + * The feature id for the 'Type Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int MAPPING_CONTAINER__TYPE_MAPPINGS = 0; + + /** + * The feature id for the 'Bean Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int MAPPING_CONTAINER__BEAN_MAPPINGS = 1; + + /** + * The feature id for the 'Array Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int MAPPING_CONTAINER__ARRAY_MAPPINGS = 2; + + /** + * The number of structural features of the 'Mapping Container' class. + * + * + * @generated + * @ordered + */ + public static final int MAPPING_CONTAINER_FEATURE_COUNT = 3; + /** * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl Operation Parameter}' class. * @@ -344,7 +391,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperationParameter() * @generated */ - public static final int OPERATION_PARAMETER = 5; + public static final int OPERATION_PARAMETER = 6; /** * The feature id for the 'Name' attribute. @@ -426,7 +473,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFault() * @generated */ - public static final int FAULT = 6; + public static final int FAULT = 7; /** * The feature id for the 'Name' attribute. @@ -481,7 +528,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperation() * @generated */ - public static final int OPERATION = 7; + public static final int OPERATION = 8; /** * The feature id for the 'Name' attribute. @@ -599,7 +646,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterizable() * @generated */ - public static final int PARAMETERIZABLE = 8; + public static final int PARAMETERIZABLE = 9; /** * The feature id for the 'Parameters' containment reference list. @@ -627,7 +674,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getHandler() * @generated */ - public static final int HANDLER = 9; + public static final int HANDLER = 10; /** * The feature id for the 'Parameters' containment reference list. @@ -691,7 +738,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployableItem() * @generated */ - public static final int DEPLOYABLE_ITEM = 11; + public static final int DEPLOYABLE_ITEM = 12; /** * The feature id for the 'Parameters' containment reference list. @@ -737,7 +784,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getGlobalConfiguration() * @generated */ - public static final int GLOBAL_CONFIGURATION = 12; + public static final int GLOBAL_CONFIGURATION = 13; /** * The feature id for the 'Parameters' containment reference list. @@ -783,7 +830,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTransport() * @generated */ - public static final int TRANSPORT = 13; + public static final int TRANSPORT = 14; /** * The feature id for the 'Parameters' containment reference list. @@ -847,7 +894,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getService() * @generated */ - public static final int SERVICE = 14; + public static final int SERVICE = 15; /** * The feature id for the 'Parameters' containment reference list. @@ -877,85 +924,85 @@ public class WSDDPackageImpl extends EPackageImpl { public static final int SERVICE__RESPONSE_FLOW = DEPLOYABLE_ITEM__RESPONSE_FLOW; /** - * The feature id for the 'Name' attribute. + * The feature id for the 'Type Mappings' containment reference list. * * * @generated * @ordered */ - public static final int SERVICE__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 0; + public static final int SERVICE__TYPE_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 0; /** - * The feature id for the 'Provider' attribute. + * The feature id for the 'Bean Mappings' containment reference list. * * * @generated * @ordered */ - public static final int SERVICE__PROVIDER = DEPLOYABLE_ITEM_FEATURE_COUNT + 1; + public static final int SERVICE__BEAN_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 1; /** - * The feature id for the 'Use' attribute. + * The feature id for the 'Array Mappings' containment reference list. * * * @generated * @ordered */ - public static final int SERVICE__USE = DEPLOYABLE_ITEM_FEATURE_COUNT + 2; + public static final int SERVICE__ARRAY_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 2; /** - * The feature id for the 'Style' attribute. + * The feature id for the 'Name' attribute. * * * @generated * @ordered */ - public static final int SERVICE__STYLE = DEPLOYABLE_ITEM_FEATURE_COUNT + 3; + public static final int SERVICE__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 3; /** - * The feature id for the 'Namespaces' attribute list. + * The feature id for the 'Provider' attribute. * * * @generated * @ordered */ - public static final int SERVICE__NAMESPACES = DEPLOYABLE_ITEM_FEATURE_COUNT + 4; + public static final int SERVICE__PROVIDER = DEPLOYABLE_ITEM_FEATURE_COUNT + 4; /** - * The feature id for the 'Operations' containment reference list. + * The feature id for the 'Use' attribute. * * * @generated * @ordered */ - public static final int SERVICE__OPERATIONS = DEPLOYABLE_ITEM_FEATURE_COUNT + 5; + public static final int SERVICE__USE = DEPLOYABLE_ITEM_FEATURE_COUNT + 5; /** - * The feature id for the 'Type Mappings' containment reference list. + * The feature id for the 'Style' attribute. * * * @generated * @ordered */ - public static final int SERVICE__TYPE_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 6; + public static final int SERVICE__STYLE = DEPLOYABLE_ITEM_FEATURE_COUNT + 6; /** - * The feature id for the 'Bean Mappings' containment reference list. + * The feature id for the 'Namespaces' attribute list. * * * @generated * @ordered */ - public static final int SERVICE__BEAN_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 7; + public static final int SERVICE__NAMESPACES = DEPLOYABLE_ITEM_FEATURE_COUNT + 7; /** - * The feature id for the 'Array Mappings' containment reference list. + * The feature id for the 'Operations' containment reference list. * * * @generated * @ordered */ - public static final int SERVICE__ARRAY_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 8; + public static final int SERVICE__OPERATIONS = DEPLOYABLE_ITEM_FEATURE_COUNT + 8; /** * The number of structural features of the 'Service' class. @@ -974,7 +1021,34 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployment() * @generated */ - public static final int DEPLOYMENT = 15; + public static final int DEPLOYMENT = 16; + + /** + * The feature id for the 'Type Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int DEPLOYMENT__TYPE_MAPPINGS = MAPPING_CONTAINER__TYPE_MAPPINGS; + + /** + * The feature id for the 'Bean Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int DEPLOYMENT__BEAN_MAPPINGS = MAPPING_CONTAINER__BEAN_MAPPINGS; + + /** + * The feature id for the 'Array Mappings' containment reference list. + * + * + * @generated + * @ordered + */ + public static final int DEPLOYMENT__ARRAY_MAPPINGS = MAPPING_CONTAINER__ARRAY_MAPPINGS; /** * The feature id for the 'Name' attribute. @@ -983,7 +1057,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT__NAME = 0; + public static final int DEPLOYMENT__NAME = MAPPING_CONTAINER_FEATURE_COUNT + 0; /** * The feature id for the 'Global Configuration' containment reference. @@ -992,7 +1066,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT__GLOBAL_CONFIGURATION = 1; + public static final int DEPLOYMENT__GLOBAL_CONFIGURATION = MAPPING_CONTAINER_FEATURE_COUNT + 1; /** * The feature id for the 'Handlers' containment reference list. @@ -1001,7 +1075,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT__HANDLERS = 2; + public static final int DEPLOYMENT__HANDLERS = MAPPING_CONTAINER_FEATURE_COUNT + 2; /** * The feature id for the 'Transports' containment reference list. @@ -1010,7 +1084,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT__TRANSPORTS = 3; + public static final int DEPLOYMENT__TRANSPORTS = MAPPING_CONTAINER_FEATURE_COUNT + 3; /** * The feature id for the 'Services' containment reference list. @@ -1019,7 +1093,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT__SERVICES = 4; + public static final int DEPLOYMENT__SERVICES = MAPPING_CONTAINER_FEATURE_COUNT + 4; /** * The number of structural features of the 'Deployment' class. @@ -1028,7 +1102,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int DEPLOYMENT_FEATURE_COUNT = 5; + public static final int DEPLOYMENT_FEATURE_COUNT = MAPPING_CONTAINER_FEATURE_COUNT + 5; /** * The meta object id for the '{@link org.apache.axis.model.wsdd.ParameterMode Parameter Mode}' enum. @@ -1038,7 +1112,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterMode() * @generated */ - public static final int PARAMETER_MODE = 16; + public static final int PARAMETER_MODE = 17; /** * @@ -1082,6 +1156,13 @@ public class WSDDPackageImpl extends EPackageImpl { */ private EClass beanMappingEClass = null; + /** + * + * + * @generated + */ + private EClass mappingContainerEClass = null; + /** * * @@ -1417,6 +1498,57 @@ public EClass getBeanMapping() { return beanMappingEClass; } + /** + * Returns the meta object for class '{@link org.apache.axis.model.wsdd.MappingContainer Mapping Container}'. + * + * + * @return the meta object for class 'Mapping Container'. + * @see org.apache.axis.model.wsdd.MappingContainer + * @generated + */ + public EClass getMappingContainer() { + return mappingContainerEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getTypeMappings Type Mappings}'. + * + * + * @return the meta object for the containment reference list 'Type Mappings'. + * @see org.apache.axis.model.wsdd.MappingContainer#getTypeMappings() + * @see #getMappingContainer() + * @generated + */ + public EReference getMappingContainer_TypeMappings() { + return (EReference)mappingContainerEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getBeanMappings Bean Mappings}'. + * + * + * @return the meta object for the containment reference list 'Bean Mappings'. + * @see org.apache.axis.model.wsdd.MappingContainer#getBeanMappings() + * @see #getMappingContainer() + * @generated + */ + public EReference getMappingContainer_BeanMappings() { + return (EReference)mappingContainerEClass.getEStructuralFeatures().get(1); + } + + /** + * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getArrayMappings Array Mappings}'. + * + * + * @return the meta object for the containment reference list 'Array Mappings'. + * @see org.apache.axis.model.wsdd.MappingContainer#getArrayMappings() + * @see #getMappingContainer() + * @generated + */ + public EReference getMappingContainer_ArrayMappings() { + return (EReference)mappingContainerEClass.getEStructuralFeatures().get(2); + } + /** * Returns the meta object for class '{@link org.apache.axis.model.wsdd.OperationParameter Operation Parameter}'. * @@ -1980,45 +2112,6 @@ public EReference getService_Operations() { return (EReference)serviceEClass.getEStructuralFeatures().get(5); } - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getTypeMappings Type Mappings}'. - * - * - * @return the meta object for the containment reference list 'Type Mappings'. - * @see org.apache.axis.model.wsdd.Service#getTypeMappings() - * @see #getService() - * @generated - */ - public EReference getService_TypeMappings() { - return (EReference)serviceEClass.getEStructuralFeatures().get(6); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getBeanMappings Bean Mappings}'. - * - * - * @return the meta object for the containment reference list 'Bean Mappings'. - * @see org.apache.axis.model.wsdd.Service#getBeanMappings() - * @see #getService() - * @generated - */ - public EReference getService_BeanMappings() { - return (EReference)serviceEClass.getEStructuralFeatures().get(7); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getArrayMappings Array Mappings}'. - * - * - * @return the meta object for the containment reference list 'Array Mappings'. - * @see org.apache.axis.model.wsdd.Service#getArrayMappings() - * @see #getService() - * @generated - */ - public EReference getService_ArrayMappings() { - return (EReference)serviceEClass.getEStructuralFeatures().get(8); - } - /** * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Deployment Deployment}'. * @@ -2156,6 +2249,11 @@ public void createPackageContents() { beanMappingEClass = createEClass(BEAN_MAPPING); + mappingContainerEClass = createEClass(MAPPING_CONTAINER); + createEReference(mappingContainerEClass, MAPPING_CONTAINER__TYPE_MAPPINGS); + createEReference(mappingContainerEClass, MAPPING_CONTAINER__BEAN_MAPPINGS); + createEReference(mappingContainerEClass, MAPPING_CONTAINER__ARRAY_MAPPINGS); + operationParameterEClass = createEClass(OPERATION_PARAMETER); createEAttribute(operationParameterEClass, OPERATION_PARAMETER__NAME); createEAttribute(operationParameterEClass, OPERATION_PARAMETER__QNAME); @@ -2211,9 +2309,6 @@ public void createPackageContents() { createEAttribute(serviceEClass, SERVICE__STYLE); createEAttribute(serviceEClass, SERVICE__NAMESPACES); createEReference(serviceEClass, SERVICE__OPERATIONS); - createEReference(serviceEClass, SERVICE__TYPE_MAPPINGS); - createEReference(serviceEClass, SERVICE__BEAN_MAPPINGS); - createEReference(serviceEClass, SERVICE__ARRAY_MAPPINGS); deploymentEClass = createEClass(DEPLOYMENT); createEAttribute(deploymentEClass, DEPLOYMENT__NAME); @@ -2262,6 +2357,8 @@ public void initializePackageContents() { globalConfigurationEClass.getESuperTypes().add(this.getDeployableItem()); transportEClass.getESuperTypes().add(this.getDeployableItem()); serviceEClass.getESuperTypes().add(this.getDeployableItem()); + serviceEClass.getESuperTypes().add(this.getMappingContainer()); + deploymentEClass.getESuperTypes().add(this.getMappingContainer()); // Initialize classes and features; add operations and parameters initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -2282,6 +2379,11 @@ public void initializePackageContents() { initEClass(beanMappingEClass, BeanMapping.class, "BeanMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEClass(mappingContainerEClass, MappingContainer.class, "MappingContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getMappingContainer_TypeMappings(), this.getTypeMapping(), null, "typeMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingContainer_BeanMappings(), this.getBeanMapping(), null, "beanMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingContainer_ArrayMappings(), this.getArrayMapping(), null, "arrayMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(operationParameterEClass, OperationParameter.class, "OperationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getOperationParameter_Name(), ecorePackage.getEString(), "name", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getOperationParameter_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2341,9 +2443,6 @@ public void initializePackageContents() { initEAttribute(getService_Style(), theSOAPPackage.getStyle(), "style", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getService_Namespaces(), ecorePackage.getEString(), "namespaces", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getService_Operations(), this.getOperation(), null, "operations", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getService_TypeMappings(), this.getTypeMapping(), null, "typeMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getService_BeanMappings(), this.getBeanMapping(), null, "beanMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getService_ArrayMappings(), this.getArrayMapping(), null, "arrayMappings", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(deploymentEClass, Deployment.class, "Deployment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDeployment_Name(), ecorePackage.getEString(), "name", null, 0, 1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -2378,91 +2477,91 @@ public void initializePackageContents() { protected void createExtendedMetaDataAnnotations() { String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; addAnnotation - (getOperation_Parameters(), + (getMappingContainer_TypeMappings(), source, new String[] { "kind", "element", - "name", "parameter", + "name", "typeMapping", "namespace", "##targetNamespace" }); addAnnotation - (getOperation_Faults(), + (getMappingContainer_BeanMappings(), source, new String[] { "kind", "element", - "name", "fault", + "name", "beanMapping", "namespace", "##targetNamespace" }); addAnnotation - (getParameterizable_Parameters(), + (getMappingContainer_ArrayMappings(), source, new String[] { "kind", "element", - "name", "parameter", + "name", "arrayMapping", "namespace", "##targetNamespace" }); addAnnotation - (getFlow_Handlers(), + (getOperation_Parameters(), source, new String[] { - "name", "handler", "kind", "element", + "name", "parameter", "namespace", "##targetNamespace" }); addAnnotation - (getDeployableItem_RequestFlow(), + (getOperation_Faults(), source, new String[] { "kind", "element", - "name", "requestFlow", + "name", "fault", "namespace", "##targetNamespace" }); addAnnotation - (getDeployableItem_ResponseFlow(), + (getParameterizable_Parameters(), source, new String[] { "kind", "element", - "name", "responseFlow", + "name", "parameter", "namespace", "##targetNamespace" }); addAnnotation - (getService_Namespaces(), + (getFlow_Handlers(), source, new String[] { + "name", "handler", "kind", "element", - "name", "namespace", "namespace", "##targetNamespace" }); addAnnotation - (getService_Operations(), + (getDeployableItem_RequestFlow(), source, new String[] { "kind", "element", - "name", "operation", + "name", "requestFlow", "namespace", "##targetNamespace" }); addAnnotation - (getService_TypeMappings(), + (getDeployableItem_ResponseFlow(), source, new String[] { "kind", "element", - "name", "typeMapping", + "name", "responseFlow", "namespace", "##targetNamespace" }); addAnnotation - (getService_BeanMappings(), + (getService_Namespaces(), source, new String[] { "kind", "element", - "name", "beanMapping", + "name", "namespace", "namespace", "##targetNamespace" }); addAnnotation - (getService_ArrayMappings(), + (getService_Operations(), source, new String[] { "kind", "element", - "name", "arrayMapping", + "name", "operation", "namespace", "##targetNamespace" }); addAnnotation @@ -2651,6 +2750,40 @@ public interface Literals { */ public static final EClass BEAN_MAPPING = eINSTANCE.getBeanMapping(); + /** + * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl Mapping Container}' class. + * + * + * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl + * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer() + * @generated + */ + public static final EClass MAPPING_CONTAINER = eINSTANCE.getMappingContainer(); + + /** + * The meta object literal for the 'Type Mappings' containment reference list feature. + * + * + * @generated + */ + public static final EReference MAPPING_CONTAINER__TYPE_MAPPINGS = eINSTANCE.getMappingContainer_TypeMappings(); + + /** + * The meta object literal for the 'Bean Mappings' containment reference list feature. + * + * + * @generated + */ + public static final EReference MAPPING_CONTAINER__BEAN_MAPPINGS = eINSTANCE.getMappingContainer_BeanMappings(); + + /** + * The meta object literal for the 'Array Mappings' containment reference list feature. + * + * + * @generated + */ + public static final EReference MAPPING_CONTAINER__ARRAY_MAPPINGS = eINSTANCE.getMappingContainer_ArrayMappings(); + /** * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl Operation Parameter}' class. * @@ -3021,30 +3154,6 @@ public interface Literals { */ public static final EReference SERVICE__OPERATIONS = eINSTANCE.getService_Operations(); - /** - * The meta object literal for the 'Type Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference SERVICE__TYPE_MAPPINGS = eINSTANCE.getService_TypeMappings(); - - /** - * The meta object literal for the 'Bean Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference SERVICE__BEAN_MAPPINGS = eINSTANCE.getService_BeanMappings(); - - /** - * The meta object literal for the 'Array Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference SERVICE__ARRAY_MAPPINGS = eINSTANCE.getService_ArrayMappings(); - /** * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeploymentImpl Deployment}' class. * diff --git a/axis-model/src/test/wsdd/bidbuy.wsdd b/axis-model/src/test/wsdd/bidbuy.wsdd new file mode 100644 index 000000000..603dbc5cb --- /dev/null +++ b/axis-model/src/test/wsdd/bidbuy.wsdd @@ -0,0 +1,23 @@ + + + + + + + + + + http://www.soapinterop.org/Bid + + + + + + + + + + + + + From aea267e5cf45ab3e9a89c7dcafd62fa50261b6ac Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 18:22:15 +0000 Subject: [PATCH 011/133] Renamed Flow to Chain to match the naming used in Axis core. --- axis-model/model/wsdd.ecore | 6 +- .../axis/model/wsdd/{Flow.java => Chain.java} | 4 +- .../axis/model/wsdd/DeployableItem.java | 12 +- .../apache/axis/model/wsdd/WSDDFactory.java | 18 +-- .../impl/{FlowImpl.java => ChainImpl.java} | 20 +-- .../model/wsdd/impl/DeployableItemImpl.java | 30 ++-- .../axis/model/wsdd/impl/WSDDFactoryImpl.java | 22 +-- .../axis/model/wsdd/impl/WSDDPackageImpl.java | 142 +++++++++--------- 8 files changed, 127 insertions(+), 127 deletions(-) rename axis-model/src/main/java/org/apache/axis/model/wsdd/{Flow.java => Chain.java} (90%) rename axis-model/src/main/java/org/apache/axis/model/wsdd/impl/{FlowImpl.java => ChainImpl.java} (85%) diff --git a/axis-model/model/wsdd.ecore b/axis-model/model/wsdd.ecore index 42df32adb..172bbdebb 100644 --- a/axis-model/model/wsdd.ecore +++ b/axis-model/model/wsdd.ecore @@ -111,7 +111,7 @@ - + @@ -122,7 +122,7 @@ -
    @@ -130,7 +130,7 @@
    -
    diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Flow.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java similarity index 90% rename from axis-model/src/main/java/org/apache/axis/model/wsdd/Flow.java rename to axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java index a0f5486c8..9bb4595af 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Flow.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java @@ -17,14 +17,14 @@ *

    * The following features are supported: *

      - *
    • {@link org.apache.axis.model.wsdd.Flow#getHandlers Handlers}
    • + *
    • {@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}
    • *
    *

    * * @model * @generated */ -public interface Flow { +public interface Chain { /** * Returns the value of the 'Handlers' containment reference list. diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java index b1743edf1..9710fa3c2 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java @@ -32,12 +32,12 @@ public interface DeployableItem extends Parameterizable { *

    * * @return the value of the 'Request Flow' containment reference. - * @see #setRequestFlow(Flow) + * @see #setRequestFlow(Chain) * @model containment="true" * extendedMetaData="kind='element' name='requestFlow' namespace='##targetNamespace'" * @generated */ - Flow getRequestFlow(); + Chain getRequestFlow(); /** * Sets the value of the '{@link org.apache.axis.model.wsdd.DeployableItem#getRequestFlow Request Flow}' containment reference. @@ -47,7 +47,7 @@ public interface DeployableItem extends Parameterizable { * @see #getRequestFlow() * @generated */ - void setRequestFlow(Flow value); + void setRequestFlow(Chain value); /** * Returns the value of the 'Response Flow' containment reference. @@ -58,12 +58,12 @@ public interface DeployableItem extends Parameterizable { *

    * * @return the value of the 'Response Flow' containment reference. - * @see #setResponseFlow(Flow) + * @see #setResponseFlow(Chain) * @model containment="true" * extendedMetaData="kind='element' name='responseFlow' namespace='##targetNamespace'" * @generated */ - Flow getResponseFlow(); + Chain getResponseFlow(); /** * Sets the value of the '{@link org.apache.axis.model.wsdd.DeployableItem#getResponseFlow Response Flow}' containment reference. @@ -73,6 +73,6 @@ public interface DeployableItem extends Parameterizable { * @see #getResponseFlow() * @generated */ - void setResponseFlow(Flow value); + void setResponseFlow(Chain value); } // DeployableItem diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java index 466fb79a0..7e2c46c4c 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java @@ -30,15 +30,6 @@ public interface WSDDFactory { */ Parameter createParameter(); - /** - * Returns a new object of class 'Flow'. - * - * - * @return a new object of class 'Flow'. - * @generated - */ - Flow createFlow(); - /** * Returns a new object of class 'Type Mapping'. * @@ -120,6 +111,15 @@ public interface WSDDFactory { */ Handler createHandler(); + /** + * Returns a new object of class 'Chain'. + * + * + * @return a new object of class 'Chain'. + * @generated + */ + Chain createChain(); + /** * Returns a new object of class 'Global Configuration'. * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FlowImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java similarity index 85% rename from axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FlowImpl.java rename to axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java index d94d9135c..93b3fad1c 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FlowImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java @@ -8,7 +8,7 @@ import java.util.Collection; import java.util.List; -import org.apache.axis.model.wsdd.Flow; +import org.apache.axis.model.wsdd.Chain; import org.apache.axis.model.wsdd.Handler; import org.eclipse.emf.common.notify.NotificationChain; @@ -27,13 +27,13 @@ *

    * The following features are implemented: *

      - *
    • {@link org.apache.axis.model.wsdd.impl.FlowImpl#getHandlers Handlers}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getHandlers Handlers}
    • *
    *

    * * @generated */ -public class FlowImpl extends EObjectImpl implements Flow { +public class ChainImpl extends EObjectImpl implements Chain { /** * The cached value of the '{@link #getHandlers() Handlers}' containment reference list. * @@ -49,7 +49,7 @@ public class FlowImpl extends EObjectImpl implements Flow { * * @generated */ - protected FlowImpl() { + protected ChainImpl() { super(); } @@ -59,7 +59,7 @@ protected FlowImpl() { * @generated */ protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.FLOW; + return WSDDPackageImpl.Literals.CHAIN; } /** @@ -81,7 +81,7 @@ public List getHandlers() { */ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { - case WSDDPackageImpl.FLOW__HANDLERS: + case WSDDPackageImpl.CHAIN__HANDLERS: return ((InternalEList)getHandlers()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); @@ -94,7 +94,7 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, */ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { - case WSDDPackageImpl.FLOW__HANDLERS: + case WSDDPackageImpl.CHAIN__HANDLERS: return getHandlers(); } return super.eGet(featureID, resolve, coreType); @@ -107,7 +107,7 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { */ public void eSet(int featureID, Object newValue) { switch (featureID) { - case WSDDPackageImpl.FLOW__HANDLERS: + case WSDDPackageImpl.CHAIN__HANDLERS: getHandlers().clear(); getHandlers().addAll((Collection)newValue); return; @@ -122,7 +122,7 @@ public void eSet(int featureID, Object newValue) { */ public void eUnset(int featureID) { switch (featureID) { - case WSDDPackageImpl.FLOW__HANDLERS: + case WSDDPackageImpl.CHAIN__HANDLERS: getHandlers().clear(); return; } @@ -136,7 +136,7 @@ public void eUnset(int featureID) { */ public boolean eIsSet(int featureID) { switch (featureID) { - case WSDDPackageImpl.FLOW__HANDLERS: + case WSDDPackageImpl.CHAIN__HANDLERS: return handlers != null && !handlers.isEmpty(); } return super.eIsSet(featureID); diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java index 0aa4b27f5..ae94f6b50 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java @@ -8,7 +8,7 @@ import org.apache.axis.model.wsdd.DeployableItem; -import org.apache.axis.model.wsdd.Flow; +import org.apache.axis.model.wsdd.Chain; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.ecore.EClass; @@ -37,7 +37,7 @@ public abstract class DeployableItemImpl extends ParameterizableImpl implements * @generated * @ordered */ - protected Flow requestFlow; + protected Chain requestFlow; /** * The cached value of the '{@link #getResponseFlow() Response Flow}' containment reference. * @@ -46,7 +46,7 @@ public abstract class DeployableItemImpl extends ParameterizableImpl implements * @generated * @ordered */ - protected Flow responseFlow; + protected Chain responseFlow; /** * @@ -71,7 +71,7 @@ protected EClass eStaticClass() { * * @generated */ - public Flow getRequestFlow() { + public Chain getRequestFlow() { return requestFlow; } @@ -80,8 +80,8 @@ public Flow getRequestFlow() { * * @generated */ - public NotificationChain basicSetRequestFlow(Flow newRequestFlow, NotificationChain msgs) { - Flow oldRequestFlow = requestFlow; + public NotificationChain basicSetRequestFlow(Chain newRequestFlow, NotificationChain msgs) { + Chain oldRequestFlow = requestFlow; requestFlow = newRequestFlow; return msgs; } @@ -91,7 +91,7 @@ public NotificationChain basicSetRequestFlow(Flow newRequestFlow, NotificationCh * * @generated */ - public void setRequestFlow(Flow newRequestFlow) { + public void setRequestFlow(Chain newRequestFlow) { if (newRequestFlow != requestFlow) { NotificationChain msgs = null; if (requestFlow != null) @@ -108,7 +108,7 @@ public void setRequestFlow(Flow newRequestFlow) { * * @generated */ - public Flow getResponseFlow() { + public Chain getResponseFlow() { return responseFlow; } @@ -117,8 +117,8 @@ public Flow getResponseFlow() { * * @generated */ - public NotificationChain basicSetResponseFlow(Flow newResponseFlow, NotificationChain msgs) { - Flow oldResponseFlow = responseFlow; + public NotificationChain basicSetResponseFlow(Chain newResponseFlow, NotificationChain msgs) { + Chain oldResponseFlow = responseFlow; responseFlow = newResponseFlow; return msgs; } @@ -128,7 +128,7 @@ public NotificationChain basicSetResponseFlow(Flow newResponseFlow, Notification * * @generated */ - public void setResponseFlow(Flow newResponseFlow) { + public void setResponseFlow(Chain newResponseFlow) { if (newResponseFlow != responseFlow) { NotificationChain msgs = null; if (responseFlow != null) @@ -178,10 +178,10 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { public void eSet(int featureID, Object newValue) { switch (featureID) { case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - setRequestFlow((Flow)newValue); + setRequestFlow((Chain)newValue); return; case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - setResponseFlow((Flow)newValue); + setResponseFlow((Chain)newValue); return; } super.eSet(featureID, newValue); @@ -195,10 +195,10 @@ public void eSet(int featureID, Object newValue) { public void eUnset(int featureID) { switch (featureID) { case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - setRequestFlow((Flow)null); + setRequestFlow((Chain)null); return; case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - setResponseFlow((Flow)null); + setResponseFlow((Chain)null); return; } super.eUnset(featureID); diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java index 41abfb8ab..de0680aa6 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java @@ -78,7 +78,7 @@ public EObject create(EClass eClass) { case WSDDPackageImpl.OPERATION: return (EObject)createOperation(); case WSDDPackageImpl.PARAMETERIZABLE: return (EObject)createParameterizable(); case WSDDPackageImpl.HANDLER: return (EObject)createHandler(); - case WSDDPackageImpl.FLOW: return (EObject)createFlow(); + case WSDDPackageImpl.CHAIN: return (EObject)createChain(); case WSDDPackageImpl.GLOBAL_CONFIGURATION: return (EObject)createGlobalConfiguration(); case WSDDPackageImpl.TRANSPORT: return (EObject)createTransport(); case WSDDPackageImpl.SERVICE: return (EObject)createService(); @@ -126,16 +126,6 @@ public Parameter createParameter() { return parameter; } - /** - * - * - * @generated - */ - public Flow createFlow() { - FlowImpl flow = new FlowImpl(); - return flow; - } - /** * * @@ -226,6 +216,16 @@ public Handler createHandler() { return handler; } + /** + * + * + * @generated + */ + public Chain createChain() { + ChainImpl chain = new ChainImpl(); + return chain; + } + /** * * diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java index cd0d72528..6f83464df 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java @@ -12,7 +12,7 @@ import org.apache.axis.model.wsdd.DeployableItem; import org.apache.axis.model.wsdd.Deployment; import org.apache.axis.model.wsdd.Fault; -import org.apache.axis.model.wsdd.Flow; +import org.apache.axis.model.wsdd.Chain; import org.apache.axis.model.wsdd.GlobalConfiguration; import org.apache.axis.model.wsdd.Handler; import org.apache.axis.model.wsdd.Mapping; @@ -116,16 +116,6 @@ public class WSDDPackageImpl extends EPackageImpl { */ public static final int PARAMETER_FEATURE_COUNT = 2; - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.FlowImpl Flow}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.FlowImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFlow() - * @generated - */ - public static final int FLOW = 11; - /** * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl Mapping}' class. * @@ -712,6 +702,16 @@ public class WSDDPackageImpl extends EPackageImpl { */ public static final int HANDLER_FEATURE_COUNT = PARAMETERIZABLE_FEATURE_COUNT + 2; + /** + * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl Chain}' class. + * + * + * @see org.apache.axis.model.wsdd.impl.ChainImpl + * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain() + * @generated + */ + public static final int CHAIN = 11; + /** * The feature id for the 'Handlers' containment reference list. * @@ -719,16 +719,16 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int FLOW__HANDLERS = 0; + public static final int CHAIN__HANDLERS = 0; /** - * The number of structural features of the 'Flow' class. + * The number of structural features of the 'Chain' class. * * * @generated * @ordered */ - public static final int FLOW_FEATURE_COUNT = 1; + public static final int CHAIN_FEATURE_COUNT = 1; /** * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl Deployable Item}' class. @@ -1121,13 +1121,6 @@ public class WSDDPackageImpl extends EPackageImpl { */ private EClass parameterEClass = null; - /** - * - * - * @generated - */ - private EClass flowEClass = null; - /** * * @@ -1198,6 +1191,13 @@ public class WSDDPackageImpl extends EPackageImpl { */ private EClass handlerEClass = null; + /** + * + * + * @generated + */ + private EClass chainEClass = null; + /** * * @@ -1347,31 +1347,6 @@ public EAttribute getParameter_Value() { return (EAttribute)parameterEClass.getEStructuralFeatures().get(1); } - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Flow Flow}'. - * - * - * @return the meta object for class 'Flow'. - * @see org.apache.axis.model.wsdd.Flow - * @generated - */ - public EClass getFlow() { - return flowEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Flow#getHandlers Handlers}'. - * - * - * @return the meta object for the containment reference list 'Handlers'. - * @see org.apache.axis.model.wsdd.Flow#getHandlers() - * @see #getFlow() - * @generated - */ - public EReference getFlow_Handlers() { - return (EReference)flowEClass.getEStructuralFeatures().get(0); - } - /** * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Mapping Mapping}'. * @@ -1934,6 +1909,31 @@ public EAttribute getHandler_Type() { return (EAttribute)handlerEClass.getEStructuralFeatures().get(1); } + /** + * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Chain Chain}'. + * + * + * @return the meta object for class 'Chain'. + * @see org.apache.axis.model.wsdd.Chain + * @generated + */ + public EClass getChain() { + return chainEClass; + } + + /** + * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}'. + * + * + * @return the meta object for the containment reference list 'Handlers'. + * @see org.apache.axis.model.wsdd.Chain#getHandlers() + * @see #getChain() + * @generated + */ + public EReference getChain_Handlers() { + return (EReference)chainEClass.getEStructuralFeatures().get(0); + } + /** * Returns the meta object for class '{@link org.apache.axis.model.wsdd.DeployableItem Deployable Item}'. * @@ -2289,8 +2289,8 @@ public void createPackageContents() { createEAttribute(handlerEClass, HANDLER__NAME); createEAttribute(handlerEClass, HANDLER__TYPE); - flowEClass = createEClass(FLOW); - createEReference(flowEClass, FLOW__HANDLERS); + chainEClass = createEClass(CHAIN); + createEReference(chainEClass, CHAIN__HANDLERS); deployableItemEClass = createEClass(DEPLOYABLE_ITEM); createEReference(deployableItemEClass, DEPLOYABLE_ITEM__REQUEST_FLOW); @@ -2423,12 +2423,12 @@ public void initializePackageContents() { initEAttribute(getHandler_Name(), ecorePackage.getEString(), "name", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getHandler_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEClass(flowEClass, Flow.class, "Flow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getFlow_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Flow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(chainEClass, Chain.class, "Chain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getChain_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(deployableItemEClass, DeployableItem.class, "DeployableItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDeployableItem_RequestFlow(), this.getFlow(), null, "requestFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployableItem_ResponseFlow(), this.getFlow(), null, "responseFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getDeployableItem_RequestFlow(), this.getChain(), null, "requestFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getDeployableItem_ResponseFlow(), this.getChain(), null, "responseFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(globalConfigurationEClass, GlobalConfiguration.class, "GlobalConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -2525,7 +2525,7 @@ protected void createExtendedMetaDataAnnotations() { "namespace", "##targetNamespace" }); addAnnotation - (getFlow_Handlers(), + (getChain_Handlers(), source, new String[] { "name", "handler", @@ -2644,24 +2644,6 @@ public interface Literals { */ public static final EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value(); - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.FlowImpl Flow}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.FlowImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFlow() - * @generated - */ - public static final EClass FLOW = eINSTANCE.getFlow(); - - /** - * The meta object literal for the 'Handlers' containment reference list feature. - * - * - * @generated - */ - public static final EReference FLOW__HANDLERS = eINSTANCE.getFlow_Handlers(); - /** * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl Mapping}' class. * @@ -3034,6 +3016,24 @@ public interface Literals { */ public static final EAttribute HANDLER__TYPE = eINSTANCE.getHandler_Type(); + /** + * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl Chain}' class. + * + * + * @see org.apache.axis.model.wsdd.impl.ChainImpl + * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain() + * @generated + */ + public static final EClass CHAIN = eINSTANCE.getChain(); + + /** + * The meta object literal for the 'Handlers' containment reference list feature. + * + * + * @generated + */ + public static final EReference CHAIN__HANDLERS = eINSTANCE.getChain_Handlers(); + /** * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl Deployable Item}' class. * From 6f1e26df0ebd958625d0e3afa7c377cba66f69fc Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 21:23:06 +0000 Subject: [PATCH 012/133] Let maven-axis-server-plugin prepare the server-config.wsdd file before starting the server (instead of deploying the individual WSDD files using AdminClient). --- axis-model/model/wsdd.ecore | 2 + .../org/apache/axis/model/wsdd/Chain.java | 53 ++++++++ .../axis/model/wsdd/impl/ChainImpl.java | 112 ++++++++++++++++ .../axis/model/wsdd/impl/DeploymentImpl.java | 3 + .../axis/model/wsdd/impl/WSDDPackageImpl.java | 70 +++++++++- axis-model/src/test/wsdd/stock.wsdd | 31 +++++ maven/maven-axis-server-plugin/pom.xml | 9 +- .../server/AbstractStartProcessMojo.java | 113 +++++++++------- .../tools/maven/server/AdminClientUtils.java | 42 ------ .../server/AxisServerProcessControl.java | 11 +- .../tools/maven/server/StartDaemonMojo.java | 15 +-- .../tools/maven/server/StartServerMojo.java | 125 +++++++++--------- .../tools/maven/wsdd/GenerateWSDDMojo.java | 42 +----- samples/attachments-sample/pom.xml | 3 +- samples/encoding-sample/pom.xml | 2 +- samples/faults-sample/pom.xml | 2 +- samples/jaxrpc-sample/pom.xml | 4 +- samples/message-sample/pom.xml | 2 +- samples/misc-sample/pom.xml | 2 +- samples/stock-sample/pom.xml | 2 +- 20 files changed, 418 insertions(+), 227 deletions(-) create mode 100644 axis-model/src/test/wsdd/stock.wsdd delete mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AdminClientUtils.java diff --git a/axis-model/model/wsdd.ecore b/axis-model/model/wsdd.ecore index 172bbdebb..574792f2d 100644 --- a/axis-model/model/wsdd.ecore +++ b/axis-model/model/wsdd.ecore @@ -112,6 +112,8 @@ + + diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java index 9bb4595af..2b728cf61 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java @@ -7,6 +7,7 @@ package org.apache.axis.model.wsdd; import java.util.List; +import javax.xml.namespace.QName; /** @@ -17,6 +18,8 @@ *

    * The following features are supported: *

      + *
    • {@link org.apache.axis.model.wsdd.Chain#getName Name}
    • + *
    • {@link org.apache.axis.model.wsdd.Chain#getType Type}
    • *
    • {@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}
    • *
    *

    @@ -26,6 +29,56 @@ */ public interface Chain { + /** + * Returns the value of the 'Name' attribute. + * + *

    + * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

    + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link org.apache.axis.model.wsdd.Chain#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Type' attribute. + * + *

    + * If the meaning of the 'Type' attribute isn't clear, + * there really should be more of a description here... + *

    + * + * @return the value of the 'Type' attribute. + * @see #setType(QName) + * @model dataType="org.apache.axis.model.xml.QName" + * @generated + */ + QName getType(); + + /** + * Sets the value of the '{@link org.apache.axis.model.wsdd.Chain#getType Type}' attribute. + * + * + * @param value the new value of the 'Type' attribute. + * @see #getType() + * @generated + */ + void setType(QName value); + /** * Returns the value of the 'Handlers' containment reference list. * The list contents are of type {@link org.apache.axis.model.wsdd.Handler}. diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java index 93b3fad1c..76afa77b4 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java @@ -8,6 +8,7 @@ import java.util.Collection; import java.util.List; +import javax.xml.namespace.QName; import org.apache.axis.model.wsdd.Chain; import org.apache.axis.model.wsdd.Handler; @@ -27,6 +28,8 @@ *

    * The following features are implemented: *

      + *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getName Name}
    • + *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getType Type}
    • *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getHandlers Handlers}
    • *
    *

    @@ -34,6 +37,42 @@ * @generated */ public class ChainImpl extends EObjectImpl implements Chain { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + /** + * The default value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected static final QName TYPE_EDEFAULT = null; + /** + * The cached value of the '{@link #getType() Type}' attribute. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected QName type = TYPE_EDEFAULT; /** * The cached value of the '{@link #getHandlers() Handlers}' containment reference list. * @@ -62,6 +101,42 @@ protected EClass eStaticClass() { return WSDDPackageImpl.Literals.CHAIN; } + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + name = newName; + } + + /** + * + * + * @generated + */ + public QName getType() { + return type; + } + + /** + * + * + * @generated + */ + public void setType(QName newType) { + type = newType; + } + /** * * @@ -94,6 +169,10 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, */ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { + case WSDDPackageImpl.CHAIN__NAME: + return getName(); + case WSDDPackageImpl.CHAIN__TYPE: + return getType(); case WSDDPackageImpl.CHAIN__HANDLERS: return getHandlers(); } @@ -107,6 +186,12 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { */ public void eSet(int featureID, Object newValue) { switch (featureID) { + case WSDDPackageImpl.CHAIN__NAME: + setName((String)newValue); + return; + case WSDDPackageImpl.CHAIN__TYPE: + setType((QName)newValue); + return; case WSDDPackageImpl.CHAIN__HANDLERS: getHandlers().clear(); getHandlers().addAll((Collection)newValue); @@ -122,6 +207,12 @@ public void eSet(int featureID, Object newValue) { */ public void eUnset(int featureID) { switch (featureID) { + case WSDDPackageImpl.CHAIN__NAME: + setName(NAME_EDEFAULT); + return; + case WSDDPackageImpl.CHAIN__TYPE: + setType(TYPE_EDEFAULT); + return; case WSDDPackageImpl.CHAIN__HANDLERS: getHandlers().clear(); return; @@ -136,10 +227,31 @@ public void eUnset(int featureID) { */ public boolean eIsSet(int featureID) { switch (featureID) { + case WSDDPackageImpl.CHAIN__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case WSDDPackageImpl.CHAIN__TYPE: + return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); case WSDDPackageImpl.CHAIN__HANDLERS: return handlers != null && !handlers.isEmpty(); } return super.eIsSet(featureID); } + /** + * + * + * @generated + */ + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", type: "); + result.append(type); + result.append(')'); + return result.toString(); + } + } //FlowImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java index aa4fae9d9..3cff4c809 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java @@ -216,6 +216,9 @@ public void merge(Deployment other) { getHandlers().addAll(other.getHandlers()); getTransports().addAll(other.getTransports()); getServices().addAll(other.getServices()); + getTypeMappings().addAll(other.getTypeMappings()); + getBeanMappings().addAll(other.getBeanMappings()); + getArrayMappings().addAll(other.getArrayMappings()); } /** diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java index 6f83464df..c59c699e6 100644 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java @@ -712,6 +712,24 @@ public class WSDDPackageImpl extends EPackageImpl { */ public static final int CHAIN = 11; + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + public static final int CHAIN__NAME = 0; + + /** + * The feature id for the 'Type' attribute. + * + * + * @generated + * @ordered + */ + public static final int CHAIN__TYPE = 1; + /** * The feature id for the 'Handlers' containment reference list. * @@ -719,7 +737,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int CHAIN__HANDLERS = 0; + public static final int CHAIN__HANDLERS = 2; /** * The number of structural features of the 'Chain' class. @@ -728,7 +746,7 @@ public class WSDDPackageImpl extends EPackageImpl { * @generated * @ordered */ - public static final int CHAIN_FEATURE_COUNT = 1; + public static final int CHAIN_FEATURE_COUNT = 3; /** * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl Deployable Item}' class. @@ -1921,6 +1939,32 @@ public EClass getChain() { return chainEClass; } + /** + * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see org.apache.axis.model.wsdd.Chain#getName() + * @see #getChain() + * @generated + */ + public EAttribute getChain_Name() { + return (EAttribute)chainEClass.getEStructuralFeatures().get(0); + } + + /** + * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getType Type}'. + * + * + * @return the meta object for the attribute 'Type'. + * @see org.apache.axis.model.wsdd.Chain#getType() + * @see #getChain() + * @generated + */ + public EAttribute getChain_Type() { + return (EAttribute)chainEClass.getEStructuralFeatures().get(1); + } + /** * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}'. * @@ -1931,7 +1975,7 @@ public EClass getChain() { * @generated */ public EReference getChain_Handlers() { - return (EReference)chainEClass.getEStructuralFeatures().get(0); + return (EReference)chainEClass.getEStructuralFeatures().get(2); } /** @@ -2290,6 +2334,8 @@ public void createPackageContents() { createEAttribute(handlerEClass, HANDLER__TYPE); chainEClass = createEClass(CHAIN); + createEAttribute(chainEClass, CHAIN__NAME); + createEAttribute(chainEClass, CHAIN__TYPE); createEReference(chainEClass, CHAIN__HANDLERS); deployableItemEClass = createEClass(DEPLOYABLE_ITEM); @@ -2424,6 +2470,8 @@ public void initializePackageContents() { initEAttribute(getHandler_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(chainEClass, Chain.class, "Chain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getChain_Name(), ecorePackage.getEString(), "name", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getChain_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getChain_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(deployableItemEClass, DeployableItem.class, "DeployableItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -3026,6 +3074,22 @@ public interface Literals { */ public static final EClass CHAIN = eINSTANCE.getChain(); + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + public static final EAttribute CHAIN__NAME = eINSTANCE.getChain_Name(); + + /** + * The meta object literal for the 'Type' attribute feature. + * + * + * @generated + */ + public static final EAttribute CHAIN__TYPE = eINSTANCE.getChain_Type(); + /** * The meta object literal for the 'Handlers' containment reference list feature. * diff --git a/axis-model/src/test/wsdd/stock.wsdd b/axis-model/src/test/wsdd/stock.wsdd new file mode 100644 index 000000000..a4dc44ade --- /dev/null +++ b/axis-model/src/test/wsdd/stock.wsdd @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/maven-axis-server-plugin/pom.xml index 099c4eacb..9bd5f86e9 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/maven-axis-server-plugin/pom.xml @@ -43,6 +43,11 @@ ${project.groupId} axis-rt-core + + ${project.groupId} + axis-model + ${project.version} + org.apache.maven maven-plugin-api @@ -69,13 +74,13 @@ ${project.groupId} daemon-launcher ${project.version} - pom + test ${project.groupId} axis-standalone-server ${project.version} - pom + test diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java index 7f7674871..1a455e4ca 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java @@ -96,7 +96,7 @@ public abstract class AbstractStartProcessMojo extends AbstractServerMojo implem /** * @component */ - protected ArtifactFactory artifactFactory; + private ArtifactFactory artifactFactory; /** * @component @@ -159,6 +159,16 @@ public abstract class AbstractStartProcessMojo extends AbstractServerMojo implem */ private String argLine; + /** + * @parameter default-value="${plugin.version}" + * @required + * @readonly + */ + private String axisVersion; + + private final Set/**/ additionalDependencies = new HashSet(); + private List/**/ classpath; + private Logger logger; public void enableLogging(Logger logger) { @@ -169,61 +179,72 @@ protected boolean isDebug() { return debug; } - private List/**/ buildClasspath(Set/**/ additionalArtifacts) throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { - final Log log = getLog(); - - // We need dependencies in scope test. Since this is the largest scope, we don't need - // to do any additional filtering based on dependency scope. - Set projectDependencies = project.getArtifacts(); - - final Set artifacts = new HashSet(projectDependencies); - - if (additionalArtifacts != null) { - for (Iterator it = additionalArtifacts.iterator(); it.hasNext(); ) { - Artifact a = (Artifact)it.next(); - if (log.isDebugEnabled()) { - log.debug("Resolving artifact to be added to classpath: " + a); - } - ArtifactFilter filter = new ArtifactFilter() { - public boolean include(Artifact artifact) { - String id = artifact.getDependencyConflictId(); - for (Iterator it = artifacts.iterator(); it.hasNext(); ) { - if (id.equals(((Artifact)it.next()).getDependencyConflictId())) { - return false; + protected final void addDependency(String groupId, String artifactId, String version) { + additionalDependencies.add(artifactFactory.createArtifact(groupId, artifactId, version, Artifact.SCOPE_TEST, "jar")); + classpath = null; + } + + protected final void addAxisDependency(String artifactId) { + addDependency("org.apache.axis", artifactId, axisVersion); + } + + protected final List/**/ getClasspath() throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { + if (classpath == null) { + final Log log = getLog(); + + // We need dependencies in scope test. Since this is the largest scope, we don't need + // to do any additional filtering based on dependency scope. + Set projectDependencies = project.getArtifacts(); + + final Set artifacts = new HashSet(projectDependencies); + + if (additionalDependencies != null) { + for (Iterator it = additionalDependencies.iterator(); it.hasNext(); ) { + Artifact a = (Artifact)it.next(); + if (log.isDebugEnabled()) { + log.debug("Resolving artifact to be added to classpath: " + a); + } + ArtifactFilter filter = new ArtifactFilter() { + public boolean include(Artifact artifact) { + String id = artifact.getDependencyConflictId(); + for (Iterator it = artifacts.iterator(); it.hasNext(); ) { + if (id.equals(((Artifact)it.next()).getDependencyConflictId())) { + return false; + } } + return true; } - return true; + }; + MavenProject p = projectBuilder.buildFromRepository(a, remoteArtifactRepositories, localRepository); + if (filter.include(p.getArtifact())) { + Set s = p.createArtifacts(artifactFactory, Artifact.SCOPE_RUNTIME, filter); + artifacts.addAll(artifactCollector.collect(s, + p.getArtifact(), p.getManagedVersionMap(), + localRepository, remoteArtifactRepositories, artifactMetadataSource, filter, + Collections.singletonList(new DebugResolutionListener(logger))).getArtifacts()); + artifacts.add(p.getArtifact()); } - }; - MavenProject p = projectBuilder.buildFromRepository(a, remoteArtifactRepositories, localRepository); - if (filter.include(p.getArtifact())) { - Set s = p.createArtifacts(artifactFactory, Artifact.SCOPE_RUNTIME, filter); - artifacts.addAll(artifactCollector.collect(s, - p.getArtifact(), p.getManagedVersionMap(), - localRepository, remoteArtifactRepositories, artifactMetadataSource, filter, - Collections.singletonList(new DebugResolutionListener(logger))).getArtifacts()); - artifacts.add(p.getArtifact()); } } - } - - List/**/ cp = new ArrayList(); - cp.add(project.getBuild().getTestOutputDirectory()); - cp.add(project.getBuild().getOutputDirectory()); - for (Iterator it = artifacts.iterator(); it.hasNext(); ) { - Artifact a = (Artifact)it.next(); - if (a.getArtifactHandler().isAddedToClasspath()) { - if (a.getFile() == null) { - artifactResolver.resolve(a, remoteArtifactRepositories, localRepository); + + classpath = new ArrayList(); + classpath.add(new File(project.getBuild().getTestOutputDirectory())); + classpath.add(new File(project.getBuild().getOutputDirectory())); + for (Iterator it = artifacts.iterator(); it.hasNext(); ) { + Artifact a = (Artifact)it.next(); + if (a.getArtifactHandler().isAddedToClasspath()) { + if (a.getFile() == null) { + artifactResolver.resolve(a, remoteArtifactRepositories, localRepository); + } + classpath.add(a.getFile()); } - cp.add(a.getFile()); } } - return cp; + return classpath; } - protected final void startJavaProcess(String description, String mainClass, Set additionalDependencies, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { + protected final void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { Log log = getLog(); // Locate java executable to use @@ -241,7 +262,7 @@ protected final void startJavaProcess(String description, String mainClass, Set // Get class path List classpath; try { - classpath = buildClasspath(additionalDependencies); + classpath = getClasspath(); } catch (Exception ex) { throw new MojoExecutionException("Failed to build classpath", ex); } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AdminClientUtils.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AdminClientUtils.java deleted file mode 100644 index 35bd695c4..000000000 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AdminClientUtils.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.axis.tools.maven.server; - -import java.io.File; - -import org.apache.axis.client.AdminClient; -import org.codehaus.plexus.logging.Logger; - -public final class AdminClientUtils { - private AdminClientUtils() {} - - public static void process(Logger logger, AdminClient adminClient, File[] wsddFiles) throws Exception { - for (int i=0; i 0) { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - dbf.setNamespaceAware(true); - DocumentBuilder documentBuilder; + // Prepare a work directory where we can place the server-config.wsdd file + File workDir = new File(workDirBase, String.valueOf(actualPort)); + if (workDir.exists()) { try { - documentBuilder = dbf.newDocumentBuilder(); - } catch (ParserConfigurationException ex) { - throw new MojoFailureException("Unable to initialize DOM parser", ex); + FileUtils.deleteDirectory(workDir); + } catch (IOException ex) { + throw new MojoFailureException("Failed to clean the work directory", ex); } + } + File webInfDir = new File(workDir, "WEB-INF"); + webInfDir.mkdirs(); + + // Start with the default configuration (which depends on the JARs in the classpath) + Deployment deployment; + try { + deployment = WSDDUtil.buildDefaultConfiguration(buildClassLoader(), "server"); + } catch (IOException ex) { + throw new MojoExecutionException("Failed to build default server configuration", ex); + } + + // Select WSDD files + if (wsdds != null) { for (int i=0; i 0) { - File webInfDir = new File(workDir, "WEB-INF"); - webInfDir.mkdirs(); for (int i=0; i src/main/wsdd - **/*.wsdd + attachdeploy.wsdd + testref.wsdd diff --git a/samples/encoding-sample/pom.xml b/samples/encoding-sample/pom.xml index 7821b8722..261fe4a6f 100644 --- a/samples/encoding-sample/pom.xml +++ b/samples/encoding-sample/pom.xml @@ -86,7 +86,7 @@ src/main/wsdd - **/*.wsdd + deploy.wsdd diff --git a/samples/faults-sample/pom.xml b/samples/faults-sample/pom.xml index ceaceca9e..e11affc59 100644 --- a/samples/faults-sample/pom.xml +++ b/samples/faults-sample/pom.xml @@ -86,7 +86,7 @@ src/main/wsdd - **/*.wsdd + deploy.wsdd diff --git a/samples/jaxrpc-sample/pom.xml b/samples/jaxrpc-sample/pom.xml index c4d2bd0bd..cfe872729 100644 --- a/samples/jaxrpc-sample/pom.xml +++ b/samples/jaxrpc-sample/pom.xml @@ -120,13 +120,13 @@ src/main/wsdd - **/*.wsdd + **/deploy.wsdd ../stock-sample/src/main/wsdd - **/*.wsdd + deploy.wsdd diff --git a/samples/message-sample/pom.xml b/samples/message-sample/pom.xml index 9721884d5..5f9c9062f 100644 --- a/samples/message-sample/pom.xml +++ b/samples/message-sample/pom.xml @@ -86,7 +86,7 @@ src/main/wsdd - **/*.wsdd + deploy.wsdd diff --git a/samples/misc-sample/pom.xml b/samples/misc-sample/pom.xml index 7dd9b8477..4261f04d2 100644 --- a/samples/misc-sample/pom.xml +++ b/samples/misc-sample/pom.xml @@ -86,7 +86,7 @@ src/main/wsdd - **/*.wsdd + deploy.wsdd diff --git a/samples/stock-sample/pom.xml b/samples/stock-sample/pom.xml index e924835a4..6436fb810 100644 --- a/samples/stock-sample/pom.xml +++ b/samples/stock-sample/pom.xml @@ -99,7 +99,7 @@ src/main/wsdd - **/*.wsdd + deploy.wsdd From e0bde98507f763318f6d2a17714933e927bbf082 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 9 Dec 2012 21:38:06 +0000 Subject: [PATCH 013/133] Automate the setup of the JWS stuff. --- .../main/resources/META-INF/axis/default-server-config.wsdd | 0 .../apache/axis/server/standalone/StandaloneAxisServer.java | 1 - .../apache/axis/server/standalone/StandaloneAxisServlet.java | 4 ---- integration/pom.xml | 5 ----- .../org/apache/axis/tools/maven/server/StartServerMojo.java | 3 +++ samples/stock-sample/pom.xml | 5 ----- 6 files changed, 3 insertions(+), 15 deletions(-) rename axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/jws-handler.wsdd => axis-rt-jws/src/main/resources/META-INF/axis/default-server-config.wsdd (100%) diff --git a/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/jws-handler.wsdd b/axis-rt-jws/src/main/resources/META-INF/axis/default-server-config.wsdd similarity index 100% rename from axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/jws-handler.wsdd rename to axis-rt-jws/src/main/resources/META-INF/axis/default-server-config.wsdd diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java index ebe988161..fffd538e2 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java @@ -115,7 +115,6 @@ public static void main(String[] args) throws Exception { for (int i=0; iaxis-rt-core ${project.version} - - ${project.groupId} - axis-rt-jws - ${project.version} - ${project.groupId} axis-codegen diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index 75ea435e0..16f94b323 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -119,6 +119,9 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { // Need to setup additional dependencies before building the default configuration! addAxisDependency("axis-standalone-server"); + if (jwsDirs != null && jwsDirs.length > 0) { + addAxisDependency("axis-rt-jws"); + } // Determine the port to be used int actualPort = foreground && foregroundPort != -1 ? foregroundPort : port; diff --git a/samples/stock-sample/pom.xml b/samples/stock-sample/pom.xml index 6436fb810..af0238703 100644 --- a/samples/stock-sample/pom.xml +++ b/samples/stock-sample/pom.xml @@ -33,11 +33,6 @@ axis-rt-core ${project.version} - - ${project.groupId} - axis-rt-jws - ${project.version} - junit junit From 8e94073901ea149507668153c4635b98486d1c2b Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 10 Dec 2012 21:28:56 +0000 Subject: [PATCH 014/133] Skip distribution tests is skipTests=true. --- distribution/pom.xml | 6 ++++-- pom.xml | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index e7dbb22c8..538f6d739 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -81,7 +81,7 @@ run - + @@ -93,7 +93,7 @@ run - + @@ -140,6 +140,7 @@ ${project.build.directory}/axis-${project.version}/lib junit + ${skipTests} @@ -159,6 +160,7 @@ true ${project.build.directory}/jboss/lib true + ${skipTests} diff --git a/pom.xml b/pom.xml index 43ec7afc5..c95820374 100644 --- a/pom.xml +++ b/pom.xml @@ -204,7 +204,7 @@ maven-dependency-plugin - 2.4 + 2.6 org.codehaus.mojo From 57c024a269a7276215dcee3c9ec1197a745d4912 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 11 Dec 2012 17:26:34 +0000 Subject: [PATCH 015/133] * Added a Daemon implementation for the Axis stand-alone server. * Simplified the maven-axis-server-plugin: now all processes controlled by the plug-in are Daemon implementations. --- axis-standalone-server/pom.xml | 19 +++ .../standalone/LimitSessionManager.java | 4 +- .../axis/server/standalone/QuitHandler.java | 5 +- .../axis/server/standalone/QuitListener.java | 2 +- .../server/standalone/ServerException.java | 27 +++ .../standalone/StandaloneAxisServer.java | 154 +++++++++--------- .../standalone/StandaloneAxisServlet.java | 2 +- .../server/standalone/cli/Configurator.java | 98 +++++++++++ .../standalone/cli/ConfiguratorException.java | 26 +-- .../axis/server/standalone/cli/Main.java | 62 +++++++ .../standalone/daemon/AxisServerDaemon.java | 52 ++++++ distribution/pom.xml | 5 + maven/maven-axis-server-plugin/pom.xml | 4 - ...jo.java => AbstractDaemonControlMojo.java} | 8 +- ...Mojo.java => AbstractStartDaemonMojo.java} | 40 +++-- .../server/AxisServerProcessControl.java | 72 -------- ...ProcessManager.java => DaemonManager.java} | 4 +- ...Manager.java => DefaultDaemonManager.java} | 38 +++-- .../tools/maven/server/ProcessControl.java | 60 ------- ...nProcessControl.java => RemoteDaemon.java} | 27 ++- .../tools/maven/server/StartDaemonMojo.java | 23 +-- .../tools/maven/server/StartServerMojo.java | 15 +- .../axis/tools/maven/server/StopAllMojo.java | 4 +- .../resources/META-INF/plexus/components.xml | 4 +- 24 files changed, 444 insertions(+), 311 deletions(-) create mode 100644 axis-standalone-server/src/main/java/org/apache/axis/server/standalone/ServerException.java create mode 100644 axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/Configurator.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ManagedProcess.java => axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/ConfiguratorException.java (56%) create mode 100644 axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/Main.java create mode 100644 axis-standalone-server/src/main/java/org/apache/axis/server/standalone/daemon/AxisServerDaemon.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{AbstractServerMojo.java => AbstractDaemonControlMojo.java} (90%) rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{AbstractStartProcessMojo.java => AbstractStartDaemonMojo.java} (89%) delete mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{ProcessManager.java => DaemonManager.java} (85%) rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{DefaultProcessManager.java => DefaultDaemonManager.java} (68%) delete mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java rename maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/{DaemonProcessControl.java => RemoteDaemon.java} (74%) diff --git a/axis-standalone-server/pom.xml b/axis-standalone-server/pom.xml index 92b48d7f5..7a0f5e937 100644 --- a/axis-standalone-server/pom.xml +++ b/axis-standalone-server/pom.xml @@ -48,6 +48,10 @@ commons-cli 1.2 + + commons-daemon + commons-daemon + org.mortbay.jetty @@ -55,6 +59,21 @@ 6.1.26 + + + + maven-jar-plugin + + + + true + org.apache.axis.server.standalone.cli.Main + + + + + + diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java index 3ab816d05..aef1f3cd1 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java @@ -32,7 +32,7 @@ * * @author Andreas Veithen */ -public class LimitSessionManager extends HashSessionManager { +final class LimitSessionManager extends HashSessionManager { // This is only needed to get access to some protected methods/fields. class Session extends HashSessionManager.Session { private static final long serialVersionUID = -6648322281268846583L; @@ -54,7 +54,7 @@ protected void timeout() { private Timer timer; private TimerTask task; - public LimitSessionManager(int maxSessions) { + LimitSessionManager(int maxSessions) { this.maxSessions = maxSessions; } diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitHandler.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitHandler.java index 853decd90..3afef3fa5 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitHandler.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitHandler.java @@ -29,10 +29,13 @@ /** * Handler that looks for the {@link MessageContext#QUIT_REQUESTED} flag set by {@link Admin} and * initiates the shutdown procedure if the flag is set. + *

    + * Note: this is an internal class that should not be used by application code. * * @author Andreas Veithen */ -public class QuitHandler extends BasicHandler { +// Must be public so that the Axis core can load it +public final class QuitHandler extends BasicHandler { public static final String QUIT_LISTENER = QuitListener.class.getName(); public void invoke(MessageContext msgContext) throws AxisFault { diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitListener.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitListener.java index 5600c0bd0..4ec7ee775 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitListener.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/QuitListener.java @@ -23,7 +23,7 @@ * * @author Andreas Veithen */ -class QuitListener { +final class QuitListener { private boolean quit; synchronized void requestQuit() { diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/ServerException.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/ServerException.java new file mode 100644 index 000000000..f53dd3c29 --- /dev/null +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/ServerException.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.server.standalone; + +public class ServerException extends Exception { + private static final long serialVersionUID = 2996112474203025829L; + + public ServerException(Throwable cause) { + super(cause); + } +} diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java index fffd538e2..d403e05e3 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java @@ -19,16 +19,10 @@ package org.apache.axis.server.standalone; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.GnuParser; -import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Option; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; import org.mortbay.jetty.Server; import org.mortbay.jetty.SessionManager; import org.mortbay.jetty.servlet.Context; @@ -45,82 +39,71 @@ * * @author Andreas Veithen */ -public class StandaloneAxisServer { - public static void main(String[] args) throws Exception { - Options options = new Options(); - - { - Option option = new Option("p", true, "the HTTP port"); - option.setArgName("port"); - option.setRequired(true); - options.addOption(option); - } - - { - Option option = new Option("w", true, "the work directory"); - option.setArgName("dir"); - option.setRequired(true); - options.addOption(option); - } - - { - Option option = new Option("j", true, "a list of directories to look up JWS files from"); - option.setArgName("dirs"); - options.addOption(option); - } - - { - Option option = new Option("m", true, "the maximum number of concurrently active sessions"); - option.setArgName("count"); - options.addOption(option); - } - - if (args.length == 0) { - HelpFormatter formatter = new HelpFormatter(); - formatter.printHelp(StandaloneAxisServer.class.getName(), options); - return; - } - - CommandLineParser parser = new GnuParser(); - CommandLine cmdLine; - try { - cmdLine = parser.parse(options, args); - } catch (ParseException ex) { - System.err.println(ex.getMessage()); - System.exit(1); - return; // Make compiler happy - } - - int port = Integer.parseInt(cmdLine.getOptionValue("p")); - - int maxSessions; - if (cmdLine.hasOption("m")) { - maxSessions = Integer.parseInt(cmdLine.getOptionValue("m")); - } else { - maxSessions = -1; - } - +public final class StandaloneAxisServer { + private int port; + private File workDir; + private int maxSessions = -1; + private File[] jwsDirs; + + private Server server; + private QuitListener quitListener; + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public File getWorkDir() { + return workDir; + } + + public void setWorkDir(File workDir) { + this.workDir = workDir; + } + + public int getMaxSessions() { + return maxSessions; + } + + public void setMaxSessions(int maxSessions) { + this.maxSessions = maxSessions; + } + + public File[] getJwsDirs() { + return jwsDirs == null ? null : (File[])jwsDirs.clone(); + } + + public void setJwsDirs(File[] jwsDirs) { + this.jwsDirs = jwsDirs == null ? null : (File[])jwsDirs.clone(); + } + + public void init() throws ServerException { StandaloneAxisServlet servlet = new StandaloneAxisServlet(); List resources = new ArrayList(); // Add the work dir as a resource so that Axis can create its server-config.wsdd file there - File workDir = new File(cmdLine.getOptionValue("w")); new File(workDir, "WEB-INF").mkdir(); - resources.add(Resource.newResource(workDir.getAbsolutePath())); + try { + resources.add(Resource.newResource(workDir.getAbsolutePath())); + } catch (IOException ex) { + throw new ServerException(ex); + } - boolean enableJWS; - if (cmdLine.hasOption("j")) { - String[] jwsDirs = cmdLine.getOptionValue("j").split(File.pathSeparator); + if (jwsDirs != null) { for (int i=0; i 0) { ServletMapping mapping = new ServletMapping(); mapping.setServletName("AxisServlet"); mapping.setPathSpec("*.jws"); servletHandler.addServletMapping(mapping); } - server.start(); + } + + public void start() throws ServerException { + try { + server.start(); + } catch (Exception ex) { + throw new ServerException(ex); + } + } + + public void awaitQuitRequest() throws InterruptedException { + quitListener.awaitQuitRequest(); + } + + public void stop() throws ServerException { try { - quitListener.awaitQuitRequest(); - } catch (InterruptedException ex) { - // Just continue and stop the server + server.stop(); + } catch (Exception ex) { + throw new ServerException(ex); } - server.stop(); } } diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java index faf69fab9..fbbf12223 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServlet.java @@ -37,7 +37,7 @@ * * @author Andreas Veithen */ -public class StandaloneAxisServlet extends AxisServlet { +final class StandaloneAxisServlet extends AxisServlet { private final List/**/ wsddUrls; public StandaloneAxisServlet() { diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/Configurator.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/Configurator.java new file mode 100644 index 000000000..1449feb56 --- /dev/null +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/cli/Configurator.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.server.standalone.cli; + +import java.io.File; +import java.io.PrintWriter; + +import org.apache.axis.server.standalone.StandaloneAxisServer; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.GnuParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; + +public final class Configurator { + public static final Configurator INSTANCE = new Configurator(); + + private final Options options; + + private Configurator() { + options = new Options(); + + { + Option option = new Option("p", true, "the HTTP port"); + option.setArgName("port"); + option.setRequired(true); + options.addOption(option); + } + + { + Option option = new Option("w", true, "the work directory"); + option.setArgName("dir"); + option.setRequired(true); + options.addOption(option); + } + + { + Option option = new Option("j", true, "a list of directories to look up JWS files from"); + option.setArgName("dirs"); + options.addOption(option); + } + + { + Option option = new Option("m", true, "the maximum number of concurrently active sessions"); + option.setArgName("count"); + options.addOption(option); + } + } + + public void printHelp(PrintWriter pw, String app) { + HelpFormatter formatter = new HelpFormatter(); + formatter.printUsage(pw, 100, app, options); + formatter.printOptions(pw, 100, options, 1, 2); + pw.flush(); + } + + public void configure(StandaloneAxisServer server, String[] args) throws ConfiguratorException { + CommandLineParser parser = new GnuParser(); + CommandLine cmdLine; + try { + cmdLine = parser.parse(options, args); + } catch (ParseException ex) { + throw new ConfiguratorException(ex.getMessage()); + } + + server.setPort(Integer.parseInt(cmdLine.getOptionValue("p"))); + server.setWorkDir(new File(cmdLine.getOptionValue("w"))); + if (cmdLine.hasOption("m")) { + server.setMaxSessions(Integer.parseInt(cmdLine.getOptionValue("m"))); + } + if (cmdLine.hasOption("j")) { + String[] jwsDirStrings = cmdLine.getOptionValue("j").split(File.pathSeparator); + File[] jwsDirs = new File[jwsDirStrings.length]; + for (int i=0; iaxis-tools ${project.version} + + ${project.groupId} + axis-standalone-server + ${project.version} + junit junit diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/maven-axis-server-plugin/pom.xml index 9bd5f86e9..7c4b29139 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/maven-axis-server-plugin/pom.xml @@ -39,10 +39,6 @@ - - ${project.groupId} - axis-rt-core - ${project.groupId} axis-model diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractServerMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java similarity index 90% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractServerMojo.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java index a67ad7dfa..4cb075172 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractServerMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java @@ -24,7 +24,7 @@ import com.github.veithen.ulog.PlexusLoggerInjector; -public abstract class AbstractServerMojo extends AbstractMojo { +public abstract class AbstractDaemonControlMojo extends AbstractMojo { /** * @component */ @@ -35,7 +35,7 @@ public abstract class AbstractServerMojo extends AbstractMojo { /** * @component */ - private ProcessManager processManager; + private DaemonManager daemonManager; /** * Set this to true to skip running tests, but still compile them. This is the same @@ -45,8 +45,8 @@ public abstract class AbstractServerMojo extends AbstractMojo { */ private boolean skipTests; - public ProcessManager getProcessManager() { - return processManager; + public final DaemonManager getDaemonManager() { + return daemonManager; } public final void execute() throws MojoExecutionException, MojoFailureException { diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java similarity index 89% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java index 1a455e4ca..9e821ba00 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartProcessMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java @@ -19,6 +19,8 @@ package org.apache.axis.tools.maven.server; import java.io.File; +import java.io.IOException; +import java.net.ServerSocket; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -51,7 +53,7 @@ import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; -public abstract class AbstractStartProcessMojo extends AbstractServerMojo implements LogEnabled { +public abstract class AbstractStartDaemonMojo extends AbstractDaemonControlMojo implements LogEnabled { /** * The maven project. * @@ -171,14 +173,10 @@ public abstract class AbstractStartProcessMojo extends AbstractServerMojo implem private Logger logger; - public void enableLogging(Logger logger) { + public final void enableLogging(Logger logger) { this.logger = logger; } - protected boolean isDebug() { - return debug; - } - protected final void addDependency(String groupId, String artifactId, String version) { additionalDependencies.add(artifactFactory.createArtifact(groupId, artifactId, version, Artifact.SCOPE_TEST, "jar")); classpath = null; @@ -244,7 +242,18 @@ public boolean include(Artifact artifact) { return classpath; } - protected final void startJavaProcess(String description, String mainClass, String[] args, File workDir, ProcessControl processControl) throws MojoExecutionException, MojoFailureException { + private int allocatePort() throws MojoFailureException { + try { + ServerSocket ss = new ServerSocket(0); + int port = ss.getLocalPort(); + ss.close(); + return port; + } catch (IOException ex) { + throw new MojoFailureException("Failed to allocate port number", ex); + } + } + + protected final void startDaemon(String description, String daemonClass, String[] args, File workDir) throws MojoExecutionException, MojoFailureException { Log log = getLog(); // Locate java executable to use @@ -259,6 +268,8 @@ protected final void startJavaProcess(String description, String mainClass, Stri log.debug("Java executable: " + jvm); } + int controlPort = allocatePort(); + // Get class path List classpath; try { @@ -290,14 +301,16 @@ protected final void startJavaProcess(String description, String mainClass, Stri cmdline.add("-cp"); cmdline.add(StringUtils.join(classpath.iterator(), File.pathSeparator)); cmdline.addAll(vmArgs); - cmdline.add(mainClass); + cmdline.add("org.apache.axis.tools.daemon.Launcher"); + cmdline.add(daemonClass); + cmdline.add(String.valueOf(controlPort)); cmdline.addAll(Arrays.asList(args)); try { - getProcessManager().startProcess( + getDaemonManager().startDaemon( description, (String[])cmdline.toArray(new String[cmdline.size()]), workDir, - processControl); + controlPort); } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } @@ -306,4 +319,11 @@ protected final void startJavaProcess(String description, String mainClass, Stri private static void processVMArgs(List vmArgs, String args) { vmArgs.addAll(Arrays.asList(args.split(" "))); } + + protected final void doExecute() throws MojoExecutionException, MojoFailureException { + addAxisDependency("daemon-launcher"); + doStartDaemon(); + } + + protected abstract void doStartDaemon() throws MojoExecutionException, MojoFailureException; } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java deleted file mode 100644 index 0dd60af85..000000000 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AxisServerProcessControl.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.axis.tools.maven.server; - -import java.net.URL; -import java.rmi.RemoteException; - -import javax.xml.namespace.QName; - -import org.apache.axis.client.AdminClient; -import org.apache.axis.client.Call; -import org.codehaus.plexus.logging.Logger; - -public class AxisServerProcessControl implements ProcessControl { - private final int port; - private final AdminClient adminClient; - private final int timeout; - - public AxisServerProcessControl(int port, AdminClient adminClient, int timeout) { - this.port = port; - this.adminClient = adminClient; - this.timeout = timeout; - } - - public void initializeProcess(Logger logger, Process process) throws Exception { - // Wait for server to become ready - String versionUrl = "http://localhost:" + port + "/axis/services/Version"; - Call call = new Call(new URL(versionUrl)); - call.setOperationName(new QName(versionUrl, "getVersion")); - long start = System.currentTimeMillis(); - while (true) { - try { - String result = (String)call.invoke(new Object[0]); - logger.info("Server ready on port " + port + ": " + result.replace('\n', ' ')); - break; - } catch (RemoteException ex) { - if (System.currentTimeMillis() > start + timeout) { - throw ex; - } - } - try { - int exitValue = process.exitValue(); - // TODO: choose a better exception here - throw new RemoteException("The server process unexpectedly died with exit status " + exitValue); - } catch (IllegalThreadStateException ex) { - // This means that the process is still running; continue - } - Thread.sleep(200); - } - } - - public int shutdownProcess(Logger logger) throws Exception { - adminClient.quit(); - return STOPPING; - } -} diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java similarity index 85% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java index d0ffadea5..caa6dd273 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessManager.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java @@ -20,7 +20,7 @@ import java.io.File; -public interface ProcessManager { - void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception; +public interface DaemonManager { + void startDaemon(String description, String[] cmdline, File workDir, int controlPort) throws Exception; void stopAll() throws Exception; } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java similarity index 68% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java index 7b8bc79b0..57c8a1515 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultProcessManager.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java @@ -27,8 +27,8 @@ import org.codehaus.plexus.logging.LogEnabled; import org.codehaus.plexus.logging.Logger; -public class DefaultProcessManager implements ProcessManager, LogEnabled { - private final List managedProcesses = new ArrayList(); +public class DefaultDaemonManager implements DaemonManager, LogEnabled { + private final List daemons = new ArrayList(); private Logger logger; @@ -36,44 +36,48 @@ public void enableLogging(Logger logger) { this.logger = logger; } - public void startProcess(String description, String[] cmdline, File workDir, ProcessControl processControl) throws Exception { + public void startDaemon(String description, String[] cmdline, File workDir, int controlPort) throws Exception { if (logger.isDebugEnabled()) { logger.debug("Starting process with command line: " + Arrays.asList(cmdline)); } Process process = Runtime.getRuntime().exec(cmdline, null, workDir); - managedProcesses.add(new ManagedProcess(process, description, processControl)); + RemoteDaemon daemon = new RemoteDaemon(process, description, controlPort); + daemons.add(daemon); new Thread(new StreamPump(process.getInputStream(), System.out)).start(); new Thread(new StreamPump(process.getErrorStream(), System.err)).start(); - processControl.initializeProcess(logger, process); + daemon.startDaemon(logger); } public void stopAll() throws Exception { Exception savedException = null; - for (Iterator it = managedProcesses.iterator(); it.hasNext(); ) { - ManagedProcess managedProcess = (ManagedProcess)it.next(); - int result; - logger.debug("Executing stop action"); + for (Iterator it = daemons.iterator(); it.hasNext(); ) { + RemoteDaemon daemon = (RemoteDaemon)it.next(); + if (logger.isDebugEnabled()) { + logger.debug("Stopping " + daemon.getDescription()); + } + boolean success; try { - result = managedProcess.getProcessControl().shutdownProcess(logger); + daemon.stopDaemon(logger); + success = true; } catch (Exception ex) { if (savedException == null) { savedException = ex; } - result = -1; + success = false; } if (logger.isDebugEnabled()) { - logger.debug("result = " + result); + logger.debug("success = " + success); } - if (result == ProcessControl.STOPPING) { - managedProcess.getProcess().waitFor(); + if (success) { + daemon.getProcess().waitFor(); } else { - managedProcess.getProcess().destroy(); + daemon.getProcess().destroy(); } - logger.info(managedProcess.getDescription() + " stopped"); + logger.info(daemon.getDescription() + " stopped"); } // TODO: need to clear the collection because the same ServerManager instance may be used by multiple projects in a reactor build; // note that this means that the plugin is not thread safe (i.e. doesn't support parallel builds in Maven 3) - managedProcesses.clear(); + daemons.clear(); if (savedException != null) { throw savedException; } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java deleted file mode 100644 index 4eb70bc40..000000000 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/ProcessControl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.axis.tools.maven.server; - -import org.codehaus.plexus.logging.Logger; - -/** - * Defines the actions to be executed after a given process has been started and when a process is - * stopped. - * - * @author Andreas Veithen - */ -public interface ProcessControl { - /** - * Indicates that the process is expected to be still running after the action is completed. - */ - int RUNNING = 1; - - /** - * Indicates that the action has sent a request to the process to initiate a clean shutdown, - * i.e. that the process is expected to be stopping (but not necessarily to be stopped yet). - */ - int STOPPING = 2; - - /** - * Initialize the process. This typically involves waiting for the process to be completely - * started and to configure the server process, e.g. to deploy services. - * - * @param logger - * @param process - * @throws Exception - */ - void initializeProcess(Logger logger, Process process) throws Exception; - - /** - * Prepare the process for shutdown. Typically (but not necessarily) this involves sending a - * request to initiate a clean shutdown of the process. - * - * @param logger - * @return - * @throws Exception - */ - int shutdownProcess(Logger logger) throws Exception; -} diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java similarity index 74% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java rename to maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java index 2e0767239..1c8af6fc5 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonProcessControl.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java @@ -28,16 +28,28 @@ import org.codehaus.plexus.logging.Logger; -public class DaemonProcessControl implements ProcessControl { +public class RemoteDaemon { + private final Process process; + private final String description; private final int controlPort; private BufferedReader controlIn; private Writer controlOut; - public DaemonProcessControl(int controlPort) { + public RemoteDaemon(Process process, String description, int controlPort) { + this.process = process; + this.description = description; this.controlPort = controlPort; } - public void initializeProcess(Logger logger, Process process) throws Exception { + public Process getProcess() { + return process; + } + + public String getDescription() { + return description; + } + + public void startDaemon(Logger logger) throws Exception { logger.debug("Attempting to establish control connection on port " + controlPort); Socket controlSocket; while (true) { @@ -45,6 +57,12 @@ public void initializeProcess(Logger logger, Process process) throws Exception { controlSocket = new Socket(InetAddress.getByName("localhost"), controlPort); break; } catch (IOException ex) { + try { + int exitValue = process.exitValue(); + throw new IllegalStateException("Process terminated prematurely with exit code " + exitValue); + } catch (IllegalThreadStateException ex2) { + // Process is still running; continue + } Thread.sleep(100); } } @@ -56,11 +74,10 @@ public void initializeProcess(Logger logger, Process process) throws Exception { logger.debug("Daemon is ready"); } - public int shutdownProcess(Logger logger) throws Exception { + public void stopDaemon(Logger logger) throws Exception { controlOut.write("STOP\r\n"); controlOut.flush(); expectStatus("STOPPED"); - return STOPPING; } private void expectStatus(String expectedStatus) throws IOException { diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java index 9455e8b24..40e612b31 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java @@ -19,8 +19,6 @@ package org.apache.axis.tools.maven.server; import java.io.File; -import java.io.IOException; -import java.net.ServerSocket; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -32,7 +30,7 @@ * @phase pre-integration-test * @requiresDependencyResolution test */ -public class StartDaemonMojo extends AbstractStartProcessMojo { +public class StartDaemonMojo extends AbstractStartDaemonMojo { /** * The daemon class. * @@ -56,23 +54,8 @@ public class StartDaemonMojo extends AbstractStartProcessMojo { */ private File workDir; - protected void doExecute() throws MojoExecutionException, MojoFailureException { - int controlPort; - try { - ServerSocket ss = new ServerSocket(0); - controlPort = ss.getLocalPort(); - ss.close(); - } catch (IOException ex) { - throw new MojoFailureException("Failed to allocate port number", ex); - } + protected void doStartDaemon() throws MojoExecutionException, MojoFailureException { workDir.mkdirs(); - String[] vmArgs = new String[args != null ? args.length + 2 : 2]; - vmArgs[0] = daemonClass; - vmArgs[1] = String.valueOf(controlPort); - if (args != null) { - System.arraycopy(args, 0, vmArgs, 2, args.length); - } - addAxisDependency("daemon-launcher"); - startJavaProcess(daemonClass, "org.apache.axis.tools.daemon.Launcher", vmArgs, workDir, new DaemonProcessControl(controlPort)); + startDaemon(daemonClass, daemonClass, args, workDir); } } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index 16f94b323..cd5cbe587 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -27,7 +27,6 @@ import java.util.ArrayList; import java.util.List; -import org.apache.axis.client.AdminClient; import org.apache.axis.model.wsdd.Deployment; import org.apache.axis.model.wsdd.WSDDUtil; import org.apache.maven.plugin.MojoExecutionException; @@ -46,7 +45,7 @@ * @phase pre-integration-test * @requiresDependencyResolution test */ -public class StartServerMojo extends AbstractStartProcessMojo { +public class StartServerMojo extends AbstractStartDaemonMojo { /** * @parameter default-value="${project.build.directory}/axis-server" * @required @@ -114,7 +113,7 @@ public class StartServerMojo extends AbstractStartProcessMojo { */ private int foregroundPort = -1; - protected void doExecute() throws MojoExecutionException, MojoFailureException { + protected void doStartDaemon() throws MojoExecutionException, MojoFailureException { Log log = getLog(); // Need to setup additional dependencies before building the default configuration! @@ -209,15 +208,11 @@ protected void doExecute() throws MojoExecutionException, MojoFailureException { args.add("-m"); args.add(String.valueOf(maxSessions)); try { - AdminClient adminClient = new AdminClient(true); - adminClient.setTargetEndpointAddress(new URL("http://localhost:" + actualPort + "/axis/services/AdminService")); - startJavaProcess( + startDaemon( "Server on port " + actualPort, - "org.apache.axis.server.standalone.StandaloneAxisServer", + "org.apache.axis.server.standalone.daemon.AxisServerDaemon", (String[])args.toArray(new String[args.size()]), - workDir, - new AxisServerProcessControl(actualPort, adminClient, - isDebug() || foreground ? Integer.MAX_VALUE : 20000)); + workDir); } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java index 5979442d6..fc3b86395 100644 --- a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java +++ b/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java @@ -27,10 +27,10 @@ * @goal stop-all * @phase post-integration-test */ -public class StopAllMojo extends AbstractServerMojo { +public class StopAllMojo extends AbstractDaemonControlMojo { protected void doExecute() throws MojoExecutionException, MojoFailureException { try { - getProcessManager().stopAll(); + getDaemonManager().stopAll(); } catch (Exception ex) { throw new MojoFailureException("Errors occurred while attempting to stop processes", ex); } diff --git a/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml b/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml index 87a9f7a8b..08879d412 100644 --- a/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml +++ b/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml @@ -20,8 +20,8 @@ - org.apache.axis.tools.maven.server.ProcessManager - org.apache.axis.tools.maven.server.DefaultProcessManager + org.apache.axis.tools.maven.server.DaemonManager + org.apache.axis.tools.maven.server.DefaultDaemonManager \ No newline at end of file From 701ca89074775425bcdafe0640a432d0dc625f96 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 11 Dec 2012 19:22:12 +0000 Subject: [PATCH 016/133] Added a goal to the maven-axis-server-plugin that allows to run a Jetty instance in a separate JVM (and that is more convenient than jetty-maven-plugin). --- axis-standalone-server/pom.xml | 3 - jetty-daemon/pom.xml | 58 +++++++++++++ .../axis/tools/daemon/jetty/WebAppDaemon.java | 85 +++++++++++++++++++ .../tools/maven/server/StartWebAppMojo.java | 56 ++++++++++++ pom.xml | 12 +++ tests/spring-compat-tests/pom.xml | 37 +++----- 6 files changed, 223 insertions(+), 28 deletions(-) create mode 100644 jetty-daemon/pom.xml create mode 100644 jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java create mode 100644 maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java diff --git a/axis-standalone-server/pom.xml b/axis-standalone-server/pom.xml index 7a0f5e937..d8d8e8180 100644 --- a/axis-standalone-server/pom.xml +++ b/axis-standalone-server/pom.xml @@ -46,17 +46,14 @@ commons-cli commons-cli - 1.2 commons-daemon commons-daemon - org.mortbay.jetty jetty - 6.1.26 diff --git a/jetty-daemon/pom.xml b/jetty-daemon/pom.xml new file mode 100644 index 000000000..ccf5e03da --- /dev/null +++ b/jetty-daemon/pom.xml @@ -0,0 +1,58 @@ + + + + 4.0.0 + + org.apache.axis + axis-project + 1.4.1-SNAPSHOT + ../pom.xml + + jetty-daemon + Jetty Daemon + + Daemon implementation used by maven-axis-server-plugin to launch a Jetty server in a separate JVM. + + + + commons-daemon + commons-daemon + + + commons-cli + commons-cli + + + org.mortbay.jetty + jetty + + + + + + maven-site-plugin + + true + true + + + + + diff --git a/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java b/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java new file mode 100644 index 000000000..f65a7fea5 --- /dev/null +++ b/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.daemon.jetty; + +import java.io.File; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.GnuParser; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.daemon.Daemon; +import org.apache.commons.daemon.DaemonContext; +import org.apache.commons.daemon.DaemonInitException; +import org.mortbay.jetty.Server; +import org.mortbay.jetty.webapp.WebAppContext; +import org.mortbay.resource.Resource; +import org.mortbay.resource.ResourceCollection; + +/** + * + * + * @author Andreas Veithen + */ +public class WebAppDaemon implements Daemon { + private Server server; + + public void init(DaemonContext daemonContext) throws DaemonInitException, Exception { + Options options = new Options(); + + { + Option option = new Option("p", true, "the HTTP port"); + option.setArgName("port"); + option.setRequired(true); + options.addOption(option); + } + + { + Option option = new Option("r", true, "a list of resource directories"); + option.setArgName("dirs"); + option.setRequired(true); + options.addOption(option); + } + + CommandLineParser parser = new GnuParser(); + CommandLine cmdLine = parser.parse(options, daemonContext.getArguments()); + + server = new Server(Integer.parseInt(cmdLine.getOptionValue("p"))); + WebAppContext context = new WebAppContext(server, null, "/"); + String[] resourceDirs = cmdLine.getOptionValue("r").split(File.pathSeparator); + Resource[] resources = new Resource[resourceDirs.length]; + for (int i=0; idistribution integration interop-mock + jetty-daemon maven samples soapmonitor-applet @@ -137,6 +138,17 @@ commons-daemon 1.0.10 + + commons-cli + commons-cli + 1.2 + + + + org.mortbay.jetty + jetty + 6.1.26 + diff --git a/tests/spring-compat-tests/pom.xml b/tests/spring-compat-tests/pom.xml index 21b3a1a4e..01c34b292 100644 --- a/tests/spring-compat-tests/pom.xml +++ b/tests/spring-compat-tests/pom.xml @@ -105,7 +105,6 @@ pre-integration-test - jetty.stopPort test.httpPort @@ -113,39 +112,27 @@ - org.mortbay.jetty - jetty-maven-plugin - - foo - ${jetty.stopPort} - - - ${test.httpPort} - - - - - ${basedir}/src/main/webapp - ${project.build.directory}/webapp - - - + ${project.groupId} + maven-axis-server-plugin + ${project.version} - start-jetty - pre-integration-test + start-webapp - run + start-webapp - true + ${test.httpPort} + + src/main/webapp + ${project.build.directory}/webapp + - stop-jetty - post-integration-test + stop-all - stop + stop-all From a8dcc9ba3920863bc6907ec9f3ee6e94cf1fc6d3 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 16 Dec 2012 16:55:27 +0000 Subject: [PATCH 017/133] Report configurations should not be inherited by child projects. --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 88132e935..cbdd6bf07 100644 --- a/pom.xml +++ b/pom.xml @@ -365,6 +365,7 @@ maven-project-info-reports-plugin 2.4 + false @@ -381,6 +382,7 @@ org.apache.maven.plugins maven-javadoc-plugin 2.8.1 + false aggregate From 070c3c077453eb97d5790bd4da00d7b2de29a8e0 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 6 Mar 2013 20:05:29 +0000 Subject: [PATCH 018/133] Improved Javadoc generation. --- apidocs/pom.xml | 188 ++++++++++++++++++++++++++++++++++++++++++++++++ pom.xml | 40 ++++++----- 2 files changed, 209 insertions(+), 19 deletions(-) create mode 100644 apidocs/pom.xml diff --git a/apidocs/pom.xml b/apidocs/pom.xml new file mode 100644 index 000000000..9e0ffa8e2 --- /dev/null +++ b/apidocs/pom.xml @@ -0,0 +1,188 @@ + + + + 4.0.0 + + org.apache.axis + axis-project + 1.4.1-SNAPSHOT + ../pom.xml + + apidocs + Javadoc + ${baseUrl}/apiDocs + + + axis + ${baseSiteUrl}/apiDocs + + + + + ${project.groupId} + axis-ant + ${project.version} + + + ${project.groupId} + axis-codegen + ${project.version} + + + ${project.groupId} + axis-jaxrpc + ${project.version} + + + ${project.groupId} + axis-rt-compat + ${project.version} + + + ${project.groupId} + axis-rt-core + ${project.version} + + + ${project.groupId} + axis-rt-databinding-castor + ${project.version} + + + ${project.groupId} + axis-rt-databinding-xmlbeans + ${project.version} + + + ${project.groupId} + axis-rt-jws + ${project.version} + + + ${project.groupId} + axis-rt-management + ${project.version} + + + ${project.groupId} + axis-rt-provider-bsf + ${project.version} + + + ${project.groupId} + axis-rt-soapmonitor + ${project.version} + + + ${project.groupId} + axis-rt-transport-http-hc3 + ${project.version} + + + ${project.groupId} + axis-rt-transport-http-javanet + ${project.version} + + + ${project.groupId} + axis-rt-transport-jms + ${project.version} + + + ${project.groupId} + axis-rt-transport-mail + ${project.version} + + + ${project.groupId} + axis-saaj + ${project.version} + + + ${project.groupId} + axis-standalone-server + ${project.version} + + + ${project.groupId} + axis-tools + ${project.version} + + + ${project.groupId} + soapmonitor-client + ${project.version} + + + ${project.groupId} + tcpmon + ${project.version} + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9 + + + site-javadoc + site + + javadoc + + + ${project.reporting.outputDirectory} + . + + + + + true + + ${project.groupId}:* + + + org.xmlsoap.schemas.* + + false + + http://download.oracle.com/javaee/1.4/api/ + + true + + true + Apache Axis + Copyright © {organizationName}. All Rights Reserved. + + Apache Axis ${project.version} + + + + maven-site-plugin + + true + + + + + diff --git a/pom.xml b/pom.xml index cbdd6bf07..a04db07e7 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,7 @@ 2000 + apidocs axis axis-ant axis-codegen @@ -326,6 +327,26 @@ + + + maven-source-plugin + + + + attach-sources + + jar + + + + + true + + @@ -378,25 +399,6 @@ - - org.apache.maven.plugins - maven-javadoc-plugin - 2.8.1 - false - - - aggregate - - aggregate - - - 1.4 - test.*:samples.* - apiDocs - - - - From d79bc8732748b880f1cde164ab6fbe96f1acd9c9 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 7 Mar 2013 19:21:44 +0000 Subject: [PATCH 019/133] Migrated soapmonitor-user-guide from the old Forrest sources. --- src/site/resources/images/AfterTurnOff.jpg | Bin 0 -> 29496 bytes src/site/resources/images/AfterTurnOn.jpg | Bin 0 -> 29617 bytes .../resources/images/ConnectionRefused.jpg | Bin 0 -> 6968 bytes src/site/resources/images/DataLoading.jpg | Bin 0 -> 26091 bytes src/site/resources/images/DeployStatus.jpg | Bin 0 -> 31186 bytes src/site/resources/images/InitialScreen.jpg | Bin 0 -> 29180 bytes src/site/resources/images/LoginDialog.jpg | Bin 0 -> 11293 bytes .../resources/images/MonitoringScreen.jpg | Bin 0 -> 65863 bytes .../resources/images/ToDisableMonitoring.jpg | Bin 0 -> 30606 bytes .../resources/images/ToEnableMonitoring.jpg | Bin 0 -> 30721 bytes src/site/resources/images/Unauthorized.jpg | Bin 0 -> 5247 bytes src/site/resources/images/UnknownHost.jpg | Bin 0 -> 6071 bytes src/site/xdoc/soapmonitor-user-guide.xml | 207 ++++++++++++++++++ 13 files changed, 207 insertions(+) create mode 100644 src/site/resources/images/AfterTurnOff.jpg create mode 100644 src/site/resources/images/AfterTurnOn.jpg create mode 100644 src/site/resources/images/ConnectionRefused.jpg create mode 100644 src/site/resources/images/DataLoading.jpg create mode 100644 src/site/resources/images/DeployStatus.jpg create mode 100644 src/site/resources/images/InitialScreen.jpg create mode 100644 src/site/resources/images/LoginDialog.jpg create mode 100644 src/site/resources/images/MonitoringScreen.jpg create mode 100644 src/site/resources/images/ToDisableMonitoring.jpg create mode 100644 src/site/resources/images/ToEnableMonitoring.jpg create mode 100644 src/site/resources/images/Unauthorized.jpg create mode 100644 src/site/resources/images/UnknownHost.jpg create mode 100644 src/site/xdoc/soapmonitor-user-guide.xml diff --git a/src/site/resources/images/AfterTurnOff.jpg b/src/site/resources/images/AfterTurnOff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a2dbc311ae627744b53164077b0a3e7a9331546 GIT binary patch literal 29496 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/AfterTurnOn.jpg b/src/site/resources/images/AfterTurnOn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7604743efbef2e39d2d0675c62b0e217264c210b GIT binary patch literal 29617 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 QTlFD$KzEMPMKrDJKW3cAw*UYD literal 0 HcmV?d00001 diff --git a/src/site/resources/images/ConnectionRefused.jpg b/src/site/resources/images/ConnectionRefused.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2392a376204c615d83a6c3b061fc7a57b52caf88 GIT binary patch literal 6968 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 TGq|3Zx*&*K@{wo4Nn`&3GHYT? literal 0 HcmV?d00001 diff --git a/src/site/resources/images/DataLoading.jpg b/src/site/resources/images/DataLoading.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34bb6d98be9ab1d5bc0e5b4514092b28480a4bc5 GIT binary patch literal 26091 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/DeployStatus.jpg b/src/site/resources/images/DeployStatus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..066782e6cee0c9038333c27d5db47c49d930e229 GIT binary patch literal 31186 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 J8v{d){V$88f2RNd literal 0 HcmV?d00001 diff --git a/src/site/resources/images/MonitoringScreen.jpg b/src/site/resources/images/MonitoringScreen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba52f69664cd0a4f9f20132f84dbf5aa20382643 GIT binary patch literal 65863 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ℜz)Gk{D2dgE>&G{#FCnOLkcTBm~4wVdf1<@40fF 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 g%hIr(yU;b!RJOBUy literal 0 HcmV?d00001 diff --git a/src/site/resources/images/ToDisableMonitoring.jpg b/src/site/resources/images/ToDisableMonitoring.jpg new file mode 100644 index 0000000000000000000000000000000000000000..63c29f0d546886a127024034cac6a43217cd387e GIT binary patch literal 30606 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 aE9OVQD?P1335%SI+LZo2`5dX$-v0m$=;qG= literal 0 HcmV?d00001 diff --git a/src/site/resources/images/ToEnableMonitoring.jpg b/src/site/resources/images/ToEnableMonitoring.jpg new file mode 100644 index 0000000000000000000000000000000000000000..358e49b275e1dd110ffa2b3c4a24ceebc2239c2e GIT binary patch literal 30721 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/Unauthorized.jpg b/src/site/resources/images/Unauthorized.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7757f4d3a965e148cb2ab69cc818d57fe218f60d GIT binary patch literal 5247 zcmeHKcTf~rw{IAd1Q8sNoLN{IKr$#Wus8%2a6~eqf-n*Ui4MtD6x1O}RFI&!@} zC{aE>NtItwr{okB6$K^KG*so)WfTG_-W|3`ZE5U_kjXfSL+{pr%34($dht z=pgt#K*L7ME-a@_cN}}2Uc>__e?R&agXnL?A2}{{uZk(yc?KV0J00 zUt8bU+}hqD?d~1&q5=?q()x?pKk;INc~R5QAZX|hc~Mc{fd#=vLn|yt$F7Z~zwU8d zME*Vl^0(+$#UGD|DqLFSu=DI@v9i3caWHm)t}8<~Mbr@ z+nGjubJ6LR_ObM?4pM2uReY7$An*Kw7O_r4NlNewo7#<($VFtKytlp4aj8x_VuB|E zwZQ2v0|@wF0s)OC&5Z?t5YUzy4*~a@A%IW_ezLN2HnGXt_P0HkTTK(}#CCeBL@RLA zBZ7GH2oRMlzc4alJ?6yYmco%zX&q#>(5~rXH0>*j^3!Ep64J$tRQQG8lGp3HYO4>L=SjnmU+RFX{K}%S9&D{VMbOfJvnw`_^j+ka_1$L4aFx#7W%}aC*QH zcAPt<)}x+M^9GzAF@j%#lv?#boxUz|wbK}h6#@nd)tpUV&u`Yn zY2@#x+#}u36WsOfg~`L=Rb(un(PvDq9t6kHu%%TTISJ4D=0M2+%bnB3#Da_PwbVYM zAfncC=p(iiU`w{qq@z;tR`E_jw$HA?2m2tJlA<9XffHW;mDqIp$>IF!&bYaJxqSEH zuiLCHnzQ=qSF#0n?HwTCF0DGgkPIv3MenalrNC+e7=s=RcU661MP7v=PJcoYHeraA zF$|$~cF6cs%gp#1#{{h0tZrxAq^ZsqoQ^L#AXzp3sUu_wH#*3()C~iC$9ATjwF_+0 zc5&{oI8L&5tnRD^KmmLj(luOoN|Nl?=L8wPA=kSxV{f9H&ETXW~>!JLJ#i zxp5Clwo65VjHU05cUKN=hh52b8HFZNMkw!!HaJ>HP0iSvzD00?FW4n0$llfYhHC}k z=-TIVZ(=2QFH&poR`UCKFrIS4@FT60?%?dR=N}jbt2rd}ky~SsmmkD*e$+EXyubTk zwMd8*E!8nOfYT5P2j~EH?S96Sxh5i0(`pm`XHbXcKb_0Xj!OyzDWAJBi&(la4{_G%Cb@98O&Y zXDAdnpxBHBnaYb{pcVKh(2by3YoYOwRZ@`I=hffqshT`4q7++K^a>HqM@sW?*sb|j zi$Z?4N$&ZqyMC~Sx+n-}=xwequmRgTq7JqpfNbdRgADS`4qy;)))bhpr`V$ERw^K1 z(uw$iCmXgQOm=^%j+C_NFS)mbg;98Q`drpsd?^IHAAx`;Sy9yU_7v-3aO@VWdf+AY z{6e|T{Hm((c!WOK7GV6xX8fvcI(oXi=wN${Y#CbScrEk@(WI_NVezo=o9C&Zx!0QD=e9A8EO<&xrIckA- zUIp7M&?~Pg$hC`CN{4%@20I5BuVal)7q8S);wk9p-G_XX|(#Y-F=~;Hh;3CgZ$$6((fP$!65!%O%O-H z131!UQaL;2g)+4wRR!7lTKKe+$4qyeHXPRs^lY=TZd%n?%|y|X&$5XG-)7(of6$dJ zL{ZAH$;U##CnaK77@u9U={FyDN?XFgK)cunS=>txMSb$tIGdmn9lMsO^BJQYQcwUj9tfM#A&G|qjtX@8>cax zCHDA=fm#DLM~tOmX=*}uB1WyAx6#)_%xTVm!zwKy3&pRng=zL6Dd z*>{ikx2BdX&E05^O-1H%4Duos2KTYRa&)ZT32~+@@Ak(}6WYO;NG-3%!Pd%kaup% zqH~c7(OrZTeQa`$RI7x;jOy@S5~o>uXQ!%)`}LTWa5p>8j>sXgWZw=C--~$PE}~49 z{QNP{^}EH{^a1Hgwzln&m?vzAGjF(vd@sDn+L6P!Q1_!Q1|od&X{F%Wd?N%rd{m#d z8UqIg1_Bs-a}ElocR@I#>UGM66T6x`nig?QZaQniwETh_UigKrzDL?<(^ z>T^@Sj}6Txp4!CevC(s7`G6YT5$2rBkxivac?PqQJ;ApBZQwAS-4RH(pz8RC}^DK?x{Tw*nw|sLaM51QK+ z&lk(0j_G97<2>v(x;*Y=+1iZOe&$cTG=h4W9Mj_#@?t;3NQZORI0$nB@wm5!+nqCu z=EP}C#kRL}w!+DfW1k(8B*G+F+o@S99X`l0d;fN=ca#4L=1JWfKc6f8msqgV5yQi( zJ#32NZGMS%vA195`PHN)7LUOeP71G1cRYGX)^O*Hd1lU;d!x2I##GbmfMD^tR8AqT2$G|Lx&lY}`&h4=aLrg!>5taCnK|xwk?{cX`fTCTPAY}6BBuE)pJ3tkIfPSZ;#0FvnhIwTeY z{IhTnLAJUnw`Y_piS?ozMZBa42oUwI+iFF}t1kZ%VES`!kXZ!*R&`q)=uNhZJwQ4^ zk_(GL0{=lSbIx9@tgNZWb!6C}r z5Bq*;S0T>rHKznwpKPQ4wX**C7Ovkr7m0Z+nf6hWGP=6!pA352yU7Lu9s5~vu0wUc zx2_T0n!9@Kar;@X49%MYa-sZ9zfiz-FY4|`@9KgI z>l{DqgILi$diE-&@QK0Vwvqy=JjJS>t>;CBGB@hJN(=N@KlUC97CG6D6bqa}%&2@9 z4-4m0w<|+USM*HPSaeL3`w2Kaw)otnA}wVQ%CsRRuRzt>#>_4tr^WqV;w@p!U?5z1 zj=enjMqIe0qx`v!7VX#sF>*)S@p7+c!>c>wu+!!Te)VwI$=JAd2KCOUR=#PTCD~&c ze~#VEK$}}qUZG|8`L$r`P}=Pp4G0kFgu}!3HU#{jj=bjtN8SI)<)(Zk3%lfwo%i|W zbq;3clowJVL~F#9PsML38e9d$AFTQk2yV8aY0s;rHIOhaq%XV) zhk~AvS))IoEd*C`f0|0ZMEs5V{|)~uFLl(`z5D8>zTcYUbo)er&j;A)(9pjD0+kA@ literal 0 HcmV?d00001 diff --git a/src/site/resources/images/UnknownHost.jpg b/src/site/resources/images/UnknownHost.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6b294e388c6756a95d5df531e633f55d86af0388 GIT binary patch literal 6071 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 HNkjhu1U9`q literal 0 HcmV?d00001 diff --git a/src/site/xdoc/soapmonitor-user-guide.xml b/src/site/xdoc/soapmonitor-user-guide.xml new file mode 100644 index 000000000..88c168947 --- /dev/null +++ b/src/site/xdoc/soapmonitor-user-guide.xml @@ -0,0 +1,207 @@ + + + + + SOAPMonitor User's Guide + + + +

    + + + +
    + +
    + +

    Web service developers often have the need to see the SOAP messages being used to invoke web services along with the results of those messages. The goal of the SOAP Monitor utility is to provide a way for these developers to monitor the SOAP messages being used without requiring any special configuration or restarting of the server.

    + + + +

    It's a utility what can be found in the org.apache.axis.utils package. It provides the monitoring capability described above to Web service developers.

    + +
    + + +

    It's a good opportunity for using this utility that you hope to monitor the SOAP messages for debugging. You can see all SOAP messages of what you want to monitor without any additional developments, special configurations or restarting of the application server.

    +

    Please note that it doesn't display any protocol specific data such as HTTP protocol headers. If you need to do this, you should use the TCP Monitor (tcpmon). Please see the Axis User's Guide for details on tcpmon.

    + + + +
    + +
    + + + +
      +
    • step 1: Create an account for the administrator +

      Open and edit the "webapps/axis/WEB-INF/users.lst".
      + The default account for administrator is "admin", set a password to anything you want.

      +

      ex.) Like as follows; - i.e. "admin password".

      + user1 pass1 +user2 +user3 pass3 +admin password +
    • + +
    • step 2: Setting CLASSPATH +

      Before running this utility, you'll need to make sure that your CLASSPATH includes:

      +
        +
      • axis.jar
      • +
      • jaxrpc.jar
      • +
      • saaj.jar
      • +
      • commons-logging.jar
      • +
      • commons-discovery.jar
      • +
      • activation.jar
      • +
      • mail.jar
      • +
      • A JAXP-1.1 compliant XML parser such as Xerces or Crimson
      • +
      +
    • + +
    • That's all.
    • +
    + +
    + + + +
      +
    • step 0: Make sure you have completed the preparation phase.
    • + +
    • step 1: Start the SOAPMonitor application. +

      % java org.apache.axis.utils.SOAPMonitor [-u admin] [-w password] [-l axisURL]

      +

      or

      +

      % javaw org.apache.axis.utils.SOAPMonitor [-u admin] [-w password] [-l axisURL]

      +
    • + +
    • step 2: Login +

      Try login with the account which you specified as an administrator.

      +

      +
    • + +
    • step 3: Please wait for a while. +

      +
    • + +
    • step 4: Administration screen will be displayed +

      +
    • + +
    • step 5-a: To enable monitoring +

      Click services to enable monitoring, then push "Turn On" button.

      +

      +

      The following screen should be displayed.

      +

      +
    • + +
    • step 5-b: To disable monitoring +

      Click services to disable monitoring, then push "Turn Off" button.

      +

      +

      The following screen should be displayed.

      +

      +
    • + +
    • step 6: Save changes +

      Push "Save changes" button to save the current state.

      +

      The following screen should be displayed.

      +

      +
    • + +
    • step 7: Monitoring +

      Push "Monitoring" tab to start monitoring with the current settings.

      +

      The following screen should be displayed.

      +

      +
    • +
    + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ItemSOAPMonitorApplet(Old version)SOAPMonitor(This version)
    App TypeAppletSwing application
    SecurityN/A (No authentication)OK (Authentication added)
    Install & Use +
      +
    1. Compile the component, at first
    2. +
    3. Deploy the soapmonitor handler to "server-config.wsdd"
    4. +
    5. Deploy a service which to be monitored with the soapmonitor handler
    6. +
    7. Have an access to "http://localhost:8080/axis/SOAPMonitor"
    8. +
    9. Redeploy the service with no soapmonitor to disable monitoring
    10. +
    +
      +
    • More detail is here.
    • +
    • All of steps are the non-GUI based operations and these process are complicated for users
    • +
    +
    Just do "java org.apache.axis.utils.SOAPMonitor" (within the axis.jar) +
      +
    • All of steps are the GUI based operations
    • +
    +
    + +
    + + + +

    You may meet the following screens, if you have an access denied.

    + +
      +
    • In case of "Unknown host": +

      +
    • +
    • In case of "Port mismatch": +

      +
    • +
    • In case of "Authorization failure": +

      +
    • +
    + +
    + +
    + + + From a98332190f09ff483e326d4b48b0e05aad6d4b2d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 7 Mar 2013 19:36:28 +0000 Subject: [PATCH 020/133] Migrated the remaining ant task documentation. --- axis-ant/src/site/site.xml | 2 + axis-ant/src/site/xdoc/foreach.xml | 100 ++++++++++++++++++ .../src/site/xdoc/runaxisfunctionaltests.xml | 73 +++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 axis-ant/src/site/xdoc/foreach.xml create mode 100644 axis-ant/src/site/xdoc/runaxisfunctionaltests.xml diff --git a/axis-ant/src/site/site.xml b/axis-ant/src/site/site.xml index 7da4ca318..75f1bc137 100644 --- a/axis-ant/src/site/site.xml +++ b/axis-ant/src/site/site.xml @@ -27,6 +27,8 @@ + + diff --git a/axis-ant/src/site/xdoc/foreach.xml b/axis-ant/src/site/xdoc/foreach.xml new file mode 100644 index 000000000..a0faa4d0b --- /dev/null +++ b/axis-ant/src/site/xdoc/foreach.xml @@ -0,0 +1,100 @@ + + + + + Foreach Task + + + +
    + +

    Call a target foreach entry in a set of parameters based on a fileset.

    +

    For Axis development; there is no support or stability associated with this task

    +<target name="target1"> + <foreach target="target2"> + <param name="param1"> + <fileset refid="fset1"/> + </param> + <param name="param2"> + <item value="jar" /> + <item value="zip" /> + </param> + </foreach> + </target> + + <target name="target2"> + <echo message="prop is ${param1}.${param2}" /> + </target> +

    Really this just a wrapper around "AntCall"
    + Added a "type" attribute that works precisely like + its equivalent in ExecuteOn. It allows + the user to specify whether directories, files, or + both directories and files from the filesets are + included as entries in the parameter set.

    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    AttributeDescriptionType
    forkIf true, forks the ant invocation.boolean
    inheritallIf true, pass all properties to the new Ant project. Defaults to true.boolean
    inheritrefsIf true, pass all references to the new Ant project. Defaults to falseboolean
    targetTarget to execute, required.java.lang.String
    verboseEnable verbose output when signing ; optional: default falseboolean
    + +
    + +
    + +

    param (org.apache.axis.tools.ant.foreach.ParamSet)

    + +
    + + +
    diff --git a/axis-ant/src/site/xdoc/runaxisfunctionaltests.xml b/axis-ant/src/site/xdoc/runaxisfunctionaltests.xml new file mode 100644 index 000000000..4904ca257 --- /dev/null +++ b/axis-ant/src/site/xdoc/runaxisfunctionaltests.xml @@ -0,0 +1,73 @@ + + + + + Runaxisfunctionaltests Task + + + +
    + +

    Ant task for starting / stopping servers and running junit in the middle. Based on the Cactus org.apache.commons.cactus.ant package, heavily munged and cruftily dumped into one file.

    +

    For Axis development; there is no support or stability associated with this task

    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    AttributeDescriptionType
    httpservertargetSets the target to call to start server 2.java.lang.String
    httpstoptargetSets the stop target. This is the target which does a HTTP admin shutdown on the simple server.java.lang.String
    tcpservertargetSets the target to call to start server 1.java.lang.String
    testtargetSets the target to call to run the tests.java.lang.String
    urlSets the target URL (just http://host:port)java.lang.String
    + +
    + + +
    From e4b262745e2f896b4b230710540eb3b8a3af1b2a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 7 Mar 2013 19:59:30 +0000 Subject: [PATCH 021/133] Added a replacement page for the outdated building-axis.html page. --- src/site/apt/building-axis.apt | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/site/apt/building-axis.apt diff --git a/src/site/apt/building-axis.apt b/src/site/apt/building-axis.apt new file mode 100644 index 000000000..c83e6d185 --- /dev/null +++ b/src/site/apt/building-axis.apt @@ -0,0 +1,38 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ---------------------- + Guide to building Axis + ---------------------- + + The current Axis trunk uses {{{http://maven.apache.org/}Maven 3}} and the build is fully automated. + To build Axis, first check out the sources from SVN: + +--------------------------------------------------------- +svn checkout https://svn.apache.org/repos/asf/axis/axis1/java/trunk axis +--------------------------------------------------------- + + Then change to the <<>> directory and execute the Maven build: + +--------------------------------------------------------- +mvn clean install +--------------------------------------------------------- + + At the time of writing, the Axis build requires at least Maven 3.0.4 and Java 1.5. The build + is configured to fail early if an incompatible Maven or Java version is detected. + Note that the compatibility of the produced artifacts with Java 1.4 is enforced using the + {{{http://mojo.codehaus.org/animal-sniffer-maven-plugin/}Animal Sniffer Plugin}}. From 486c16b3075858208b05bf6f81bdf3924fff5ee7 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 10 Mar 2013 10:49:31 +0000 Subject: [PATCH 022/133] Some site improvements. --- axis-ant/pom.xml | 2 +- axis-ant/src/site/site.xml | 2 +- axis-ant/src/site/xdoc/{index.xml => ant.xml} | 0 axis/pom.xml | 15 ++++++++------- maven/maven-axis-server-plugin/pom.xml | 2 +- maven/maven-java2wsdl-plugin/pom.xml | 2 +- maven/maven-wsdl2java-plugin/pom.xml | 2 +- maven/pom.xml | 2 +- maven/src/site/site.xml | 1 + src/site/site.xml | 2 +- src/site/xdoc/overview.xml.vm | 2 +- 11 files changed, 17 insertions(+), 15 deletions(-) rename axis-ant/src/site/xdoc/{index.xml => ant.xml} (100%) diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index be246235b..50e456504 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-ant - Axis :: Ant tasks + Ant tasks ${baseUrl}/ant diff --git a/axis-ant/src/site/site.xml b/axis-ant/src/site/site.xml index 75f1bc137..28f8d4769 100644 --- a/axis-ant/src/site/site.xml +++ b/axis-ant/src/site/site.xml @@ -20,7 +20,7 @@ - + diff --git a/axis-ant/src/site/xdoc/index.xml b/axis-ant/src/site/xdoc/ant.xml similarity index 100% rename from axis-ant/src/site/xdoc/index.xml rename to axis-ant/src/site/xdoc/ant.xml diff --git a/axis/pom.xml b/axis/pom.xml index e1ac11092..2ad6a62ca 100644 --- a/axis/pom.xml +++ b/axis/pom.xml @@ -28,13 +28,7 @@ axis Axis Uber-JAR Uber-JAR containing the same packages as the corresponding JAR from Axis 1.4. For compatibility only. - ${baseUrl}/core - - - axis - ${baseSiteUrl}/core - - + ${baseUrl} ${project.groupId} @@ -100,6 +94,13 @@ + + maven-site-plugin + + true + true + + diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/maven-axis-server-plugin/pom.xml index 7c4b29139..ace7138ed 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/maven-axis-server-plugin/pom.xml @@ -27,7 +27,7 @@ maven-axis-server-plugin maven-plugin - Axis :: Maven :: maven-axis-server-plugin + maven-axis-server-plugin Axis server Maven plugin. diff --git a/maven/maven-java2wsdl-plugin/pom.xml b/maven/maven-java2wsdl-plugin/pom.xml index 26057ba35..737362044 100644 --- a/maven/maven-java2wsdl-plugin/pom.xml +++ b/maven/maven-java2wsdl-plugin/pom.xml @@ -27,7 +27,7 @@ maven-java2wsdl-plugin maven-plugin - Axis :: Maven :: maven-java2wsdl-plugin + maven-java2wsdl-plugin Axis java2wsdl Maven plugin. diff --git a/maven/maven-wsdl2java-plugin/pom.xml b/maven/maven-wsdl2java-plugin/pom.xml index 6e984b02d..8bf96d8c9 100644 --- a/maven/maven-wsdl2java-plugin/pom.xml +++ b/maven/maven-wsdl2java-plugin/pom.xml @@ -27,7 +27,7 @@ maven-wsdl2java-plugin maven-plugin - Axis :: Maven :: maven-wsdl2java-plugin + maven-wsdl2java-plugin Axis wsdl2java Maven plugin. diff --git a/maven/pom.xml b/maven/pom.xml index 6a0a927ae..f38813f77 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -26,7 +26,7 @@ ../pom.xml maven - Axis :: Maven + Axis Maven Plugins pom Root POM for the Axis Maven plugins. diff --git a/maven/src/site/site.xml b/maven/src/site/site.xml index 1b0772ebd..005634d1f 100644 --- a/maven/src/site/site.xml +++ b/maven/src/site/site.xml @@ -25,6 +25,7 @@ + diff --git a/src/site/site.xml b/src/site/site.xml index e8f9c8aa9..28fdfc79a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -72,7 +72,7 @@ - + diff --git a/src/site/xdoc/overview.xml.vm b/src/site/xdoc/overview.xml.vm index d6d6f5302..a36c1bc5b 100644 --- a/src/site/xdoc/overview.xml.vm +++ b/src/site/xdoc/overview.xml.vm @@ -46,7 +46,7 @@
      -
    • API Documentation
    • +
    • API Documentation
    • Building Axis - Guidelines for building Axis with/without optional components.
    • Developer's Guide - Collection of guidelines for developing code in Axis.
    • Integration Guide - Description of APIs and development direction to allow integration into an existing web application server.
    • From 2f1ca946f140b67affa73bbb12f76323cdb293eb Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 30 Apr 2013 10:33:19 +0000 Subject: [PATCH 023/133] Switched to the latest version of maven-fluido-skin. --- src/site/site.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/site/site.xml b/src/site/site.xml index 28fdfc79a..e576b9d8b 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -21,13 +21,15 @@ org.apache.maven.skins maven-fluido-skin - 1.0 + 1.3.0 - true + + ws.apache.org/axis/java + From ea0f367b8c549fdecaa17a05423cef55dfc8d2b1 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 30 Apr 2013 21:16:56 +0000 Subject: [PATCH 024/133] * Clarified the relationship between the individual artifacts and the all-in-one artifact. * Some general site improvements. --- axis-ant/pom.xml | 2 +- axis-ant/src/site/site.xml | 2 +- axis-codegen/pom.xml | 1 + axis-codegen/src/site/site.xml | 24 +++ axis-jaxrpc/pom.xml | 32 +++- axis-jaxrpc/src/site/site.xml | 24 +++ axis-rt-compat/pom.xml | 24 +++ axis-rt-compat/src/site/site.xml | 24 +++ axis-rt-core/pom.xml | 2 + axis-rt-core/src/site/site.xml | 5 +- axis-rt-databinding-castor/pom.xml | 3 +- axis-rt-databinding-castor/src/site/site.xml | 7 +- axis-rt-databinding-xmlbeans/pom.xml | 24 +++ .../src/site/site.xml | 24 +++ axis-rt-jws/pom.xml | 24 +++ axis-rt-management/pom.xml | 24 +++ axis-rt-management/src/site/site.xml | 24 +++ axis-rt-provider-bsf/pom.xml | 24 +++ axis-rt-provider-bsf/src/site/site.xml | 24 +++ axis-rt-soapmonitor/pom.xml | 26 ++- axis-rt-soapmonitor/src/site/site.xml | 24 +++ axis-rt-transport-http-hc3/pom.xml | 1 + axis-rt-transport-http-hc3/src/site/site.xml | 24 +++ axis-rt-transport-http-javanet/pom.xml | 3 +- .../src/site/site.xml | 7 +- axis-rt-transport-jms/pom.xml | 3 +- axis-rt-transport-jms/src/site/site.xml | 7 +- axis-rt-transport-mail/pom.xml | 24 +++ axis-rt-transport-mail/src/site/site.xml | 24 +++ axis-saaj/pom.xml | 32 +++- axis-saaj/src/site/site.xml | 24 +++ axis-standalone-server/pom.xml | 3 +- axis-standalone-server/src/site/site.xml | 7 +- axis-tools/pom.xml | 1 + axis-tools/src/site/site.xml | 24 +++ axis/pom.xml | 7 + src/site/site.xml | 16 +- src/site/xdoc/artifacts.xml | 149 ++++++++++++++++++ tcpmon/pom.xml | 24 +++ tcpmon/src/site/site.xml | 24 +++ 40 files changed, 720 insertions(+), 52 deletions(-) create mode 100644 axis-codegen/src/site/site.xml create mode 100644 axis-jaxrpc/src/site/site.xml create mode 100644 axis-rt-compat/src/site/site.xml create mode 100644 axis-rt-databinding-xmlbeans/src/site/site.xml create mode 100644 axis-rt-management/src/site/site.xml create mode 100644 axis-rt-provider-bsf/src/site/site.xml create mode 100644 axis-rt-soapmonitor/src/site/site.xml create mode 100644 axis-rt-transport-http-hc3/src/site/site.xml create mode 100644 axis-rt-transport-mail/src/site/site.xml create mode 100644 axis-saaj/src/site/site.xml create mode 100644 axis-tools/src/site/site.xml create mode 100644 src/site/xdoc/artifacts.xml create mode 100644 tcpmon/src/site/site.xml diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 50e456504..50a8a77c1 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-ant - Ant tasks + Ant Tasks ${baseUrl}/ant diff --git a/axis-ant/src/site/site.xml b/axis-ant/src/site/site.xml index 28f8d4769..5690e9b05 100644 --- a/axis-ant/src/site/site.xml +++ b/axis-ant/src/site/site.xml @@ -17,7 +17,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/axis-codegen/pom.xml b/axis-codegen/pom.xml index 3356c9376..7684a34e9 100644 --- a/axis-codegen/pom.xml +++ b/axis-codegen/pom.xml @@ -64,6 +64,7 @@ index + summary dependencies diff --git a/axis-codegen/src/site/site.xml b/axis-codegen/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-codegen/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-jaxrpc/pom.xml b/axis-jaxrpc/pom.xml index f52517077..c94641a55 100644 --- a/axis-jaxrpc/pom.xml +++ b/axis-jaxrpc/pom.xml @@ -26,7 +26,15 @@ ../pom.xml axis-jaxrpc - Axis :: JAX-RPC + JAX-RPC API + Contains the JAX-RPC 1.1 API + ${baseUrl}/jaxrpc + + + axis + ${baseSiteUrl}/jaxrpc + + ${project.groupId} @@ -58,13 +66,23 @@ + + + + - maven-site-plugin - - true - true - + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + - + diff --git a/axis-jaxrpc/src/site/site.xml b/axis-jaxrpc/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-jaxrpc/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-compat/pom.xml b/axis-rt-compat/pom.xml index 89e21e504..38df925f0 100644 --- a/axis-rt-compat/pom.xml +++ b/axis-rt-compat/pom.xml @@ -30,6 +30,13 @@ Contains deprecated classes that are required for compatibility with older Axis versions. + ${baseUrl}/compat + + + axis + ${baseSiteUrl}/compat + + ${project.groupId} @@ -49,4 +56,21 @@ true + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-compat/src/site/site.xml b/axis-rt-compat/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-compat/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 8a6ac8b95..4cb049f75 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -223,6 +223,8 @@ + index + summary dependencies diff --git a/axis-rt-core/src/site/site.xml b/axis-rt-core/src/site/site.xml index 6d9b412b9..e36a18137 100644 --- a/axis-rt-core/src/site/site.xml +++ b/axis-rt-core/src/site/site.xml @@ -19,9 +19,6 @@ --> - - - - + diff --git a/axis-rt-databinding-castor/pom.xml b/axis-rt-databinding-castor/pom.xml index b5e5cf1ae..13c811934 100644 --- a/axis-rt-databinding-castor/pom.xml +++ b/axis-rt-databinding-castor/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-rt-databinding-castor - Castor databinding support + Castor Databinding Contains serializers and deserializers for Castor. @@ -58,6 +58,7 @@ index + summary dependencies diff --git a/axis-rt-databinding-castor/src/site/site.xml b/axis-rt-databinding-castor/src/site/site.xml index fea33660d..18866594a 100644 --- a/axis-rt-databinding-castor/src/site/site.xml +++ b/axis-rt-databinding-castor/src/site/site.xml @@ -17,11 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - - - + diff --git a/axis-rt-databinding-xmlbeans/pom.xml b/axis-rt-databinding-xmlbeans/pom.xml index ea045f4f1..69fb9daec 100644 --- a/axis-rt-databinding-xmlbeans/pom.xml +++ b/axis-rt-databinding-xmlbeans/pom.xml @@ -27,6 +27,13 @@ axis-rt-databinding-xmlbeans XmlBeans Databinding + ${baseUrl}/xmlbeans + + + axis + ${baseSiteUrl}/xmlbeans + + ${project.groupId} @@ -55,4 +62,21 @@ + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-databinding-xmlbeans/src/site/site.xml b/axis-rt-databinding-xmlbeans/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-databinding-xmlbeans/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-jws/pom.xml b/axis-rt-jws/pom.xml index b34ffeee2..efe7115ae 100644 --- a/axis-rt-jws/pom.xml +++ b/axis-rt-jws/pom.xml @@ -27,6 +27,13 @@ axis-rt-jws JWS Support + ${baseUrl}/jws + + + axis + ${baseSiteUrl}/jws + + ${project.groupId} @@ -34,4 +41,21 @@ ${project.version} + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-management/pom.xml b/axis-rt-management/pom.xml index f8a7e4c68..b119dfa5a 100644 --- a/axis-rt-management/pom.xml +++ b/axis-rt-management/pom.xml @@ -27,6 +27,13 @@ axis-rt-management JMX Support + ${baseUrl}/jmx + + + axis + ${baseSiteUrl}/jmx + + ${project.groupId} @@ -49,4 +56,21 @@ + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-management/src/site/site.xml b/axis-rt-management/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-management/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-provider-bsf/pom.xml b/axis-rt-provider-bsf/pom.xml index 9a403497c..e61532f14 100644 --- a/axis-rt-provider-bsf/pom.xml +++ b/axis-rt-provider-bsf/pom.xml @@ -27,6 +27,13 @@ axis-rt-provider-bsf BSF Provider + ${baseUrl}/bsf + + + axis + ${baseSiteUrl}/bsf + + ${project.groupId} @@ -39,4 +46,21 @@ 2.3.0 + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-provider-bsf/src/site/site.xml b/axis-rt-provider-bsf/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-provider-bsf/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-soapmonitor/pom.xml b/axis-rt-soapmonitor/pom.xml index 8ece718ff..1eb5663c9 100644 --- a/axis-rt-soapmonitor/pom.xml +++ b/axis-rt-soapmonitor/pom.xml @@ -26,7 +26,14 @@ ../pom.xml axis-rt-soapmonitor - SOAP Monitor Handler and Service + SOAP Monitor Handler/Service + ${baseUrl}/soapmonitor/runtime + + + axis + ${baseSiteUrl}/soapmonitor/runtime + + ${project.groupId} @@ -34,4 +41,21 @@ ${project.version} + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-soapmonitor/src/site/site.xml b/axis-rt-soapmonitor/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-soapmonitor/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-transport-http-hc3/pom.xml b/axis-rt-transport-http-hc3/pom.xml index 8e3b6b5f7..0f58cb026 100644 --- a/axis-rt-transport-http-hc3/pom.xml +++ b/axis-rt-transport-http-hc3/pom.xml @@ -64,6 +64,7 @@ index + summary dependencies diff --git a/axis-rt-transport-http-hc3/src/site/site.xml b/axis-rt-transport-http-hc3/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-transport-http-hc3/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-rt-transport-http-javanet/pom.xml b/axis-rt-transport-http-javanet/pom.xml index 4a68e9089..07d00ef72 100644 --- a/axis-rt-transport-http-javanet/pom.xml +++ b/axis-rt-transport-http-javanet/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-rt-transport-http-javanet - Axis :: java.net HTTP Transport + java.net HTTP Transport An alternative HTTP transport that uses the java.net.HttpURLConnection API. This transport only works with Java 1.5. @@ -232,6 +232,7 @@ index + summary dependencies diff --git a/axis-rt-transport-http-javanet/src/site/site.xml b/axis-rt-transport-http-javanet/src/site/site.xml index 0d54edecf..18866594a 100644 --- a/axis-rt-transport-http-javanet/src/site/site.xml +++ b/axis-rt-transport-http-javanet/src/site/site.xml @@ -17,11 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - - - + diff --git a/axis-rt-transport-jms/pom.xml b/axis-rt-transport-jms/pom.xml index 024208756..e37c4e8bc 100644 --- a/axis-rt-transport-jms/pom.xml +++ b/axis-rt-transport-jms/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-rt-transport-jms - Axis :: JMS transport + JMS Transport Contains the Axis JMS transport. @@ -71,6 +71,7 @@ index + summary dependencies diff --git a/axis-rt-transport-jms/src/site/site.xml b/axis-rt-transport-jms/src/site/site.xml index ea9de8bd8..18866594a 100644 --- a/axis-rt-transport-jms/src/site/site.xml +++ b/axis-rt-transport-jms/src/site/site.xml @@ -17,11 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - - - + diff --git a/axis-rt-transport-mail/pom.xml b/axis-rt-transport-mail/pom.xml index ebd66d230..73c52ebe3 100644 --- a/axis-rt-transport-mail/pom.xml +++ b/axis-rt-transport-mail/pom.xml @@ -27,6 +27,13 @@ axis-rt-transport-mail Mail Transport + ${baseUrl}/transports/mail + + + axis + ${baseSiteUrl}/transports/mail + + ${project.groupId} @@ -43,4 +50,21 @@ 1.0.0 + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/axis-rt-transport-mail/src/site/site.xml b/axis-rt-transport-mail/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-rt-transport-mail/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-saaj/pom.xml b/axis-saaj/pom.xml index 26cdafbaa..64f264b96 100644 --- a/axis-saaj/pom.xml +++ b/axis-saaj/pom.xml @@ -26,7 +26,15 @@ ../pom.xml axis-saaj - Axis :: SAAJ + SAAJ API + Contains the SAAJ 1.2 API + ${baseUrl}/saaj + + + axis + ${baseSiteUrl}/saaj + + javax.activation @@ -52,13 +60,23 @@ + + + + - maven-site-plugin - - true - true - + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + - + diff --git a/axis-saaj/src/site/site.xml b/axis-saaj/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-saaj/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis-standalone-server/pom.xml b/axis-standalone-server/pom.xml index d8d8e8180..256b0788d 100644 --- a/axis-standalone-server/pom.xml +++ b/axis-standalone-server/pom.xml @@ -26,7 +26,7 @@ ../pom.xml axis-standalone-server - Axis :: Stand-alone server + Stand-alone Server A Jetty based stand-alone Axis server that replaces the former SimpleAxisServer. @@ -80,6 +80,7 @@ index + summary dependencies diff --git a/axis-standalone-server/src/site/site.xml b/axis-standalone-server/src/site/site.xml index fa988a1fe..18866594a 100644 --- a/axis-standalone-server/src/site/site.xml +++ b/axis-standalone-server/src/site/site.xml @@ -17,11 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + - - - - + diff --git a/axis-tools/pom.xml b/axis-tools/pom.xml index 4db3ca30f..c0a92175b 100644 --- a/axis-tools/pom.xml +++ b/axis-tools/pom.xml @@ -58,6 +58,7 @@ index + summary dependencies diff --git a/axis-tools/src/site/site.xml b/axis-tools/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/axis-tools/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/axis/pom.xml b/axis/pom.xml index 2ad6a62ca..85de8f9c3 100644 --- a/axis/pom.xml +++ b/axis/pom.xml @@ -79,13 +79,20 @@ + ${project.groupId}:axis-rt-compat ${project.groupId}:axis-rt-core ${project.groupId}:axis-rt-databinding-castor + ${project.groupId}:axis-rt-databinding-xmlbeans + ${project.groupId}:axis-rt-management ${project.groupId}:axis-rt-jws ${project.groupId}:axis-rt-provider-bsf + ${project.groupId}:axis-rt-soapmonitor + ${project.groupId}:axis-rt-transport-jms + ${project.groupId}:axis-rt-transport-http-hc3 ${project.groupId}:axis-rt-transport-mail ${project.groupId}:axis-codegen ${project.groupId}:axis-tools + ${project.groupId}:tcpmon true diff --git a/src/site/site.xml b/src/site/site.xml index e576b9d8b..00f8f6501 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -49,7 +49,7 @@ - + @@ -74,12 +74,14 @@ - - - - - - + + + + + + + + diff --git a/src/site/xdoc/artifacts.xml b/src/site/xdoc/artifacts.xml new file mode 100644 index 000000000..26aaeb5f3 --- /dev/null +++ b/src/site/xdoc/artifacts.xml @@ -0,0 +1,149 @@ + + + + + Artifacts and dependencies + + +
      +

      + Axis 1.4 was packaged into four JAR artifacts: axis-saaj, axis-jaxrpc, axis and axis-ant + (respectively named saaj.jar, jaxrpc.jar, axis.jar and axis-ant.jar in the + Axis 1.4 binary distribution). + In Axis 1.4.1, the axis JAR has been split into several smaller artifacts. This reduces the volume of + code that needs to be added to the dependencies of an Axis based project and makes dependency management easier (provided + that the project is built using Maven or a tool that can access Maven repositories). It also makes security auditing easier: + e.g. the axis artifact contains the code for the SOAP monitor, which may be considered as a security risk if it is not properly + disabled in production systems. +

      +

      + Nevertheless, Axis 1.4.1 also contains an all-in-one axis JAR that contains the same components + as in Axis 1.4. This can be used as a drop-in replacement for the axis.jar from earlier versions, + although it is strongly recommended to use the new modularized artifacts. + The table below shows the relationships between the new modularized artifacts and the all-in-one JAR in Axis 1.4.1, + and the artifacts included in Axis 1.4. + Note that new components introduced in Axis 1.4.1 are not included in the all-in-one JAR. +

      +

      + To see the dependencies of an artifact, click on the artifact's name. +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Axis 1.4Axis 1.4.1
      All-in-oneModularized
      SAAJ APIaxis-saaj
      JAX-RPC APIaxis-jaxrpc
      Runtime Coreaxisaxis-rt-core
      Castor Databindingaxis-rt-databinding-castor
      XmlBeans Databindingaxis-rt-databinding-xmlbeans
      JWS Supportaxis-rt-jws
      JMX Supportaxis-rt-management
      BSF Provideraxis-rt-provider-bsf
      JMS Transportaxis-rt-transport-jms
      HttpClient 3 Transportaxis-rt-transport-http-hc3
      Mail Transportaxis-rt-transport-mail
      Code Generatoraxis-codegen
      Command Line Toolsaxis-tools
      SOAP Monitor Handler/Serviceaxis-rt-soapmonitor
      TCP Monitortcpmon
      Compatibility Classesaxis-rt-compat
      Ant Tasksaxis-ant
      Stand-alone ServerN/Aaxis-standalone-server
      java.net HTTP TransportN/Aaxis-rt-transport-http-javanet
      +
      + +
      diff --git a/tcpmon/pom.xml b/tcpmon/pom.xml index a7c1e47e9..cff15bd2d 100644 --- a/tcpmon/pom.xml +++ b/tcpmon/pom.xml @@ -27,6 +27,13 @@ tcpmon TCP Monitor + ${baseUrl}/tcpmon + + + axis + ${baseSiteUrl}/tcpmon + + ${project.groupId} @@ -34,4 +41,21 @@ ${project.version} + + + + maven-project-info-reports-plugin + 2.4 + + + + index + summary + dependencies + + + + + + diff --git a/tcpmon/src/site/site.xml b/tcpmon/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/tcpmon/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + From 1a6e535b845a7418f39d7075220c1ef62ba13233 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 30 Apr 2013 22:11:41 +0000 Subject: [PATCH 025/133] Simplified site configuration. --- axis-ant/pom.xml | 16 ------------- axis-codegen/pom.xml | 17 -------------- axis-jaxrpc/pom.xml | 17 -------------- axis-rt-compat/pom.xml | 17 -------------- axis-rt-core/pom.xml | 13 ----------- axis-rt-databinding-castor/pom.xml | 17 -------------- axis-rt-databinding-xmlbeans/pom.xml | 17 -------------- axis-rt-jws/pom.xml | 17 -------------- axis-rt-management/pom.xml | 17 -------------- axis-rt-provider-bsf/pom.xml | 17 -------------- axis-rt-soapmonitor/pom.xml | 17 -------------- axis-rt-transport-http-hc3/pom.xml | 17 -------------- axis-rt-transport-http-javanet/pom.xml | 17 -------------- axis-rt-transport-jms/pom.xml | 17 -------------- axis-rt-transport-mail/pom.xml | 17 -------------- axis-saaj/pom.xml | 17 -------------- axis-standalone-server/pom.xml | 17 -------------- axis-tools/pom.xml | 17 -------------- maven/pom.xml | 28 +++++++++++++--------- pom.xml | 32 +++++++++++++++++++++----- tcpmon/pom.xml | 17 -------------- 21 files changed, 43 insertions(+), 335 deletions(-) diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 50a8a77c1..13a2c6d55 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -142,20 +142,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - dependencies - - - - - - diff --git a/axis-codegen/pom.xml b/axis-codegen/pom.xml index 7684a34e9..05d683536 100644 --- a/axis-codegen/pom.xml +++ b/axis-codegen/pom.xml @@ -55,21 +55,4 @@ test - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-jaxrpc/pom.xml b/axis-jaxrpc/pom.xml index c94641a55..5d7eec729 100644 --- a/axis-jaxrpc/pom.xml +++ b/axis-jaxrpc/pom.xml @@ -68,21 +68,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-compat/pom.xml b/axis-rt-compat/pom.xml index 38df925f0..43defcbf2 100644 --- a/axis-rt-compat/pom.xml +++ b/axis-rt-compat/pom.xml @@ -56,21 +56,4 @@ true - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 4cb049f75..13878340a 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -217,19 +217,6 @@ - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - org.codehaus.mojo jdepend-maven-plugin diff --git a/axis-rt-databinding-castor/pom.xml b/axis-rt-databinding-castor/pom.xml index 13c811934..5f2e8c2ce 100644 --- a/axis-rt-databinding-castor/pom.xml +++ b/axis-rt-databinding-castor/pom.xml @@ -49,21 +49,4 @@ 0.9.4.2 - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-databinding-xmlbeans/pom.xml b/axis-rt-databinding-xmlbeans/pom.xml index 69fb9daec..5e2562387 100644 --- a/axis-rt-databinding-xmlbeans/pom.xml +++ b/axis-rt-databinding-xmlbeans/pom.xml @@ -62,21 +62,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-jws/pom.xml b/axis-rt-jws/pom.xml index efe7115ae..fb885b1f0 100644 --- a/axis-rt-jws/pom.xml +++ b/axis-rt-jws/pom.xml @@ -41,21 +41,4 @@ ${project.version} - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-management/pom.xml b/axis-rt-management/pom.xml index b119dfa5a..319b87650 100644 --- a/axis-rt-management/pom.xml +++ b/axis-rt-management/pom.xml @@ -56,21 +56,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-provider-bsf/pom.xml b/axis-rt-provider-bsf/pom.xml index e61532f14..590baebe6 100644 --- a/axis-rt-provider-bsf/pom.xml +++ b/axis-rt-provider-bsf/pom.xml @@ -46,21 +46,4 @@ 2.3.0 - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-soapmonitor/pom.xml b/axis-rt-soapmonitor/pom.xml index 1eb5663c9..cd4c1c4a2 100644 --- a/axis-rt-soapmonitor/pom.xml +++ b/axis-rt-soapmonitor/pom.xml @@ -41,21 +41,4 @@ ${project.version} - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-transport-http-hc3/pom.xml b/axis-rt-transport-http-hc3/pom.xml index 0f58cb026..293b5ceb8 100644 --- a/axis-rt-transport-http-hc3/pom.xml +++ b/axis-rt-transport-http-hc3/pom.xml @@ -55,21 +55,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-transport-http-javanet/pom.xml b/axis-rt-transport-http-javanet/pom.xml index 07d00ef72..f31add548 100644 --- a/axis-rt-transport-http-javanet/pom.xml +++ b/axis-rt-transport-http-javanet/pom.xml @@ -223,21 +223,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-transport-jms/pom.xml b/axis-rt-transport-jms/pom.xml index e37c4e8bc..cfb3c78bd 100644 --- a/axis-rt-transport-jms/pom.xml +++ b/axis-rt-transport-jms/pom.xml @@ -62,21 +62,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-rt-transport-mail/pom.xml b/axis-rt-transport-mail/pom.xml index 73c52ebe3..14307f2ae 100644 --- a/axis-rt-transport-mail/pom.xml +++ b/axis-rt-transport-mail/pom.xml @@ -50,21 +50,4 @@ 1.0.0 - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-saaj/pom.xml b/axis-saaj/pom.xml index 64f264b96..b0f11fdf4 100644 --- a/axis-saaj/pom.xml +++ b/axis-saaj/pom.xml @@ -62,21 +62,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-standalone-server/pom.xml b/axis-standalone-server/pom.xml index 256b0788d..d77f4435d 100644 --- a/axis-standalone-server/pom.xml +++ b/axis-standalone-server/pom.xml @@ -71,21 +71,4 @@ - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/axis-tools/pom.xml b/axis-tools/pom.xml index c0a92175b..baac8149e 100644 --- a/axis-tools/pom.xml +++ b/axis-tools/pom.xml @@ -49,21 +49,4 @@ ${project.version} - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - diff --git a/maven/pom.xml b/maven/pom.xml index f38813f77..450046ecd 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -73,21 +73,27 @@ maven-java2wsdl-plugin maven-axis-server-plugin - + - maven-project-info-reports-plugin - 2.4 - - - - index - - - + + maven-site-plugin + false + + + + maven-project-info-reports-plugin + 2.6 + + index + + + + - + diff --git a/pom.xml b/pom.xml index a04db07e7..b3bc9710a 100644 --- a/pom.xml +++ b/pom.xml @@ -347,6 +347,26 @@ true + + + maven-site-plugin + false + + + + maven-project-info-reports-plugin + 2.6 + + index + issue-tracking + mailing-list + + scm + + + + + @@ -382,19 +402,19 @@ + maven-project-info-reports-plugin - 2.4 - false + 2.6 index - issue-tracking - mailing-list - - scm + summary + dependencies diff --git a/tcpmon/pom.xml b/tcpmon/pom.xml index cff15bd2d..a6a9f2db5 100644 --- a/tcpmon/pom.xml +++ b/tcpmon/pom.xml @@ -41,21 +41,4 @@ ${project.version} - - - - maven-project-info-reports-plugin - 2.4 - - - - index - summary - dependencies - - - - - - From 411ae3eaf12b44ed31ac18e6891ccc1b00064a31 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 07:38:04 +0000 Subject: [PATCH 026/133] Fixed a mistake in the documentation of writeStubToTestSources. --- .../apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java b/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java index b95cb565c..d910208be 100644 --- a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java +++ b/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java @@ -39,7 +39,7 @@ public class GenerateSourcesMojo extends AbstractWsdl2JavaMojo { /** * Flag indicating whether the stub and locator should be written to * {@link #sourceOutputDirectory} (false) or to {@link #testSourceOutputDirectory} - * (false). Set this parameter to true if the main artifact of your + * (true). Set this parameter to true if the main artifact of your * project should not contain client-side code, but you need it in your test cases. Note that * this parameter is only meaningful if generate is set to both. * From 233e19a9c8de2bfac300c3989c72b21cffd5f011 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 10:00:07 +0000 Subject: [PATCH 027/133] Improved the documentation of the Maven plugins. --- maven/maven-axis-server-plugin/pom.xml | 8 --- .../src/site/site.xml | 2 +- maven/maven-java2wsdl-plugin/pom.xml | 8 --- .../maven/java2wsdl/GenerateWsdlMojo.java | 2 +- .../maven-java2wsdl-plugin/src/site/site.xml | 2 +- maven/maven-wsdd-plugin/pom.xml | 8 --- .../maven-wsdd-plugin/src/site/apt/index.apt | 53 ++++++++++++++ maven/maven-wsdd-plugin/src/site/site.xml | 27 +++++++ maven/maven-wsdl2java-plugin/pom.xml | 17 ----- .../maven-wsdl2java-plugin/src/site/site.xml | 2 +- maven/pom.xml | 9 ++- maven/src/site/xdoc/index.xml | 70 +++++++++++++++++++ 12 files changed, 160 insertions(+), 48 deletions(-) create mode 100644 maven/maven-wsdd-plugin/src/site/apt/index.apt create mode 100644 maven/maven-wsdd-plugin/src/site/site.xml create mode 100644 maven/src/site/xdoc/index.xml diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/maven-axis-server-plugin/pom.xml index ace7138ed..ea718bbbe 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/maven-axis-server-plugin/pom.xml @@ -79,12 +79,4 @@ test - - - - maven-plugin-plugin - 2.9 - - - diff --git a/maven/maven-axis-server-plugin/src/site/site.xml b/maven/maven-axis-server-plugin/src/site/site.xml index 73c49a403..d4b6a8e25 100644 --- a/maven/maven-axis-server-plugin/src/site/site.xml +++ b/maven/maven-axis-server-plugin/src/site/site.xml @@ -17,7 +17,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/maven/maven-java2wsdl-plugin/pom.xml b/maven/maven-java2wsdl-plugin/pom.xml index 737362044..bad8ec5a5 100644 --- a/maven/maven-java2wsdl-plugin/pom.xml +++ b/maven/maven-java2wsdl-plugin/pom.xml @@ -76,12 +76,4 @@ 1.8.1 - - - - maven-plugin-plugin - 2.9 - - - diff --git a/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java b/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java index 4cd0775b2..40404f23d 100644 --- a/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java +++ b/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java @@ -25,7 +25,7 @@ import org.apache.maven.plugin.MojoFailureException; /** - * + * Generates a WSDL description from a Java class. * * @goal generate-wsdl * @requiresDependencyResolution compile diff --git a/maven/maven-java2wsdl-plugin/src/site/site.xml b/maven/maven-java2wsdl-plugin/src/site/site.xml index 67069f888..06b1870ea 100644 --- a/maven/maven-java2wsdl-plugin/src/site/site.xml +++ b/maven/maven-java2wsdl-plugin/src/site/site.xml @@ -17,7 +17,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/maven/maven-wsdd-plugin/pom.xml b/maven/maven-wsdd-plugin/pom.xml index fe881a11a..a9b14c6ff 100644 --- a/maven/maven-wsdd-plugin/pom.xml +++ b/maven/maven-wsdd-plugin/pom.xml @@ -57,12 +57,4 @@ ulog - diff --git a/maven/maven-wsdd-plugin/src/site/apt/index.apt b/maven/maven-wsdd-plugin/src/site/apt/index.apt new file mode 100644 index 000000000..f28b35724 --- /dev/null +++ b/maven/maven-wsdd-plugin/src/site/apt/index.apt @@ -0,0 +1,53 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ------------ + Introduction + ------------ + +maven-wsdd-plugin + + Historically, the recommended way to deploy Axis services was based on the following procedure: + + [[1]] Deploy the Axis WAR to a servlet container or application server. + + [[2]] Add the Web service code to the <<>> or <<>> folder in the + (exploded) Axis WAR. + + [[3]] Create a WSDD file (or use the WSDD file generated by wsdl2java) and deploy it using + the admin client. This will add the definitions contained in the submitted WSDD file + to the <<>> file. + + This procedure is described in more details in the {{{../../install.html}Installation Guide}}. + + However, nowadays the preferred approach - especially for enterprise projects - is to have a build + process that packages the Web service(s) together with the Axis libraries into a WAR that is then + deployed to the application server. This requires that the <<>> file is + constructed before the WAR is built. With Axis 1.4, developers would typically maintain that file + by hand, either by editing it directly (and copying the contents of WSDD files created by wsdl2java) + or by using e.g. the Axis 1.4 tooling in Eclipse. The file is then added to the project files under source control + so that it is available during the build. + + This approach is suboptimal because in most cases the <<>> file contains + content generated by wsdl2java. That content should not be under source control. Instead, + the <<>> file should be assembled automatically during the build process, + based on the output of wsdl2java. + + This is exactly what the maven-wsdd-plugin does: it takes a set of WSDD files and merges them + into a single output WSDD. The input WSDD files are typically generated by + {{{../wsdl2java/index.html}maven-wsdl2java-plugin}}, but the set may also contain + manually created WSDD files, e.g. to configure custom handlers or to override configuration properties. diff --git a/maven/maven-wsdd-plugin/src/site/site.xml b/maven/maven-wsdd-plugin/src/site/site.xml new file mode 100644 index 000000000..06b1870ea --- /dev/null +++ b/maven/maven-wsdd-plugin/src/site/site.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/maven/maven-wsdl2java-plugin/pom.xml b/maven/maven-wsdl2java-plugin/pom.xml index 8bf96d8c9..95e900e86 100644 --- a/maven/maven-wsdl2java-plugin/pom.xml +++ b/maven/maven-wsdl2java-plugin/pom.xml @@ -114,21 +114,4 @@ - - - - maven-plugin-plugin - 2.9 - - - maven-project-info-reports-plugin - 2.4 - - - - - - - - diff --git a/maven/maven-wsdl2java-plugin/src/site/site.xml b/maven/maven-wsdl2java-plugin/src/site/site.xml index 907f76539..a34d38f5e 100644 --- a/maven/maven-wsdl2java-plugin/src/site/site.xml +++ b/maven/maven-wsdl2java-plugin/src/site/site.xml @@ -17,7 +17,7 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + diff --git a/maven/pom.xml b/maven/pom.xml index 450046ecd..ae732cee9 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -76,12 +76,15 @@ - + maven-site-plugin - false + + + maven-plugin-plugin + 2.9 + maven-project-info-reports-plugin 2.6 diff --git a/maven/src/site/xdoc/index.xml b/maven/src/site/xdoc/index.xml new file mode 100644 index 000000000..4f5d6681d --- /dev/null +++ b/maven/src/site/xdoc/index.xml @@ -0,0 +1,70 @@ + + + + + Introduction + + +
      +

      + Starting with version 1.4.1, Axis provides a set of Maven plugins that can be used + as an alternative to the existing Ant tasks. + The plugins also introduce a couple of features not found in the Ant tasks and that + are essential to properly support the Maven build lifecycle. +

      +

      + The following table provides an overview of these plugins and their relationships + with the existing Ant tasks: +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Maven pluginDescriptionCorresponding Ant tasks
      maven-wsdl2java-pluginGenerates Java artifacts from a WSDL fileaxis-wsdl2java
      maven-java2wsdl-pluginGenerates a WSDL description from a Java classaxis-java2wsdl
      maven-wsdd-pluginN/A
      maven-axis-server-pluginStarts/stops a stand-alone Axis server
      +
      + +
      From 90e34a21fedb16054f8ae94aad87a7f60692dcee Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 10:13:23 +0000 Subject: [PATCH 028/133] Don't include dependency locations in reports. Anyway, all dependencies are available from Maven central. --- pom.xml | 3 +++ src/site/xdoc/artifacts.xml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index b3bc9710a..641eca5dc 100644 --- a/pom.xml +++ b/pom.xml @@ -418,6 +418,9 @@ + + false +
      diff --git a/src/site/xdoc/artifacts.xml b/src/site/xdoc/artifacts.xml index 26aaeb5f3..585135a87 100644 --- a/src/site/xdoc/artifacts.xml +++ b/src/site/xdoc/artifacts.xml @@ -144,6 +144,9 @@ +

      + All artifacts and dependencies are available from the Maven Central Repository. +

      From 588fcc30a8835b63925149c0b721ee17f3ece2ff Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 14:06:25 +0000 Subject: [PATCH 029/133] Added a front page. --- src/site/apt/index.apt | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/site/apt/index.apt diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt new file mode 100644 index 000000000..c942c40aa --- /dev/null +++ b/src/site/apt/index.apt @@ -0,0 +1,48 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ----- + About + ----- + + Apache Axis\u2122 is a second generation SOAP engine, the successor to the Apache SOAP project, + itself based on the original SOAP4J code that IBM contributed to Apache in April 2000. + In contrast to its predecessor, Axis is fully WSDL aware. It also supports the JAX-RPC API. + +~~ Ref.: http://markmail.org/thread/qa7w2e6onva2sn5m + + Today, Apache Axis is to a large extend superseded by a new generation of SOAP stacks + such as {{{http://axis.apache.org/axis2/java/core/}Apache Axis2}}, + {{{http://cxf.apache.org/}Apache CXF}} and {{{http://metro.java.net/}Metro}}. + However, Axis is still relevant for the following type of projects: + + * Projects that need to use JAX-RPC. There are only two Open Source implementations + of that API: Axis and {{{http://java.net/projects/jax-rpc/}Sun's reference implementation}}. + + * Projects that need to consume or expose Web services that use SOAP encoding. + SOAP encoding has been deprecated and is no longer supported by modern Web service + frameworks. However, there are still legacy services that use type of encoding. + + * Existing projects that were built using Axis and for which the return on investment + of rewriting them using a modern Web service framework would be too low. + + [] + +===================== + + Apache Axis, Axis, Apache, the Apache feather logo, and the Apache Axis project logo are + trademarks of The Apache Software Foundation. \ No newline at end of file From 26bb8aa909f318efa46c4e01c9d862f13dd79b52 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 14:21:47 +0000 Subject: [PATCH 030/133] Configured maven-scm-publish-plugin. --- pom.xml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 641eca5dc..ed254f8b0 100644 --- a/pom.xml +++ b/pom.xml @@ -367,6 +367,20 @@ + + org.apache.maven.plugins + maven-site-plugin + 3.2 + + + true + + + + org.apache.maven.plugins + maven-scm-publish-plugin + 1.0-beta-2 +
      @@ -427,8 +441,7 @@ 1.4 http://axis.apache.org/axis/java - - dav:http://localhost/sites/axis + scm:svn:https://svn.apache.org/repos/asf/axis/site/axis/java From e000cda9bc2fd9cd1446a338acf1077d7afd6518 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 1 May 2013 15:06:25 +0000 Subject: [PATCH 031/133] Some site fixes. --- axis-model/pom.xml | 8 ++++++++ axis/pom.xml | 1 + soapmonitor-applet/pom.xml | 7 +++++++ soapmonitor-applet/src/site/site.xml | 24 ++++++++++++++++++++++++ soapmonitor-client/pom.xml | 7 +++++++ soapmonitor-client/src/site/site.xml | 24 ++++++++++++++++++++++++ src/site/xdoc/artifacts.xml | 14 +++++++++++--- 7 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 soapmonitor-applet/src/site/site.xml create mode 100644 soapmonitor-client/src/site/site.xml diff --git a/axis-model/pom.xml b/axis-model/pom.xml index a5532b1bd..5c6fcd99b 100644 --- a/axis-model/pom.xml +++ b/axis-model/pom.xml @@ -99,6 +99,14 @@ + + + maven-site-plugin + + true + true + + diff --git a/axis/pom.xml b/axis/pom.xml index 85de8f9c3..d790d7cb3 100644 --- a/axis/pom.xml +++ b/axis/pom.xml @@ -92,6 +92,7 @@ ${project.groupId}:axis-rt-transport-mail ${project.groupId}:axis-codegen ${project.groupId}:axis-tools + ${project.groupId}:soapmonitor-client ${project.groupId}:tcpmon diff --git a/soapmonitor-applet/pom.xml b/soapmonitor-applet/pom.xml index 8ccbd7c5a..4c3ac6cfa 100644 --- a/soapmonitor-applet/pom.xml +++ b/soapmonitor-applet/pom.xml @@ -27,4 +27,11 @@ soapmonitor-applet SOAP Monitor Applet + ${baseUrl}/soapmonitor/applet + + + axis + ${baseSiteUrl}/soapmonitor/applet + + diff --git a/soapmonitor-applet/src/site/site.xml b/soapmonitor-applet/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/soapmonitor-applet/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/soapmonitor-client/pom.xml b/soapmonitor-client/pom.xml index c919a3024..b3de22cf9 100644 --- a/soapmonitor-client/pom.xml +++ b/soapmonitor-client/pom.xml @@ -27,6 +27,13 @@ soapmonitor-client SOAP Monitor Client + ${baseUrl}/soapmonitor/client + + + axis + ${baseSiteUrl}/soapmonitor/client + + ${project.groupId} diff --git a/soapmonitor-client/src/site/site.xml b/soapmonitor-client/src/site/site.xml new file mode 100644 index 000000000..18866594a --- /dev/null +++ b/soapmonitor-client/src/site/site.xml @@ -0,0 +1,24 @@ + + + + + + + diff --git a/src/site/xdoc/artifacts.xml b/src/site/xdoc/artifacts.xml index 585135a87..4536663ee 100644 --- a/src/site/xdoc/artifacts.xml +++ b/src/site/xdoc/artifacts.xml @@ -73,7 +73,7 @@ Runtime Core - axis + axis axis-rt-core @@ -120,6 +120,10 @@ SOAP Monitor Handler/Service axis-rt-soapmonitor + + SOAP Monitor Client + soapmonitor-client + TCP Monitor tcpmon @@ -132,14 +136,18 @@ Ant Tasks axis-ant + + SOAP Monitor Applet + N/A (not included in any JAR) + soapmonitor-applet + Stand-alone Server - N/A + N/A (added in Axis 1.4.1) axis-standalone-server java.net HTTP Transport - N/A axis-rt-transport-http-javanet From 9fb7755588c82e26fb2f6f7bc6a53cdc1a91769c Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 5 May 2013 11:09:23 +0000 Subject: [PATCH 032/133] Upgraded to maven-site-plugin 3.2 and fixed mvn site:stage (see http://veithen.blogspot.be/2013/05/maven-patterns-skipping-site-generation.html). --- apidocs/pom.xml | 15 ++++++++++++--- pom.xml | 3 +-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apidocs/pom.xml b/apidocs/pom.xml index 9e0ffa8e2..141a70c3c 100644 --- a/apidocs/pom.xml +++ b/apidocs/pom.xml @@ -179,9 +179,18 @@ maven-site-plugin - - true - + + + default-site + site + + site + + + true + + + diff --git a/pom.xml b/pom.xml index ed254f8b0..5b0898e03 100644 --- a/pom.xml +++ b/pom.xml @@ -209,7 +209,7 @@ maven-site-plugin - 3.0 + 3.2 maven-assembly-plugin @@ -370,7 +370,6 @@ org.apache.maven.plugins maven-site-plugin - 3.2 true From 55d9459b4a91eb5305a1be440457c0d0f1744961 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 28 May 2013 19:31:59 +0000 Subject: [PATCH 033/133] AXIS-2889: Fixed download link for Axis 1.4. --- src/site/xdoc/releases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xdoc/releases.xml b/src/site/xdoc/releases.xml index a8385160f..c3d9376d4 100644 --- a/src/site/xdoc/releases.xml +++ b/src/site/xdoc/releases.xml @@ -34,7 +34,7 @@ Description - 1.4 + 1.4 April 22, 2006 Final Version 1.4 From 64525780ae671bc56edd98fd42d60efef424ac3a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 5 Feb 2014 14:44:41 +0000 Subject: [PATCH 034/133] Fixed a build issue with OpenJDK 7. --- distribution/pom.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index 7b2617f4c..ec92e918a 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -190,10 +190,9 @@ tools-include - - java.vendor - Sun Microsystems Inc. - + + ${java.home}/../lib/tools.jar + From 56a0b486e78165b457b52ffbdec3eeff1c544279 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 24 Feb 2014 15:20:01 +0000 Subject: [PATCH 035/133] Added an assertion to avoid NPE if the test fails. --- .../src/test/java/test/wsdl/attachments/AttachmentTestCase.java | 1 + 1 file changed, 1 insertion(+) diff --git a/integration/src/test/java/test/wsdl/attachments/AttachmentTestCase.java b/integration/src/test/java/test/wsdl/attachments/AttachmentTestCase.java index de8edbc95..d71d95c78 100644 --- a/integration/src/test/java/test/wsdl/attachments/AttachmentTestCase.java +++ b/integration/src/test/java/test/wsdl/attachments/AttachmentTestCase.java @@ -56,6 +56,7 @@ public void testGetCompanyInfo() throws Exception { getBinding().getCompanyInfo("IBM", result, docs, logo); assertEquals(134, (int)(result.value*10)); assertEquals("IBM", docs.value); + assertNotNull(logo.value); assertEquals(24, logo.value.getWidth(null)); assertEquals(24, logo.value.getHeight(null)); } From b54f119aed1a33495c71d1f220bf6c376cae312c Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 08:07:28 +0000 Subject: [PATCH 036/133] Avoid connections to remote resources during unit tests. --- .../test/java/test/saaj/TestAttachment.java | 4 +- .../src/test/resources/test/saaj/LICENSE.txt | 366 ++++++++++++++++++ .../src/test/resources/test/saaj/slashdot.xml | 184 +++++++++ 3 files changed, 552 insertions(+), 2 deletions(-) create mode 100644 axis-rt-core/src/test/resources/test/saaj/LICENSE.txt create mode 100644 axis-rt-core/src/test/resources/test/saaj/slashdot.xml diff --git a/axis-rt-core/src/test/java/test/saaj/TestAttachment.java b/axis-rt-core/src/test/java/test/saaj/TestAttachment.java index f855d3faa..8b062b534 100644 --- a/axis-rt-core/src/test/java/test/saaj/TestAttachment.java +++ b/axis-rt-core/src/test/java/test/saaj/TestAttachment.java @@ -50,8 +50,8 @@ public void testMultipleAttachments() throws Exception { MessageFactory factory = MessageFactory.newInstance(); SOAPMessage msg = factory.createMessage(); - java.net.URL url1 = new java.net.URL("http://slashdot.org/slashdot.xml"); - java.net.URL url2 = new java.net.URL("http://www.apache.org/LICENSE.txt"); + java.net.URL url1 = TestAttachment.class.getResource("slashdot.xml"); + java.net.URL url2 = TestAttachment.class.getResource("LICENSE.txt"); AttachmentPart a1 = msg.createAttachmentPart(new javax.activation.DataHandler(url1)); a1.setContentType("text/xml"); diff --git a/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt b/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt new file mode 100644 index 000000000..27561b72e --- /dev/null +++ b/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt @@ -0,0 +1,366 @@ + + + + Licenses + + + + + + + + + + + + + + + + + +
      + + +
      +

      The Apache Software Foundation uses various licenses to distribute +software and documentation, to accept regular +contributions from individuals and corporations, and to accept +larger grants of existing software products.

      +

      These licenses help us achieve our goal of providing reliable and +long-lived software products through collaborative open source software +development. In all cases, contributors retain full rights to use their +original contributions for any other purpose outside of Apache while +providing the ASF and its projects the right to distribute and build upon +their work within Apache.

      +

      Licensing of Distributions

      +

      All software produced by The Apache Software Foundation or any of its +projects or subjects is licensed according to the terms of the documents +listed below.

      +

      Apache License, Version 2.0 (current)

      +

      http://www.apache.org/licenses/LICENSE-2.0 ( +TXT or HTML )

      +

      The 2.0 version of the Apache License was approved by the ASF in 2004. The +goals of this license revision have been to reduce the number of frequently +asked questions, to allow the license to be reusable without modification +by any project (including non-ASF projects), to allow the license to be +included by reference instead of listed in every file, to clarify the +license on submission of contributions, to require a patent license on +contributions that necessarily infringe the contributor's own patents, and +to move comments regarding Apache and other inherited attribution notices +to a location outside the license terms (the NOTICE +file ).

      +

      The result is a license that is supposed to be compatible with other open +source licenses, while remaining true to the original goals of the Apache +Group and supportive of collaborative development across both nonprofit and +commercial organizations. The Apache Software Foundation is still trying to +determine if this version of the Apache License is compatible with the +GPL.

      +

      All packages produced by the ASF are implicitly licensed under the Apache +License, Version 2.0, unless otherwise explicitly stated. More developer +documentation on how to apply the Apache License to your work can be found +in * Applying the Apache License, Version 2.0 +*.

      +

      Apache License, Version 1.1 (historic)

      +

      http://www.apache.org/licenses/LICENSE-1.1

      +

      The 1.1 version of the Apache License was approved by the ASF in 2000. The +primary change from the 1.0 license is in the 'advertising clause' (section +3 of the 1.0 license); derived products are no longer required to include +attribution in their advertising materials, only in their documentation.

      +

      Individual packages licensed under the 1.1 version may have used different +wording due to varying requirements for attribution or mark identification, +but the binding terms were all the same.

      +

      Apache License, Version 1.0 (historic)

      +

      http://www.apache.org/licenses/LICENSE-1.0

      +

      This is the original Apache License which applies only to older versions of +Apache packages (such as version 1.2 of the Web server).

      +

      Contributor License Agreements

      +

      The ASF desires that all contributors of ideas, code, or documentation to +the Apache projects complete, sign, and submit (via postal mail, fax or +email) an Individual Contributor License Agreement (1) (CLA) [ PDF +form ]. The purpose of this agreement is to clearly define the +terms under which intellectual property has been contributed to the ASF and +thereby allow us to defend the project should there be a legal dispute +regarding the software at some future time. A signed CLA is required to be +on file before an individual is given commit rights to an ASF project.

      +

      For a corporation that has assigned employees to work on an Apache project, +a Corporate CLA (CCLA) is available for contributing +intellectual property via the corporation, that may have been assigned as +part of an employment agreement. Note that a Corporate CLA does not remove +the need for every developer to sign their own CLA as an individual, to +cover any of their contributions which are not owned by the corporation +signing the CCLA.

      +

      CLAs may be submitted by traditional postal mail, fax, or by emailing a +scan of the signed copy to secretary@apache.org. You can also fill out the pdf +document or edit the text document, create a detached gpg signature, and +send both the document and the detached signature via email to secretary.

      +

      Note: If you choose to send this document via fax then be absolutely sure +that you have sent it correctly. Faxes are often received back-to-front, +blank, or totally illegible.

      +

      The ICLA is not tied to any employer you may have, so it is recommended to +use one's personal email address in the contact details, rather than an @work +address.

      +

      Your Full name will be published unless you provide an alternative Public name. +For example if your full name is Andrew Bernard Charles Dickens, but you wish +to be known as Andrew Dickens, please enter the latter as your Public name.

      +

      The email address and other contact details are not published.

      +

      (1) Please use overwrite mode when typing in the underlined fields. +Otherwise the fields will wrap, making the result harder to read.

      +

      Software Grants

      +

      When an individual or corporation decides to donate a body of existing +software or documentation to one of the Apache projects, they need to +execute a formal Software Grant Agreement (SGA) with +the ASF. Typically, this is done after negotiating approval with the ASF +Incubator or one of the PMCs, since the ASF +will not accept software unless there is a viable community available to +support a collaborative project.

      +

      Grants may be submitted by traditional postal mail, fax, or by emailing a +scan of the signed copy to secretary@. +You can also edit the text document, create a detached gpg signature, and +send both the document and the detached signature via email to secretary.

      +

      Note: If you choose to send this document via fax then be absolutely sure +that you have sent it correctly. Faxes are often received back-to-front, +blank, or totally illegible.

      +

      Export restrictions

      +

      For export restriction information, please consult our ASF Export +Classifications page.

      +

      Trademark and Logo Usage

      +

      For ASF trademark and logo usage information, please consult our ASF +Trademark Use Policy page.

      +

      Questions?

      +

      For answers to frequently asked licensing questions, please consult our +Licensing Frequently Asked Questions page.

      +
      +
      + + + + diff --git a/axis-rt-core/src/test/resources/test/saaj/slashdot.xml b/axis-rt-core/src/test/resources/test/saaj/slashdot.xml new file mode 100644 index 000000000..021c3e622 --- /dev/null +++ b/axis-rt-core/src/test/resources/test/saaj/slashdot.xml @@ -0,0 +1,184 @@ + + + + Ford Dumping Windows For QNX In New Vehicles + http://slashdot.org/story/14/02/25/0256235/ford-dumping-windows-for-qnx-in-new-vehicles + + Unknown Lamer + back-to-the-classics + 3017 + 0 +
      technology
      + os_64.png +
      + + + The Higgs Boson Re-Explained By the Mick Jagger of Physics + http://slashdot.org/story/14/02/25/0318219/the-higgs-boson-re-explained-by-the-mick-jagger-of-physics + + Unknown Lamer + just-before-he-turned-into-a-cup-of-oj + 100 + 12 +
      science
      + science_64.png +
      + + + Complete Microsoft EMET Bypass Developed + http://slashdot.org/story/14/02/25/0139202/complete-microsoft-emet-bypass-developed + + Unknown Lamer + just-a-teeny-tiny-bug + 77 + 34 +
      technology
      + windows_64.png +
      + + + US War Machine Downsizing? + http://slashdot.org/story/14/02/25/0045203/us-war-machine-downsizing + + Unknown Lamer + how-will-we-defeat-zombie-stalin-now? + 363 + 192 +
      technology
      + military_64.png +
      + + + New Release of DICE, the CPU-Less Arcade Game Emulator, Adds Four Games + http://slashdot.org/story/14/02/25/001257/new-release-of-dice-the-cpu-less-arcade-game-emulator-adds-four-games + + Unknown Lamer + knew-you-got-that-16-core-machine-for-a-reason + 509 + 19 +
      games
      + emulation_64.png +
      + + + Publishers Withdraw More Than 120 Fake Papers + http://slashdot.org/story/14/02/25/006257/publishers-withdraw-more-than-120-fake-papers + + Unknown Lamer + trolling-journals-for-no-particular-reason + 357583 + 41 +
      news
      + themedia_64.png +
      + + + SpaceX Testing Landing Legs On Next Falcon9 Rocket + http://slashdot.org/story/14/02/24/2311234/spacex-testing-landing-legs-on-next-falcon9-rocket + + Unknown Lamer + crazy-enough-to-work + 147 + 36 +
      science
      + space_64.png +
      + + + Oklahoma Schools Required To Teach Students Personal Finance + http://slashdot.org/story/14/02/24/2139226/oklahoma-schools-required-to-teach-students-personal-finance + + samzenpus + value-of-a-dollar + 253 + 196 +
      news
      + money_64.png +
      + + + Why Nissan Is Talking To Tesla Model S Owners + http://slashdot.org/story/14/02/24/2131219/why-nissan-is-talking-to-tesla-model-s-owners + + samzenpus + how-do-you-like-us-now? + 1971 + 183 +
      technology
      + transportation_64.png +
      + + + DARPA Looks To End the Scourge of Counterfeit Computer Gear + http://slashdot.org/story/14/02/24/1948202/darpa-looks-to-end-the-scourge-of-counterfeit-computer-gear + + samzenpus + knocking-out-knock-offs + 828 + 67 +
      hardware
      + crime_64.png +
      + + + Does Relying On an IDE Make You a Bad Programmer? + http://slashdot.org/story/14/02/24/1845209/does-relying-on-an-ide-make-you-a-bad-programmer + + samzenpus + speak-up + 22 + 439 +
      developers
      + programming_64.png +
      + + + The Ever So Unlikely Tale of How ARM Came To Rule the World + http://slashdot.org/story/14/02/24/1840217/the-ever-so-unlikely-tale-of-how-arm-came-to-rule-the-world + + samzenpus + top-of-the-class + 84 + 81 +
      mobile
      + business_64.png +
      + + + Harold Ramis Dies At 69 + http://slashdot.org/story/14/02/24/203208/harold-ramis-dies-at-69 + + samzenpus + print-is-dead + 359 + 116 +
      entertainment
      + movies_64.png +
      + + + Apocalypse NAO: College Studies the Theological Ramifications of Robotics + http://slashdot.org/story/14/02/24/192203/apocalypse-nao-college-studies-the-theological-ramifications-of-robotics + + samzenpus + why-did-you-program-me-to-sin? + 2248 + 135 +
      idle
      + robot_64.png +
      + + + Book Review: Sudo Mastery: User Access Control For Real People + http://slashdot.org/story/14/02/24/1415216/book-review-sudo-mastery-user-access-control-for-real-people + + samzenpus + read-all-about-it + 172 + 76 +
      bookreview
      + books_64.png +
      + +
      From ab82d6ae7eb1fefc4c0cdb0f0a5466b74e83a04c Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 08:29:38 +0000 Subject: [PATCH 037/133] Added .gitignore. --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..23bb21a23 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.project +.classpath +.settings +target \ No newline at end of file From f6d3217e4c51ba94250ecc650c62c53e54742380 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 13:16:40 +0000 Subject: [PATCH 038/133] Avoid connections to remote resources during unit tests, especially if they are no longer available. --- .../src/main/resources/xmethods/README.txt | 3 + .../xmethods/delayed-quotes-request.xml | 10 ++ .../xmethods/delayed-quotes-response.xml | 10 ++ .../webapp/WEB-INF/dispatcher-servlet.xml | 13 ++ samples/jaxm-sample/pom.xml | 116 ++++++++++++++++++ .../java/samples/jaxm/DelayedStockQuote.java | 12 +- .../java/test/functional/TestJAXMSamples.java | 42 +------ 7 files changed, 165 insertions(+), 41 deletions(-) create mode 100644 interop-mock/src/main/resources/xmethods/README.txt create mode 100644 interop-mock/src/main/resources/xmethods/delayed-quotes-request.xml create mode 100644 interop-mock/src/main/resources/xmethods/delayed-quotes-response.xml diff --git a/interop-mock/src/main/resources/xmethods/README.txt b/interop-mock/src/main/resources/xmethods/README.txt new file mode 100644 index 000000000..5d09e1f45 --- /dev/null +++ b/interop-mock/src/main/resources/xmethods/README.txt @@ -0,0 +1,3 @@ +* delayed-quotes-request.xml is basically the request produced by the JAXM sample. +* delayed-quotes-response.xml is a response constructed from samples found on the Web + (the original SOAP endpoint is no longer availalbe). \ No newline at end of file diff --git a/interop-mock/src/main/resources/xmethods/delayed-quotes-request.xml b/interop-mock/src/main/resources/xmethods/delayed-quotes-request.xml new file mode 100644 index 000000000..1291e49ac --- /dev/null +++ b/interop-mock/src/main/resources/xmethods/delayed-quotes-request.xml @@ -0,0 +1,10 @@ + + + + + SUNW + + + diff --git a/interop-mock/src/main/resources/xmethods/delayed-quotes-response.xml b/interop-mock/src/main/resources/xmethods/delayed-quotes-response.xml new file mode 100644 index 000000000..8674fc85e --- /dev/null +++ b/interop-mock/src/main/resources/xmethods/delayed-quotes-response.xml @@ -0,0 +1,10 @@ + + + + + 3.67 + + + diff --git a/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml b/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml index bfe9fbc47..02d54db64 100644 --- a/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml +++ b/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml @@ -293,4 +293,17 @@ + + + + + + + + + + + + + diff --git a/samples/jaxm-sample/pom.xml b/samples/jaxm-sample/pom.xml index de488611e..525c7871e 100644 --- a/samples/jaxm-sample/pom.xml +++ b/samples/jaxm-sample/pom.xml @@ -38,5 +38,121 @@ junit test + + ${project.groupId} + interop-mock + ${project.version} + war + test + + + + + src/main/resources + true + + + + + maven-surefire-plugin + + + default-test + + true + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + reserve-network-port + + reserve-network-port + + pre-integration-test + + + jetty.httpPort + jetty.stopPort + + + + + + + maven-dependency-plugin + + + pre-integration-test + + copy-dependencies + + + ${project.build.directory} + war + true + + + + + + org.mortbay.jetty + jetty-maven-plugin + + ${project.build.directory}/interop-mock.war + foo + ${jetty.stopPort} + + + ${jetty.httpPort} + 60000 + + + + + + start-jetty + pre-integration-test + + deploy-war + + + true + + + + stop-jetty + post-integration-test + + stop + + + + + + maven-failsafe-plugin + + + + integration-test + verify + + + + **/Test*.java + + + ${jetty.httpPort} + + + + + + + diff --git a/samples/jaxm-sample/src/main/java/samples/jaxm/DelayedStockQuote.java b/samples/jaxm-sample/src/main/java/samples/jaxm/DelayedStockQuote.java index cc68ac91f..9929392d9 100644 --- a/samples/jaxm-sample/src/main/java/samples/jaxm/DelayedStockQuote.java +++ b/samples/jaxm-sample/src/main/java/samples/jaxm/DelayedStockQuote.java @@ -30,6 +30,16 @@ import java.util.Iterator; public class DelayedStockQuote { + private final String url; + + public DelayedStockQuote() { + this("http://64.124.140.30/soap"); + } + + public DelayedStockQuote(String url) { + this.url = url; + } + public static void main(String[] args) throws Exception { DelayedStockQuote stockQuote = new DelayedStockQuote(); System.out.print("The last price for SUNW is " + stockQuote.getStockQuote("SUNW")); @@ -57,7 +67,7 @@ public String getStockQuote(String tickerSymbol) throws Exception { SOAPElement symbol = gltp.addChildElement(name); symbol.addTextNode(tickerSymbol); - URLEndpoint endpoint = new URLEndpoint("http://64.124.140.30/soap"); + URLEndpoint endpoint = new URLEndpoint(url); SOAPMessage response = con.call(message, endpoint); con.close(); diff --git a/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java b/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java index b5326d792..282493cb7 100644 --- a/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java +++ b/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java @@ -17,24 +17,10 @@ package test.functional; import junit.framework.TestCase; -import org.apache.axis.AxisFault; import org.apache.axis.components.logger.LogFactory; import org.apache.commons.logging.Log; import samples.jaxm.DelayedStockQuote; -import javax.xml.messaging.URLEndpoint; -import javax.xml.soap.MessageFactory; -import javax.xml.soap.Name; -import javax.xml.soap.SOAPBody; -import javax.xml.soap.SOAPBodyElement; -import javax.xml.soap.SOAPConnection; -import javax.xml.soap.SOAPConnectionFactory; -import javax.xml.soap.SOAPElement; -import javax.xml.soap.SOAPEnvelope; -import javax.xml.soap.SOAPMessage; -import java.net.SocketException; - - /** * Test the JAX-RPC compliance samples. */ @@ -76,32 +62,8 @@ public TestJAXMSamples(String name) { // } // testGetQuote public void testDelayedStockQuote() throws Exception { - try { - log.info("Testing JAXM DelayedStockQuote sample."); - DelayedStockQuote stockQuote = new DelayedStockQuote(); - System.out.print("The last price for SUNW is " + stockQuote.getStockQuote("SUNW")); - log.info("Test complete."); - } catch (javax.xml.soap.SOAPException e) { - Throwable t = e.getCause(); - if (t != null) { - t.printStackTrace(); - if (t instanceof AxisFault) { - AxisFault af = (AxisFault) t; - if ((af.detail instanceof SocketException) - || (af.getFaultCode().getLocalPart().equals("HTTP"))) { - System.out.println("Connect failure caused JAXM DelayedStockQuote to be skipped."); - return; - } - } - throw new Exception("Fault returned from test: " + t); - } else { - e.printStackTrace(); - throw new Exception("Exception returned from test: " + e); - } - } catch (Throwable t) { - t.printStackTrace(); - throw new Exception("Fault returned from test: " + t); - } + DelayedStockQuote stockQuote = new DelayedStockQuote("http://localhost:" + System.getProperty("jetty.httpPort") + "/xmethods/delayed-quotes"); + assertEquals("3.67", stockQuote.getStockQuote("SUNW")); } // testGetQuote public static void main(String args[]) throws Exception { From 2ff08b70a165572e9923f5585058d808ac2c80cf Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 13:17:16 +0000 Subject: [PATCH 039/133] Ensure that the wsdl2java Ant task correctly reports any kind of failure, not only failures that trigger a java.lang.Exception, but also failures that trigger a java.lang.Error. --- .../java/org/apache/axis/wsdl/gen/Parser.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java index 2ddc0cfdd..866028596 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java @@ -345,7 +345,14 @@ public void run(String wsdlURI) throws Exception { } if (runnable.getFailure() != null) { - throw runnable.getFailure(); + Throwable failure = runnable.getFailure(); + if (failure instanceof Exception) { + throw (Exception)failure; + } else if (failure instanceof Error){ + throw (Error)failure; + } else { + throw new Error(failure); + } } } // run @@ -363,7 +370,7 @@ private class WSDLRunnable implements Runnable { private String wsdlURI; /** Field failure */ - private Exception failure = null; + private Throwable failure = null; /** * Constructor WSDLRunnable @@ -384,7 +391,7 @@ public void run() { try { symbolTable.populate(wsdlURI, username, password); generate(symbolTable); - } catch (Exception e) { + } catch (Throwable e) { failure = e; } } // run @@ -394,7 +401,7 @@ public void run() { * * @return */ - public Exception getFailure() { + public Throwable getFailure() { return failure; } // getFailure } // WSDLRunnable From 611e15223ea94385a9a07ef5e67da3f529e35f06 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 13:17:32 +0000 Subject: [PATCH 040/133] Get rid of the commons-lang depenceny introduced in r1418233. --- axis-codegen/pom.xml | 4 --- .../axis/wsdl/toJava/JavaDeployWriter.java | 2 +- .../org/apache/axis/utils/StringUtils.java | 26 +++++++++++++++++++ 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/axis-codegen/pom.xml b/axis-codegen/pom.xml index 05d683536..f53a6f228 100644 --- a/axis-codegen/pom.xml +++ b/axis-codegen/pom.xml @@ -45,10 +45,6 @@ axis-model ${project.version} - - commons-lang - commons-lang - junit junit diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java index 2de5905bb..2a2168753 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java @@ -32,6 +32,7 @@ import org.apache.axis.model.wsdd.WSDDUtil; import org.apache.axis.utils.JavaUtils; import org.apache.axis.utils.Messages; +import org.apache.axis.utils.StringUtils; import org.apache.axis.wsdl.symbolTable.BindingEntry; import org.apache.axis.wsdl.symbolTable.FaultInfo; import org.apache.axis.wsdl.symbolTable.Parameter; @@ -39,7 +40,6 @@ import org.apache.axis.wsdl.symbolTable.SchemaUtils; import org.apache.axis.wsdl.symbolTable.SymbolTable; import org.apache.axis.wsdl.symbolTable.TypeEntry; -import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import javax.wsdl.Binding; diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java index 383fd37db..7fa7c838a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java @@ -19,6 +19,8 @@ import org.apache.axis.InternalException; import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; import java.util.List; import java.io.Writer; import java.io.IOException; @@ -120,6 +122,30 @@ public static String[] split(String str, char separatorChar) { return (String[]) list.toArray(new String[list.size()]); } + /** + * Joins the elements of the provided collection into a single string using + * the given separator. + * + * @param items + * the collection of strings to join together + * @param separatorChar + * the separator character to use + * @return the joined string + */ + public static String join(Collection items, char separatorChar) { + StringBuffer buffer = new StringBuffer(); + boolean first = true; + for (Iterator it = items.iterator(); it.hasNext(); ) { + if (first) { + first = false; + } else { + buffer.append(separatorChar); + } + buffer.append((String)it.next()); + } + return buffer.toString(); + } + // Empty checks //----------------------------------------------------------------------- /** From d130006283281a1ec8918ff4a6fea9effb037508 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 25 Feb 2014 13:18:19 +0000 Subject: [PATCH 041/133] * Realign the content of the binary distribution with Axis 1.4. In particular, include axis-model in the uber-JAR. * Update the relevant documentation. --- axis-model/pom.xml | 15 ++++++----- axis/pom.xml | 2 ++ distribution/pom.xml | 12 ++++++--- distribution/src/main/assembly/bin.xml | 35 +++++++++++++++++++++++--- src/site/xdoc/artifacts.xml | 6 ++++- src/site/xdoc/user-guide.xml | 17 ++++++------- 6 files changed, 61 insertions(+), 26 deletions(-) diff --git a/axis-model/pom.xml b/axis-model/pom.xml index 5c6fcd99b..639cc38de 100644 --- a/axis-model/pom.xml +++ b/axis-model/pom.xml @@ -27,6 +27,13 @@ axis-model EMF Model for WSDD Files + ${baseUrl}/model + + + axis + ${baseSiteUrl}/model + + ${project.groupId} @@ -99,14 +106,6 @@
      - - - maven-site-plugin - - true - true - - diff --git a/axis/pom.xml b/axis/pom.xml index d790d7cb3..01a094ce5 100644 --- a/axis/pom.xml +++ b/axis/pom.xml @@ -79,6 +79,7 @@ + ${project.groupId}:axis-rt-compat ${project.groupId}:axis-rt-core ${project.groupId}:axis-rt-databinding-castor @@ -90,6 +91,7 @@ ${project.groupId}:axis-rt-transport-jms ${project.groupId}:axis-rt-transport-http-hc3 ${project.groupId}:axis-rt-transport-mail + ${project.groupId}:axis-model ${project.groupId}:axis-codegen ${project.groupId}:axis-tools ${project.groupId}:soapmonitor-client diff --git a/distribution/pom.xml b/distribution/pom.xml index ec92e918a..d62f31923 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -34,7 +34,7 @@ ${project.groupId} - axis-rt-core + axis ${project.version} @@ -44,14 +44,18 @@ ${project.groupId} - axis-tools + axis-jaxrpc ${project.version} ${project.groupId} - axis-standalone-server + axis-saaj ${project.version} + + log4j + log4j + junit junit @@ -144,7 +148,7 @@ ${project.build.directory}/axis-${project.version}/lib - junit + junit,mail ${skipTests} diff --git a/distribution/src/main/assembly/bin.xml b/distribution/src/main/assembly/bin.xml index 49a7f3a18..1acddae3a 100644 --- a/distribution/src/main/assembly/bin.xml +++ b/distribution/src/main/assembly/bin.xml @@ -177,10 +177,37 @@ false lib - - ant:ant:jar - junit:junit:jar - + ${artifact.artifactId}.jar + + *:axis:jar + *:axis-ant:jar + + + + false + lib + jaxrpc.jar + + *:axis-jaxrpc:jar + + + + false + lib + saaj.jar + + *:axis-saaj:jar + + + + false + lib + + *:commons-discovery:jar + *:commons-logging:jar + *:log4j:jar + *:wsdl4j:jar + diff --git a/src/site/xdoc/artifacts.xml b/src/site/xdoc/artifacts.xml index 4536663ee..de3978dca 100644 --- a/src/site/xdoc/artifacts.xml +++ b/src/site/xdoc/artifacts.xml @@ -73,7 +73,7 @@ Runtime Core - axis + axis axis-rt-core @@ -108,6 +108,10 @@ Mail Transport axis-rt-transport-mail + + EMF Models + axis-model + Code Generator axis-codegen diff --git a/src/site/xdoc/user-guide.xml b/src/site/xdoc/user-guide.xml index 4ae1de914..d99561f64 100644 --- a/src/site/xdoc/user-guide.xml +++ b/src/site/xdoc/user-guide.xml @@ -120,17 +120,16 @@

      See the Axis Installation Guide for instructions on installing Axis as a web application on your J2EE server.

      -

      Before running the examples in this guide, you'll need to make sure that your CLASSPATH includes (Note: If you build Axis from a CVS checkout, these will be in xml-axis/java/build/lib instead of axis-1_2/lib):

      +

      Before running the examples in this guide, you'll need to make sure that your CLASSPATH includes the following elements from the Axis binary distribution:

        -
      • axis-1_2/lib/axis.jar
      • -
      • axis-1_2/lib/jaxrpc.jar
      • -
      • axis-1_2/lib/saaj.jar
      • -
      • axis-1_2/lib/commons-logging.jar
      • -
      • axis-1_2/lib/commons-discovery.jar
      • -
      • axis-1_2/lib/wsdl4j.jar
      • -
      • axis-1_2/ (for the sample code)
      • -
      • A JAXP-1.1 compliant XML parser such as Xerces or Crimson. We recommend Xerces, as it is the one that the product has been tested against.
      • +
      • axis-<version>/lib/axis.jar
      • +
      • axis-<version>/lib/jaxrpc.jar
      • +
      • axis-<version>/lib/saaj.jar
      • +
      • axis-<version>/lib/commons-logging-<version>.jar
      • +
      • axis-<version>/lib/commons-discovery-<version>.jar
      • +
      • axis-<version>/lib/wsdl4j-<version>.jar
      • +
      • axis-<version>/ (for the sample code)
      From 5a4d39b7df7eee1cd1fa9ec1595a8ece58880bf4 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:41:45 +0000 Subject: [PATCH 042/133] Use StringBuffer where appropriate. --- .../org/apache/axis/wsdl/symbolTable/SymTabEntry.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java index 142410b33..152e13490 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java @@ -147,9 +147,10 @@ public String toString() { */ protected String toString(String indent) { - String string = indent + "QName: " + qname + '\n' + indent - + "name: " + name + '\n' + indent - + "isReferenced? " + isReferenced + '\n'; + StringBuffer buffer = new StringBuffer(); + buffer.append(indent).append("QName: ").append(qname).append('\n'); + buffer.append(indent).append("name: ").append(name).append('\n'); + buffer.append(indent).append("isReferenced? ").append(isReferenced).append('\n'); String prefix = indent + "dynamicVars: "; Iterator entries = dynamicVars.entrySet().iterator(); @@ -157,10 +158,10 @@ protected String toString(String indent) { Map.Entry entry = (Map.Entry) entries.next(); Object key = entry.getKey(); - string += prefix + key + " = " + entry.getValue() + '\n'; + buffer.append(prefix).append(key).append(" = ").append(entry.getValue()).append('\n'); prefix = indent + " "; } - return string; + return buffer.toString(); } // toString } // abstract class SymTabEntry From 8bbd01784ed1fbf29e15d6adeb52968605183cf4 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:42:17 +0000 Subject: [PATCH 043/133] Remove unnecessary method override. --- .../java/org/apache/axis/wsdl/symbolTable/TypeEntry.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java index 7b3233f2e..d997c4e2c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java @@ -432,15 +432,6 @@ public void setItemQName(QName itemQName) { this.itemQName = itemQName; } - /** - * Get string representation. - * - * @return - */ - public String toString() { - return toString(""); - } - /** * Get string representation with indentation * From 2a4495781227b7575e8bde85bb68988464b2c6eb Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:42:40 +0000 Subject: [PATCH 044/133] Output the class name in the toString method of all symbol table entries, not just type entries. --- .../main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java | 1 + .../main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java index 152e13490..5763352bb 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymTabEntry.java @@ -149,6 +149,7 @@ protected String toString(String indent) { StringBuffer buffer = new StringBuffer(); buffer.append(indent).append("QName: ").append(qname).append('\n'); + buffer.append(indent).append("Class: ").append(this.getClass().getName()).append('\n'); buffer.append(indent).append("name: ").append(name).append('\n'); buffer.append(indent).append("isReferenced? ").append(isReferenced).append('\n'); String prefix = indent + "dynamicVars: "; diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java index d997c4e2c..e9620a181 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java @@ -448,7 +448,6 @@ protected String toString(String indent) { } return super.toString(indent) - + indent + "Class: " + this.getClass().getName() + "\n" + indent + "Base?: " + isBaseType + "\n" + indent + "Undefined?: " + undefined + "\n" + indent + "isSimpleType? " + isSimpleType + "\n" From 8f9990bad28e6732195826602567970a33083c13 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:43:15 +0000 Subject: [PATCH 045/133] Some code simplifications. --- .../axis/wsdl/toJava/JavaDefinitionWriter.java | 13 +------------ .../axis/wsdl/toJava/JavaGeneratorFactory.java | 18 ++++++------------ .../axis/wsdl/toJava/JavaTypeWriter.java | 5 +---- .../org/apache/axis/wsdl/toJava/Utils.java | 15 ++++++--------- 4 files changed, 14 insertions(+), 37 deletions(-) diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java index 8e1861477..2cbf09eca 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java @@ -109,19 +109,8 @@ protected void writeFaults() throws IOException { // by JavaTypeWriter. MessageEntry me = symbolTable.getMessageEntry(message.getQName()); - boolean emitSimpleFault = true; - if (me != null) { - Boolean complexTypeFault = (Boolean) me.getDynamicVar( - JavaGeneratorFactory.COMPLEX_TYPE_FAULT); - - if ((complexTypeFault != null) - && complexTypeFault.booleanValue()) { - emitSimpleFault = false; - } - } - - if (emitSimpleFault) { + if (me == null || !Utils.isFaultComplex(me)) { try { JavaFaultWriter writer = new JavaFaultWriter(emitter, symbolTable, faultInfo); diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java index 4e44e9580..af9542344 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java @@ -805,10 +805,7 @@ private void setFaultContext(FaultInfo fault, SymbolTable symbolTable) { } else { // Complex Type Exception - Boolean isComplexFault = (Boolean) te.getDynamicVar( - JavaGeneratorFactory.COMPLEX_TYPE_FAULT); - - if ((isComplexFault == null) || !isComplexFault.booleanValue()) { + if (!Utils.isFaultComplex(te)) { // Mark the type as a complex type fault te.setDynamicVar(JavaGeneratorFactory.COMPLEX_TYPE_FAULT, @@ -1153,8 +1150,8 @@ && sameJavaClass(entry.getName(), } // Appended Suffix for avoiding name collisions (JAX-RPC 1.1) - Boolean isComplexTypeFault = (Boolean)entry.getDynamicVar(COMPLEX_TYPE_FAULT); - if ((isComplexTypeFault != null) && isComplexTypeFault.booleanValue()) { + boolean isComplexTypeFault = Utils.isFaultComplex(entry); + if (isComplexTypeFault) { entry.setName(mangleName(entry.getName(), EXCEPTION_SUFFIX)); } else { @@ -1173,13 +1170,12 @@ && sameJavaClass(entry.getName(), } // Need to resolve a complex-type exception message. - if ((isComplexTypeFault != null) && isComplexTypeFault.booleanValue()) { + if (isComplexTypeFault) { // SHOULD update the exception class name of a referencing message entry. List messageEntries = symbolTable.getMessageEntries(); for (int j = 0; j < messageEntries.size(); j++) { MessageEntry messageEntry = (MessageEntry)messageEntries.get(j); - Boolean isComplexTypeFaultMsg = (Boolean)messageEntry.getDynamicVar(COMPLEX_TYPE_FAULT); - if ((isComplexTypeFaultMsg != null) && (isComplexTypeFaultMsg.booleanValue())) { + if (Utils.isFaultComplex(messageEntry)) { QName exceptionDataType = (QName)messageEntry.getDynamicVar(EXCEPTION_DATA_TYPE); if (((TypeEntry)entry).getQName().equals(exceptionDataType)) { String className = (String)messageEntry.getDynamicVar(EXCEPTION_CLASS_NAME); @@ -1194,9 +1190,7 @@ && sameJavaClass(entry.getName(), } else if (entry instanceof ServiceEntry) { entry.setName(mangleName(entry.getName(), SERVICE_SUFFIX)); } else if (entry instanceof MessageEntry) { - Boolean complexTypeFault = - (Boolean) entry.getDynamicVar(COMPLEX_TYPE_FAULT); - if ((complexTypeFault == null) || !complexTypeFault.booleanValue()) { + if (!Utils.isFaultComplex(entry)) { String exceptionClassName = (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME); entry.setDynamicVar(EXCEPTION_CLASS_NAME, exceptionClassName + EXCEPTION_SUFFIX); } diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java index 99c12804a..c02a28e54 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java @@ -160,10 +160,7 @@ protected JavaWriter getBeanWriter(Emitter emitter, TypeEntry type, TypeEntry ba // If this complexType is referenced in a // fault context, emit a bean-like exception // class - Boolean isComplexFault = (Boolean) type.getDynamicVar( - JavaGeneratorFactory.COMPLEX_TYPE_FAULT); - - if ((isComplexFault != null) && isComplexFault.booleanValue()) { + if (Utils.isFaultComplex(type)) { return new JavaBeanFaultWriter(emitter, type, elements, base, attributes, diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java index 2f46662fa..ee66b107d 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java @@ -282,16 +282,13 @@ public static QName getFaultDataType(Message faultMessage, public static boolean isFaultComplex(Message faultMessage, SymbolTable symbolTable) { - MessageEntry me = symbolTable.getMessageEntry(faultMessage.getQName()); - Boolean ret = - (Boolean) me.getDynamicVar(JavaGeneratorFactory.COMPLEX_TYPE_FAULT); - - if (ret != null) { - return ret.booleanValue(); - } else { - return false; - } + return isFaultComplex(symbolTable.getMessageEntry(faultMessage.getQName())); } // isFaultComplex + + static boolean isFaultComplex(SymTabEntry entry) { + Boolean value = (Boolean) entry.getDynamicVar(JavaGeneratorFactory.COMPLEX_TYPE_FAULT); + return value != null && value.booleanValue(); + } /** * If the specified node represents a supported JAX-RPC enumeration, From 008d381506e6d4414d327ad0b47f614605253095 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:43:39 +0000 Subject: [PATCH 046/133] AXIS-2900: A fault message referring to an element and that has the same name as an element (typically the element it refers to) doesn't cause any collision (because no class is generated for the fault message) and the class name corresponding to the element shouldn't be mangled. --- axis-ant/pom.xml | 1 + axis-ant/src/test/ant/axis2900/build.xml | 10 +++ .../wsdl/axis2900/VerifyFilesTestCase.java | 63 +++++++++++++++ axis-ant/src/test/wsdl/axis2900/sample.wsdl | 76 +++++++++++++++++++ .../wsdl/toJava/JavaGeneratorFactory.java | 4 +- 5 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 axis-ant/src/test/ant/axis2900/build.xml create mode 100644 axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java create mode 100644 axis-ant/src/test/wsdl/axis2900/sample.wsdl diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 13a2c6d55..6ffee71a5 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -78,6 +78,7 @@ + diff --git a/axis-ant/src/test/ant/axis2900/build.xml b/axis-ant/src/test/ant/axis2900/build.xml new file mode 100644 index 000000000..ad0b37c4d --- /dev/null +++ b/axis-ant/src/test/ant/axis2900/build.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java new file mode 100644 index 000000000..8249840c7 --- /dev/null +++ b/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package test.wsdl.axis2900; + +import test.AxisFileGenTestBase; + +import java.io.File; +import java.util.HashSet; +import java.util.Set; + +public class VerifyFilesTestCase extends AxisFileGenTestBase { + public VerifyFilesTestCase(String name) { + super(name); + } + + /** + * List of files which should be generated. + */ + protected Set shouldExist() { + HashSet set = new HashSet(); + set.add("Exception.java"); + set.add("MyWS.java"); + set.add("MyWSException.java"); + set.add("MyWSLocator.java"); + set.add("MyWSPortType.java"); + set.add("MyWSSoap11BindingStub.java"); + return set; + } // shouldExist + + /** + * List of files which may be generated. + */ + protected Set mayExist() { + HashSet set = new HashSet(); + return set; + } // shouldExist + + /** + * The directory containing the files that should exist. + */ + protected String rootDir() { + return "target" + File.separator + "work" + File.separator + + "test" + File.separator + "wsdl" + File.separator + + "axis2900"; + } // rootDir + +} // class VerifyFilesTestCase diff --git a/axis-ant/src/test/wsdl/axis2900/sample.wsdl b/axis-ant/src/test/wsdl/axis2900/sample.wsdl new file mode 100644 index 000000000..942808715 --- /dev/null +++ b/axis-ant/src/test/wsdl/axis2900/sample.wsdl @@ -0,0 +1,76 @@ + + + + Please Type your service description here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java index af9542344..bdfc2d60f 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java @@ -1008,7 +1008,9 @@ protected void resolveNameClashes(SymbolTable symbolTable) { if (v.elementAt(index) instanceof MessageEntry) { // Need to resolve a Exception message. MessageEntry msgEntry = (MessageEntry) v.elementAt(index); - if (msgEntry.getDynamicVar(EXCEPTION_CLASS_NAME) == null) { + // AXIS-2900: Only simple type faults generate additional classes; message entries for + // complex type faults don't cause any collisions. + if (Utils.isFaultComplex(msgEntry) || msgEntry.getDynamicVar(EXCEPTION_CLASS_NAME) == null) { v.removeElementAt(index); } else { index++; From 52b7424539816234a17a25e5ba3474ab5cd6dfca Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 11:44:06 +0000 Subject: [PATCH 047/133] Some code cleanup. --- .../java/test/wsdl/clash/VerifyFilesTestCase.java | 4 ++-- .../java/test/wsdl/filegen/AllOptionTestCase.java | 4 +++- .../test/java/test/wsdl/filegen/FileGenTestCase.java | 12 ------------ .../java/test/wsdl/header/VerifyFilesTestCase.java | 4 ++-- .../test/wsdl/multibinding/VerifyFilesTestCase.java | 4 ++-- .../src/main/java/test/AxisFileGenTestBase.java | 12 +++++++++--- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java index 5b5e8f790..7e513ef12 100644 --- a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java @@ -20,13 +20,13 @@ */ package test.wsdl.clash; -import test.wsdl.filegen.FileGenTestCase; +import test.AxisFileGenTestBase; import java.io.File; import java.util.HashSet; import java.util.Set; -public class VerifyFilesTestCase extends FileGenTestCase { +public class VerifyFilesTestCase extends AxisFileGenTestBase { public VerifyFilesTestCase(String name) { super(name); } diff --git a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java index c58244c42..705b84b9e 100644 --- a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java @@ -24,7 +24,9 @@ import java.util.HashSet; import java.util.Set; -public class AllOptionTestCase extends FileGenTestCase { +import test.AxisFileGenTestBase; + +public class AllOptionTestCase extends AxisFileGenTestBase { public AllOptionTestCase(String name) { super(name); } diff --git a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java index ec18f6fa4..aa4884516 100644 --- a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java @@ -24,12 +24,8 @@ import test.AxisFileGenTestBase; import java.io.File; -import java.io.IOException; -import java.util.Arrays; import java.util.HashSet; import java.util.Set; -import java.util.Vector; - public class FileGenTestCase extends AxisFileGenTestBase { public FileGenTestCase(String name) { @@ -50,14 +46,6 @@ protected Set shouldExist() { return set; } - /** - * List of files which may or may not be generated. - */ - protected Set mayExist() { - HashSet set = new HashSet(); - return set; - } - /** * The directory containing the files that should exist. */ diff --git a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java index e4a1db31d..ad362023c 100644 --- a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java @@ -20,13 +20,13 @@ */ package test.wsdl.header; -import test.wsdl.filegen.FileGenTestCase; +import test.AxisFileGenTestBase; import java.io.File; import java.util.HashSet; import java.util.Set; -public class VerifyFilesTestCase extends FileGenTestCase { +public class VerifyFilesTestCase extends AxisFileGenTestBase { public VerifyFilesTestCase(String name) { super(name); } diff --git a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java index ad40882b3..e62c91685 100644 --- a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java @@ -20,13 +20,13 @@ */ package test.wsdl.multibinding; -import test.wsdl.filegen.FileGenTestCase; +import test.AxisFileGenTestBase; import java.io.File; import java.util.HashSet; import java.util.Set; -public class VerifyFilesTestCase extends FileGenTestCase { +public class VerifyFilesTestCase extends AxisFileGenTestBase { public VerifyFilesTestCase(String name) { super(name); } diff --git a/axis-testutils/src/main/java/test/AxisFileGenTestBase.java b/axis-testutils/src/main/java/test/AxisFileGenTestBase.java index 72e5424f9..d014c9323 100644 --- a/axis-testutils/src/main/java/test/AxisFileGenTestBase.java +++ b/axis-testutils/src/main/java/test/AxisFileGenTestBase.java @@ -17,8 +17,6 @@ package test; -import org.custommonkey.xmlunit.XMLTestCase; - import java.io.File; import java.io.IOException; import java.util.Set; @@ -44,7 +42,15 @@ protected String getPrefix(String parent) { } } - abstract protected Set mayExist(); + /** + * List of files which may or may not be generated. May be overridden by + * subclasses. + */ + protected Set mayExist() { + HashSet set = new HashSet(); + return set; + } + abstract protected String rootDir(); abstract protected Set shouldExist(); From aacd0ccc7e27f5579099d2d32d3ea0c614f11e74 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 26 Feb 2014 21:50:50 +0000 Subject: [PATCH 048/133] Added test cases for AXIS-2378 and AXIS-2901. --- axis-ant/pom.xml | 2 + axis-ant/src/test/ant/axis2378/build.xml | 10 +++ axis-ant/src/test/ant/axis2901/build.xml | 13 ++++ axis-ant/src/test/wsdl/axis2378/sample.wsdl | 56 +++++++++++++++ axis-ant/src/test/wsdl/axis2901/sample.wsdl | 76 +++++++++++++++++++++ 5 files changed, 157 insertions(+) create mode 100644 axis-ant/src/test/ant/axis2378/build.xml create mode 100644 axis-ant/src/test/ant/axis2901/build.xml create mode 100644 axis-ant/src/test/wsdl/axis2378/sample.wsdl create mode 100644 axis-ant/src/test/wsdl/axis2901/sample.wsdl diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 6ffee71a5..69b65c7ef 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -78,7 +78,9 @@ + + diff --git a/axis-ant/src/test/ant/axis2378/build.xml b/axis-ant/src/test/ant/axis2378/build.xml new file mode 100644 index 000000000..ed1e8cf82 --- /dev/null +++ b/axis-ant/src/test/ant/axis2378/build.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/axis-ant/src/test/ant/axis2901/build.xml b/axis-ant/src/test/ant/axis2901/build.xml new file mode 100644 index 000000000..59542881e --- /dev/null +++ b/axis-ant/src/test/ant/axis2901/build.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/axis-ant/src/test/wsdl/axis2378/sample.wsdl b/axis-ant/src/test/wsdl/axis2378/sample.wsdl new file mode 100644 index 000000000..efdad99fa --- /dev/null +++ b/axis-ant/src/test/wsdl/axis2378/sample.wsdl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/axis-ant/src/test/wsdl/axis2901/sample.wsdl b/axis-ant/src/test/wsdl/axis2901/sample.wsdl new file mode 100644 index 000000000..ebe3fd3a6 --- /dev/null +++ b/axis-ant/src/test/wsdl/axis2901/sample.wsdl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From c64cc10457d2326028399bc4bfb084263bfd26c4 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 2 Mar 2014 16:09:17 +0000 Subject: [PATCH 049/133] Added the necessary infrastructure to get debug logging in Ant task tests. --- axis-ant/pom.xml | 10 ++++++-- axis-ant/src/test/resources/log4j.properties | 26 ++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 axis-ant/src/test/resources/log4j.properties diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 69b65c7ef..f2547e354 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -61,6 +61,11 @@ commons-io test
      + + log4j + log4j + test +
      @@ -76,8 +81,9 @@ - - + + + diff --git a/axis-ant/src/test/resources/log4j.properties b/axis-ant/src/test/resources/log4j.properties new file mode 100644 index 000000000..bdb4c087f --- /dev/null +++ b/axis-ant/src/test/resources/log4j.properties @@ -0,0 +1,26 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +log4j.rootLogger=INFO, CONSOLE + +#log4j.logger.org.apache.axis=DEBUG + +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%t] %-5p %c - %m%n From 436cb0cadd9d1efee47fa0e93b1251613b8faf2e Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 2 Mar 2014 16:09:35 +0000 Subject: [PATCH 050/133] Some code simplifications. --- .../wsdl/toJava/JavaGeneratorFactory.java | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java index bdfc2d60f..3f7cd0433 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java @@ -1088,7 +1088,7 @@ protected void resolveNameClashes(SymbolTable symbolTable) { SymTabEntry entry = (SymTabEntry) v.elementAt(i); if (entry instanceof Element) { - entry.setName(mangleName(entry.getName(), ELEMENT_SUFFIX)); + mangleName(entry, ELEMENT_SUFFIX); // If this global element was defined using // an anonymous type, then need to change the @@ -1153,12 +1153,7 @@ && sameJavaClass(entry.getName(), // Appended Suffix for avoiding name collisions (JAX-RPC 1.1) boolean isComplexTypeFault = Utils.isFaultComplex(entry); - if (isComplexTypeFault) { - entry.setName(mangleName(entry.getName(), EXCEPTION_SUFFIX)); - } - else { - entry.setName(mangleName(entry.getName(), TYPE_SUFFIX)); - } + mangleName(entry, isComplexTypeFault ? EXCEPTION_SUFFIX : TYPE_SUFFIX); // should update the class name of ElementEntry which references this type entry Map elementIndex = symbolTable.getElementIndex(); @@ -1188,9 +1183,9 @@ && sameJavaClass(entry.getName(), } } } else if (entry instanceof PortTypeEntry) { - entry.setName(mangleName(entry.getName(), PORT_TYPE_SUFFIX)); // "_Port" --> "_PortType" for JAX-RPC 1.1 + mangleName(entry, PORT_TYPE_SUFFIX); // "_Port" --> "_PortType" for JAX-RPC 1.1 } else if (entry instanceof ServiceEntry) { - entry.setName(mangleName(entry.getName(), SERVICE_SUFFIX)); + mangleName(entry, SERVICE_SUFFIX); } else if (entry instanceof MessageEntry) { if (!Utils.isFaultComplex(entry)) { String exceptionClassName = (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME); @@ -1210,8 +1205,7 @@ else if (entry instanceof BindingEntry) { // named after the binding name, so there is the // possibility of a name clash. if (bEntry.hasLiteral()) { - entry.setName(mangleName(entry.getName(), - BINDING_SUFFIX)); + mangleName(entry, BINDING_SUFFIX); } } } @@ -1221,24 +1215,28 @@ else if (entry instanceof BindingEntry) { } // resolveNameClashes /** - * Change the indicated type name into a mangled form using the mangle string. + * Change the type name of the given symbol table entry into a mangled + * form using the given suffix. * - * @param name - * @param mangle - * @return + * @param entry + * @param suffix */ - private String mangleName(String name, String mangle) { + private void mangleName(SymTabEntry entry, String suffix) { + String name = entry.getName(); int index = name.indexOf("["); + String newName; if (index >= 0) { String pre = name.substring(0, index); String post = name.substring(index); - return pre + mangle + post; + newName = pre + suffix + post; } else { - return name + mangle; + newName = name + suffix; } + + entry.setName(newName); } /** From 071e8c4f89c436b208ce4c327e6ab359aaecc28d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 2 Mar 2014 16:09:53 +0000 Subject: [PATCH 051/133] Improved debug logging. --- .../wsdl/toJava/JavaGeneratorFactory.java | 15 +++++++++++++-- .../axis/wsdl/toJava/JavaTypeWriter.java | 4 ++++ .../apache/axis/wsdl/toJava/JavaWriter.java | 7 +++++++ .../java/org/apache/axis/wsdl/gen/Parser.java | 19 +++++++++++++++---- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java index 3f7cd0433..7676c7817 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java @@ -64,7 +64,7 @@ * This is Wsdl2java's implementation of the GeneratorFactory */ public class JavaGeneratorFactory implements GeneratorFactory { - private static final Log log_ = + private static final Log log = LogFactory.getLog(JavaGeneratorFactory.class.getName()); /** Field emitter */ @@ -450,6 +450,10 @@ public void generate() throws IOException { gen.generate(); } } // generate + + public String toString() { + return "Writers[baseWriter=" + baseWriter + ",writers=" + writers + ",entry.name=" + (entry == null ? "N/A" : entry.getName()) + "]"; + } } // class Writers /** @@ -459,6 +463,9 @@ public void generate() throws IOException { * @param generator */ public void addGenerator(Class wsdlClass, Class generator) { + if (log.isDebugEnabled()) { + log.debug("Adding generator for " + wsdlClass.getName() + ": " + generator.getName()); + } // This is just a hack right now... it just works with Service if (Message.class.isAssignableFrom(wsdlClass)) { @@ -1237,6 +1244,10 @@ private void mangleName(SymTabEntry entry, String suffix) { } entry.setName(newName); + + if (log.isDebugEnabled()) { + log.debug("Symbol table of type " + entry.getClass().getName() + " mangled: " + name + " -> " + newName); + } } /** @@ -1644,7 +1655,7 @@ protected boolean include(QName qName) { doInclude = true; } else { - log_.info( + log.info( "excluding code generation for non-included QName:" + qName); } diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java index c02a28e54..775cf080c 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java @@ -202,4 +202,8 @@ protected JavaWriter getBeanHelperWriter( protected Generator getHolderWriter(Emitter emitter, TypeEntry type) { return new JavaHolderWriter(emitter, type); } + + public String toString() { + return "JavaTypeWriter[typeWriter=" + typeWriter + ",holderWriter=" + holderWriter + "]"; + } } // class JavaTypeWriter diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java index b34fcdcb2..8d9d7b3e8 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java @@ -15,8 +15,10 @@ */ package org.apache.axis.wsdl.toJava; +import org.apache.axis.components.logger.LogFactory; import org.apache.axis.utils.Messages; import org.apache.axis.wsdl.gen.Generator; +import org.apache.commons.logging.Log; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -76,6 +78,7 @@ * */ public abstract class JavaWriter implements Generator { + private static final Log log = LogFactory.getLog(JavaWriter.class.getName()); /** This controls how many characters per line for javadoc comments */ protected final static int LINE_LENGTH = 65; @@ -121,6 +124,10 @@ public void generate() throws IOException { } } + if (log.isDebugEnabled()) { + log.debug("Start generating file " + file); + } + PrintWriter pw = getPrintWriter(file); writeFileHeader(pw); diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java index 866028596..babe1df06 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java @@ -15,6 +15,7 @@ */ package org.apache.axis.wsdl.gen; +import org.apache.axis.components.logger.LogFactory; import org.apache.axis.utils.Messages; import org.apache.axis.wsdl.symbolTable.BindingEntry; import org.apache.axis.wsdl.symbolTable.CollectionElement; @@ -26,6 +27,7 @@ import org.apache.axis.wsdl.symbolTable.Type; import org.apache.axis.wsdl.symbolTable.TypeEntry; import org.apache.axis.wsdl.symbolTable.Utils; +import org.apache.commons.logging.Log; import org.w3c.dom.Document; import org.xml.sax.EntityResolver; import org.xml.sax.SAXException; @@ -34,6 +36,7 @@ import javax.wsdl.Definition; import javax.wsdl.WSDLException; import javax.xml.parsers.ParserConfigurationException; + import java.io.IOException; import java.util.Collection; import java.util.Iterator; @@ -44,6 +47,7 @@ * This is a class with no documentation. */ public class Parser { + private static final Log log = LogFactory.getLog(Parser.class.getName()); /** Field debug */ protected boolean debug = false; @@ -442,6 +446,13 @@ protected void sanityCheck(SymbolTable symbolTable) { // do nothing. } + private static void generate(Generator gen) throws IOException { + if (log.isDebugEnabled()) { + log.debug("Invoking generator " + gen); + } + gen.generate(); + } + /** * Method generate * @@ -505,7 +516,7 @@ private void generate(SymbolTable symbolTable) throws IOException { } if (gen != null) { - gen.generate(); + generate(gen); } } } @@ -514,7 +525,7 @@ private void generate(SymbolTable symbolTable) throws IOException { // outside of the recursive emit method. Generator gen = genFactory.getGenerator(def, symbolTable); - gen.generate(); + generate(gen); } // generate /** @@ -549,7 +560,7 @@ private void generateTypes(SymbolTable symbolTable) throws IOException { && (type.getBaseType() == null)) { Generator gen = genFactory.getGenerator(type, symbolTable); - gen.generate(); + generate(gen); } } @@ -576,7 +587,7 @@ private void generateTypes(SymbolTable symbolTable) throws IOException { && (type.getBaseType() == null)) { Generator gen = genFactory.getGenerator(type, symbolTable); - gen.generate(); + generate(gen); } } } // generateTypes From 70125415b703b523e27406180a1652bc73a4827a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 16 Mar 2014 18:43:16 +0000 Subject: [PATCH 052/133] Reenabled an old test case (using a mock service). --- .../src/main/resources/uddi_v1/README.txt | 1 + .../uddi_v1/find_business-request.xml | 8 +++++ .../uddi_v1/find_business-response.xml | 21 ++++++++++++ .../webapp/WEB-INF/dispatcher-servlet.xml | 13 ++++++++ .../src/main/java/samples/jaxm/UddiPing.java | 4 +-- .../java/test/functional/TestJAXMSamples.java | 33 +++---------------- 6 files changed, 49 insertions(+), 31 deletions(-) create mode 100644 interop-mock/src/main/resources/uddi_v1/README.txt create mode 100644 interop-mock/src/main/resources/uddi_v1/find_business-request.xml create mode 100644 interop-mock/src/main/resources/uddi_v1/find_business-response.xml diff --git a/interop-mock/src/main/resources/uddi_v1/README.txt b/interop-mock/src/main/resources/uddi_v1/README.txt new file mode 100644 index 000000000..5f20c8c78 --- /dev/null +++ b/interop-mock/src/main/resources/uddi_v1/README.txt @@ -0,0 +1 @@ +Request/response constructed from samples found on the Internet. \ No newline at end of file diff --git a/interop-mock/src/main/resources/uddi_v1/find_business-request.xml b/interop-mock/src/main/resources/uddi_v1/find_business-request.xml new file mode 100644 index 000000000..c39264d9c --- /dev/null +++ b/interop-mock/src/main/resources/uddi_v1/find_business-request.xml @@ -0,0 +1,8 @@ + + + + + Microsoft + + + diff --git a/interop-mock/src/main/resources/uddi_v1/find_business-response.xml b/interop-mock/src/main/resources/uddi_v1/find_business-response.xml new file mode 100644 index 000000000..79df894e7 --- /dev/null +++ b/interop-mock/src/main/resources/uddi_v1/find_business-response.xml @@ -0,0 +1,21 @@ + + + + + + + Microsoft Corporation + Empowering people through great software - any time, any place and on any device. + + + Electronic Business Integration Services + + + UDDI Web Services + + + + + + + diff --git a/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml b/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml index 02d54db64..56a38bc07 100644 --- a/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml +++ b/interop-mock/src/main/webapp/WEB-INF/dispatcher-servlet.xml @@ -306,4 +306,17 @@ + + + + + + + + + + + + + diff --git a/samples/jaxm-sample/src/main/java/samples/jaxm/UddiPing.java b/samples/jaxm-sample/src/main/java/samples/jaxm/UddiPing.java index ef62d8463..102a68184 100644 --- a/samples/jaxm-sample/src/main/java/samples/jaxm/UddiPing.java +++ b/samples/jaxm-sample/src/main/java/samples/jaxm/UddiPing.java @@ -60,8 +60,8 @@ public static void searchUDDI(String name, String url) throws Exception { msg.saveChanges(); SOAPMessage reply = connection.call(msg, endpoint); - //System.out.println("Received reply from: " + endpoint); - //reply.writeTo(System.out); + System.out.println("Received reply from: " + endpoint); + reply.writeTo(System.out); connection.close(); } } diff --git a/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java b/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java index 282493cb7..bb38ec1a4 100644 --- a/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java +++ b/samples/jaxm-sample/src/test/java/test/functional/TestJAXMSamples.java @@ -20,6 +20,7 @@ import org.apache.axis.components.logger.LogFactory; import org.apache.commons.logging.Log; import samples.jaxm.DelayedStockQuote; +import samples.jaxm.UddiPing; /** * Test the JAX-RPC compliance samples. @@ -31,35 +32,9 @@ public TestJAXMSamples(String name) { super(name); } // ctor -// // This is timing out for some reason - removed for the nonce. -// // -- gdaniels, 4/21/2003 -// public void testUddiPing() throws Exception { -// try { -// log.info("Testing JAXM UddiPing sample."); -// UddiPing.searchUDDI("IBM", "http://www-3.ibm.com/services/uddi/testregistry/inquiryapi"); -// log.info("Test complete."); -// } catch (javax.xml.soap.SOAPException e) { -// Throwable t = e.getCause(); -// if (t != null) { -// t.printStackTrace(); -// if (t instanceof AxisFault) { -// AxisFault af = (AxisFault) t; -// if ((af.detail instanceof SocketException) || -// (af.getFaultCode().getLocalPart().equals("HTTP")) ) { -// System.out.println("Connect failure caused JAXM UddiPing to be skipped."); -// return; -// } -// } -// throw new Exception("Fault returned from test: " + t); -// } else { -// e.printStackTrace(); -// throw new Exception("Exception returned from test: " + e); -// } -// } catch (Throwable t) { -// t.printStackTrace(); -// throw new Exception("Fault returned from test: " + t); -// } -// } // testGetQuote + public void testUddiPing() throws Exception { + UddiPing.searchUDDI("Microsoft", "http://localhost:" + System.getProperty("jetty.httpPort") + "/uddi_v1"); + } // testGetQuote public void testDelayedStockQuote() throws Exception { DelayedStockQuote stockQuote = new DelayedStockQuote("http://localhost:" + System.getProperty("jetty.httpPort") + "/xmethods/delayed-quotes"); From ebcfe02107f817e1f123d3447bea7939759b991d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 19 Mar 2014 08:06:49 +0000 Subject: [PATCH 053/133] Use a Maven plugin instead of Java code to test presence of generated files. --- axis-ant/pom.xml | 138 ++++++++++++++++++ .../wsdl/axis2900/VerifyFilesTestCase.java | 63 -------- .../test/wsdl/clash/VerifyFilesTestCase.java | 74 ---------- .../test/wsdl/extra/ExtraClassesTestCase.java | 99 ------------- .../test/wsdl/filegen/AllOptionTestCase.java | 58 -------- .../test/wsdl/filegen/FileGenTestCase.java | 59 -------- .../src/test/java/test/wsdl/filegen/README | 21 --- .../java/test/wsdl/groups/GroupsTestCase.java | 97 ------------ .../test/wsdl/header/VerifyFilesTestCase.java | 66 --------- .../SalesRankNPrice_ServiceTestCase.java | 74 ---------- .../multibinding/VerifyFilesTestCase.java | 66 --------- pom.xml | 17 +++ 12 files changed, 155 insertions(+), 677 deletions(-) delete mode 100644 axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/filegen/README delete mode 100644 axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java delete mode 100644 axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index f2547e354..02f439281 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -149,6 +149,144 @@
      + + com.github.veithen.filecheck + filecheck-maven-plugin + + + test + + check-multiple + + + + + ${project.build.directory}/work/test/wsdl/axis2900 + + Exception.java + MyWS.java + MyWSException.java + MyWSLocator.java + MyWSPortType.java + MyWSSoap11BindingStub.java + + + + ${project.build.directory}/work/test/wsdl/clash + + AnotherNonSharedNameImpl.java + AnotherNonSharedNameStub.java + DescribeLayoutType0.java + DescribeLayout.java + NonSharedNameImpl.java + NonSharedNameStub.java + SayHello.java + SharedName_PortType.java + SharedName_Service.java + SharedName_ServiceLocator.java + SharedName_ServiceTestCase.java + SharedName_Type.java + deploy.wsdd + undeploy.wsdd + + + SharedName_Type_Helper.java + + + + ${project.build.directory}/work/test/wsdl/extra + + Extra.java + MyService.java + MyServiceService.java + MyServiceServiceLocator.java + MyServiceSoapBindingStub.java + MyService.wsdl + + + + ${project.build.directory}/work/test/wsdl/filegenAll + + Address.java + OpFault.java + PortTypeSoap.java + ReferenceService.java + ReferenceServiceLocator.java + ReferenceSoapBindingStub.java + StateType.java + + + + ${project.build.directory}/work/test/wsdl/filegen + + OpFault.java + PortTypeSoap.java + ReferenceService.java + ReferenceServiceLocator.java + ReferenceSoapBindingStub.java + + + + ${project.build.directory}/work/test/wsdl/groups + + SomeType.java + + + + ${project.build.directory}/work/test/wsdl/header + + BindingImpl.java + BindingSkeleton.java + BindingStub.java + HeaderService.java + HeaderServiceLocator.java + HeaderServiceTestCase.java + HeaderType.java + ImplicitFault.java + Op1Fault.java + PortType.java + deploy.wsdd + undeploy.wsdd + + + + ${project.build.directory}/work/test/wsdl/literal + + SalesRankNPrice1.java + SalesRanks.java + Prices.java + All.java + SalesRankNPriceSoap.java + SalesRankNPriceSoapStub.java + SalesRankNPrice.java + SalesRankNPriceLocator.java + + + + ${project.build.directory}/work/test/wsdl/multibinding + + BindingAllLitImpl.java + BindingAllLitSkeleton.java + BindingAllLitStub.java + BindingNoLitImpl.java + BindingNoLitSkeleton.java + BindingNoLitStub.java + BindingSomeLitImpl.java + BindingSomeLitSkeleton.java + BindingSomeLitStub.java + MbPT.java + MbService.java + MbServiceLocator.java + MbServiceTestCase.java + deploy.wsdd + undeploy.wsdd + + + + + + + diff --git a/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java deleted file mode 100644 index 8249840c7..000000000 --- a/axis-ant/src/test/java/test/wsdl/axis2900/VerifyFilesTestCase.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package test.wsdl.axis2900; - -import test.AxisFileGenTestBase; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -public class VerifyFilesTestCase extends AxisFileGenTestBase { - public VerifyFilesTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("Exception.java"); - set.add("MyWS.java"); - set.add("MyWSException.java"); - set.add("MyWSLocator.java"); - set.add("MyWSPortType.java"); - set.add("MyWSSoap11BindingStub.java"); - return set; - } // shouldExist - - /** - * List of files which may be generated. - */ - protected Set mayExist() { - HashSet set = new HashSet(); - return set; - } // shouldExist - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "axis2900"; - } // rootDir - -} // class VerifyFilesTestCase diff --git a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java deleted file mode 100644 index 7e513ef12..000000000 --- a/axis-ant/src/test/java/test/wsdl/clash/VerifyFilesTestCase.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This tests the file generation of only the items that are referenced in WSDL - * - */ -package test.wsdl.clash; - -import test.AxisFileGenTestBase; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -public class VerifyFilesTestCase extends AxisFileGenTestBase { - public VerifyFilesTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("AnotherNonSharedNameImpl.java"); - set.add("AnotherNonSharedNameStub.java"); - set.add("DescribeLayoutType0.java"); - set.add("DescribeLayout.java"); - set.add("NonSharedNameImpl.java"); - set.add("NonSharedNameStub.java"); - set.add("SayHello.java"); - set.add("SharedName_PortType.java"); - set.add("SharedName_Service.java"); - set.add("SharedName_ServiceLocator.java"); - set.add("SharedName_ServiceTestCase.java"); - set.add("SharedName_Type.java"); - set.add("deploy.wsdd"); - set.add("undeploy.wsdd"); - return set; - } // shouldExist - - /** - * List of files which may be generated. - */ - protected Set mayExist() { - HashSet set = new HashSet(); - set.add("SharedName_Type_Helper.java"); - return set; - } // shouldExist - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "clash"; - } // rootDir - -} // class VerifyFilesTestCase diff --git a/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java b/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java deleted file mode 100644 index d4afa27a3..000000000 --- a/axis-ant/src/test/java/test/wsdl/extra/ExtraClassesTestCase.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package test.wsdl.extra; - -import java.io.File; -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; -import java.util.Vector; - -/** - * This tests the file generation of only the items that are referenced in WSDL - * This should extend FileGenTestCase, but we have a dependancy problem as - * "extra" comes before "filegen". Oh well. - * - */ -public class ExtraClassesTestCase extends junit.framework.TestCase { - public ExtraClassesTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("Extra.java"); // this is the important one - set.add("MyService.java"); - set.add("MyServiceService.java"); - set.add("MyServiceServiceLocator.java"); - set.add("MyServiceSoapBindingStub.java"); - set.add("MyService.wsdl"); - return set; - } // shouldExist - - /** - * List of files which may or may not be generated. - */ - protected Set mayExist() { - HashSet set = new HashSet(); - return set; - } - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "extra"; - } // rootDir - - public void testFileGen() throws IOException { - String rootDir = rootDir(); - Set shouldExist = shouldExist(); - Set mayExist = mayExist(); - - // open up the output directory and check what files exist. - File outputDir = new File(rootDir); - - String[] files = outputDir.list(); - - Vector shouldNotExist = new Vector(); - - for (int i = 0; i < files.length; ++i) { - if (shouldExist.contains(files[i])) { - shouldExist.remove(files[i]); - } - else if (mayExist.contains(files[i])) { - mayExist.remove(files[i]); - } - else { - shouldNotExist.add(files[i]); - } - } - - if (shouldExist.size() > 0) { - fail("The following files should exist but do not: " + shouldExist); - } - - if (shouldNotExist.size() > 0) { - fail("The following files should NOT exist, but do: " + shouldNotExist); - } - } -} // class AllOptionTestCase diff --git a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java deleted file mode 100644 index 705b84b9e..000000000 --- a/axis-ant/src/test/java/test/wsdl/filegen/AllOptionTestCase.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This tests the file generation of only the items that are referenced in WSDL - * - */ -package test.wsdl.filegen; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -import test.AxisFileGenTestBase; - -public class AllOptionTestCase extends AxisFileGenTestBase { - public AllOptionTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("Address.java"); - set.add("OpFault.java"); - set.add("PortTypeSoap.java"); - set.add("ReferenceService.java"); - set.add("ReferenceServiceLocator.java"); - set.add("ReferenceSoapBindingStub.java"); - set.add("StateType.java"); - return set; - } // shouldExist - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "filegenAll"; - } // rootDir - -} // class AllOptionTestCase diff --git a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java b/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java deleted file mode 100644 index aa4884516..000000000 --- a/axis-ant/src/test/java/test/wsdl/filegen/FileGenTestCase.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This tests the file generation of only the items that are referenced in WSDL - * - * @author Tom Jordahl (tomj@macromedia.com) - */ -package test.wsdl.filegen; - -import test.AxisFileGenTestBase; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -public class FileGenTestCase extends AxisFileGenTestBase { - public FileGenTestCase(String name) { - super(name); - } - - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("OpFault.java"); - set.add("PortTypeSoap.java"); - set.add("ReferenceService.java"); - set.add("ReferenceServiceLocator.java"); - set.add("ReferenceSoapBindingStub.java"); - return set; - } - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "filegen"; - } - -} - diff --git a/axis-ant/src/test/java/test/wsdl/filegen/README b/axis-ant/src/test/java/test/wsdl/filegen/README deleted file mode 100644 index cc06f0dbf..000000000 --- a/axis-ant/src/test/java/test/wsdl/filegen/README +++ /dev/null @@ -1,21 +0,0 @@ -FileGenTestCase verifies that the proper set of files is generated for FileGen.wsdl. This is a test that would be useful for many WSDL files, so FileGenTestCase is also extensible. - -Here is the interface for FileGenTestCase: - -FileGenTestCase { - public FileGenTestCase(java.lang.String); - protected java.util.Set shouldExist(); - protected java.lang.String rootDir(); - public void testFileGen() throws java.io.IOException; -} - -All extensions should have a constructor that takes a String and calls super(string). This is a requirement of the junit framework. - -All extensions should override shouldExist. This method returns a set containing the String local names of the files that should exist in a given directory. - -All extensions should override rootDir. This method returns the name of the directory which will be checked for file existence. - -testFileGen is the test that does all the work and extensions do not need to override it. - -For a concrete example of an extension to FileGenTestCase, see xml-axis/java/test/wsdl/clash/VerifyFilesTestCase.java. - diff --git a/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java b/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java index adfcb75a0..a556338bd 100644 --- a/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java +++ b/axis-ant/src/test/java/test/wsdl/groups/GroupsTestCase.java @@ -21,111 +21,14 @@ */ package test.wsdl.groups; -import java.io.File; import java.io.IOException; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - public class GroupsTestCase extends junit.framework.TestCase { public GroupsTestCase(String name) { super(name); } - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("SomeType.java"); - return set; - } - - /** - * List of files which may or may not be generated. - */ - protected Set shouldNotExist() { - HashSet set = new HashSet(); - set.add("SomeGroup.java"); - return set; - } - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "groups"; - } - - protected String getPrefix(String parent) { - if (parent == null || parent.length() == 0) { - return ""; - } - else { - return parent + File.separator; - } - } - - /** This method returns a array of String file paths, located within the - * supplied root directory. The string values are created relative to the - * specified parent so that the names get returned in the form of - * "file.java", "dir/file.java", "dir/dir/file.java", etc. This feature - * asslows the various file specs to include files in sub-directories as - * well as the root directory. - */ - protected String[] getPaths(File root, String parent) { - File files[] = root.listFiles(); - if (files == null) - fail("Unable to get a list of files from " + root.getPath()); - - Set filePaths = new HashSet(); - for(int i=0; i 0) { - fail("The following files should exist in " + rootDir + - ", but do not: " + shouldExist); - } - // Test for the proper members Class ourClass = Class.forName("test.wsdl.groups.SomeType"); diff --git a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java deleted file mode 100644 index ad362023c..000000000 --- a/axis-ant/src/test/java/test/wsdl/header/VerifyFilesTestCase.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This tests the file generation of only the items that are referenced in WSDL - * - */ -package test.wsdl.header; - -import test.AxisFileGenTestBase; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -public class VerifyFilesTestCase extends AxisFileGenTestBase { - public VerifyFilesTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. We're primarily concerned with - * the implicit fault class. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - - set.add("BindingImpl.java"); - set.add("BindingSkeleton.java"); - set.add("BindingStub.java"); - set.add("HeaderService.java"); - set.add("HeaderServiceLocator.java"); - set.add("HeaderServiceTestCase.java"); - set.add("HeaderType.java"); - set.add("ImplicitFault.java"); - set.add("Op1Fault.java"); - set.add("PortType.java"); - set.add("deploy.wsdd"); - set.add("undeploy.wsdd"); - return set; - } // shouldExist - - /** - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "header"; - } // rootDir - -} // class VerifyFilesTestCase diff --git a/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java b/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java deleted file mode 100644 index 64bbdb9e5..000000000 --- a/axis-ant/src/test/java/test/wsdl/literal/SalesRankNPrice_ServiceTestCase.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * SalesRankNPrice_ServiceTestCase.java - * - * This file was auto-generated from WSDL - * by the Apache Axis Wsdl2java emitter. - * Edited by hand to test a .NET web service on the internet. - * - *@author Tom Jordahl (tomj@macromedia.com) - */ - -package test.wsdl.literal; - -import java.io.File; -import java.io.IOException; - -public class SalesRankNPrice_ServiceTestCase extends junit.framework.TestCase { - // List of files which should be generated - private static String[] shouldExist= new String[] { - "SalesRankNPrice1.java", - "SalesRanks.java", - "Prices.java", - "All.java", - "SalesRankNPriceSoap.java", - "SalesRankNPriceSoapStub.java", - "SalesRankNPrice.java", - "SalesRankNPriceLocator.java" - - }; - - // List of files which should NOT be generated - private static String[] shouldNotExist= new String[] { - "GetAmazonSalesRank.java", - "GetAmazonSalesRankResponse.java", - "GetAmazonUKSalesRank.java", - "GetAmazonUKSalesRankResponse.java", - "GetBNSalesRank.java", - "GetBNSalesRankResponse.java", - "GetAmazonPrice.java", - "GetAmazonPriceReponse.java", - "GetAmazonUKPrice.java", - "GetAmazonUKPriceResponse.java", - "GetBNPrice.java", - "GetBNPriceResponse.java", - "GetAmazonSalesRankNPrice.java", - "GetAmazonSalesRankNPriceResponse.java", - "GetBNSalesRankNPrice.java", - "GetBNSalesRankNPriceResponse.java", - "GetAmazonAndBNSalesRank.java", - "GetAmazonAndBNSalesRankResponse.java", - "GetAmazonAndBNPrice.java", - "GetAmazonAndBNPriceResponse.java", - "GetAll.java", - "GetAllResponse.java" - }; - - public void testFileGen() throws IOException { - String rootDir = "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + "literal"; - // open up the output directory and check what files exist. - File outputDir = new File(rootDir); - - String[] files = outputDir.list(); - - for (int i=0; i < shouldExist.length; i++) { - File f = new File(rootDir, shouldExist[i]); - assertTrue("File does not exist (and it should): " + shouldExist[i], f.exists()); - } - - for (int i=0; i < shouldNotExist.length; i++) { - File f = new File(rootDir, shouldNotExist[i]); - assertTrue("File exist (and it should NOT): " + shouldNotExist[i], !f.exists()); - } - } -} diff --git a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java b/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java deleted file mode 100644 index e62c91685..000000000 --- a/axis-ant/src/test/java/test/wsdl/multibinding/VerifyFilesTestCase.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This tests the file generation of only the items that are referenced in WSDL - * - */ -package test.wsdl.multibinding; - -import test.AxisFileGenTestBase; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -public class VerifyFilesTestCase extends AxisFileGenTestBase { - public VerifyFilesTestCase(String name) { - super(name); - } - - /** - * List of files which should be generated. - */ - protected Set shouldExist() { - HashSet set = new HashSet(); - set.add("BindingAllLitImpl.java"); - set.add("BindingAllLitSkeleton.java"); - set.add("BindingAllLitStub.java"); - set.add("BindingNoLitImpl.java"); - set.add("BindingNoLitSkeleton.java"); - set.add("BindingNoLitStub.java"); - set.add("BindingSomeLitImpl.java"); - set.add("BindingSomeLitSkeleton.java"); - set.add("BindingSomeLitStub.java"); - set.add("MbPT.java"); - set.add("MbService.java"); - set.add("MbServiceLocator.java"); - set.add("MbServiceTestCase.java"); - set.add("deploy.wsdd"); - set.add("undeploy.wsdd"); - return set; - } // shouldExist - - /** - * The directory containing the files that should exist. - */ - protected String rootDir() { - return "target" + File.separator + "work" + File.separator + - "test" + File.separator + "wsdl" + File.separator + - "multibinding"; - } // rootDir - -} // class VerifyFilesTestCase diff --git a/pom.xml b/pom.xml index 5b0898e03..3a1e6f524 100644 --- a/pom.xml +++ b/pom.xml @@ -155,6 +155,18 @@ 3.0.3 + + + cloudbees-snapshot + http://repository-veithen.forge.cloudbees.com/snapshot/ + + false + + + true + + + @@ -250,6 +262,11 @@ maven-eclipse-plugin 2.9 + + com.github.veithen.filecheck + filecheck-maven-plugin + 0.1-SNAPSHOT + From 59b279f6fb86440b542726dca09ff39b55edc99f Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 6 May 2014 21:57:28 +0000 Subject: [PATCH 054/133] Fixed a build failure that occurs with Maven 3.2. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3a1e6f524..0afd74687 100644 --- a/pom.xml +++ b/pom.xml @@ -256,7 +256,7 @@ maven-shade-plugin - 2.0 + 2.3 maven-eclipse-plugin From fad86d6408e68cd804bc41da6e17ce7cbd0f596d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 6 May 2014 21:57:45 +0000 Subject: [PATCH 055/133] Use the version of the file that was at http://www.apache.org/LICENSE.txt when the original test case was written. --- .../src/test/resources/test/saaj/LICENSE.txt | 422 +++--------------- 1 file changed, 57 insertions(+), 365 deletions(-) diff --git a/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt b/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt index 27561b72e..de6706f26 100644 --- a/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt +++ b/axis-rt-core/src/test/resources/test/saaj/LICENSE.txt @@ -1,366 +1,58 @@ - - - - Licenses +/* ==================================================================== + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Apache" and "Apache Software Foundation" must + * not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + * + * Portions of this software are based upon public domain software + * originally written at the National Center for Supercomputing Applications, + * University of Illinois, Urbana-Champaign. + */ - - - - - - - - - - - - - - - - -
      - - -
      -

      The Apache Software Foundation uses various licenses to distribute -software and documentation, to accept regular -contributions from individuals and corporations, and to accept -larger grants of existing software products.

      -

      These licenses help us achieve our goal of providing reliable and -long-lived software products through collaborative open source software -development. In all cases, contributors retain full rights to use their -original contributions for any other purpose outside of Apache while -providing the ASF and its projects the right to distribute and build upon -their work within Apache.

      -

      Licensing of Distributions

      -

      All software produced by The Apache Software Foundation or any of its -projects or subjects is licensed according to the terms of the documents -listed below.

      -

      Apache License, Version 2.0 (current)

      -

      http://www.apache.org/licenses/LICENSE-2.0 ( -TXT or HTML )

      -

      The 2.0 version of the Apache License was approved by the ASF in 2004. The -goals of this license revision have been to reduce the number of frequently -asked questions, to allow the license to be reusable without modification -by any project (including non-ASF projects), to allow the license to be -included by reference instead of listed in every file, to clarify the -license on submission of contributions, to require a patent license on -contributions that necessarily infringe the contributor's own patents, and -to move comments regarding Apache and other inherited attribution notices -to a location outside the license terms (the NOTICE -file ).

      -

      The result is a license that is supposed to be compatible with other open -source licenses, while remaining true to the original goals of the Apache -Group and supportive of collaborative development across both nonprofit and -commercial organizations. The Apache Software Foundation is still trying to -determine if this version of the Apache License is compatible with the -GPL.

      -

      All packages produced by the ASF are implicitly licensed under the Apache -License, Version 2.0, unless otherwise explicitly stated. More developer -documentation on how to apply the Apache License to your work can be found -in * Applying the Apache License, Version 2.0 -*.

      -

      Apache License, Version 1.1 (historic)

      -

      http://www.apache.org/licenses/LICENSE-1.1

      -

      The 1.1 version of the Apache License was approved by the ASF in 2000. The -primary change from the 1.0 license is in the 'advertising clause' (section -3 of the 1.0 license); derived products are no longer required to include -attribution in their advertising materials, only in their documentation.

      -

      Individual packages licensed under the 1.1 version may have used different -wording due to varying requirements for attribution or mark identification, -but the binding terms were all the same.

      -

      Apache License, Version 1.0 (historic)

      -

      http://www.apache.org/licenses/LICENSE-1.0

      -

      This is the original Apache License which applies only to older versions of -Apache packages (such as version 1.2 of the Web server).

      -

      Contributor License Agreements

      -

      The ASF desires that all contributors of ideas, code, or documentation to -the Apache projects complete, sign, and submit (via postal mail, fax or -email) an Individual Contributor License Agreement (1) (CLA) [ PDF -form ]. The purpose of this agreement is to clearly define the -terms under which intellectual property has been contributed to the ASF and -thereby allow us to defend the project should there be a legal dispute -regarding the software at some future time. A signed CLA is required to be -on file before an individual is given commit rights to an ASF project.

      -

      For a corporation that has assigned employees to work on an Apache project, -a Corporate CLA (CCLA) is available for contributing -intellectual property via the corporation, that may have been assigned as -part of an employment agreement. Note that a Corporate CLA does not remove -the need for every developer to sign their own CLA as an individual, to -cover any of their contributions which are not owned by the corporation -signing the CCLA.

      -

      CLAs may be submitted by traditional postal mail, fax, or by emailing a -scan of the signed copy to secretary@apache.org. You can also fill out the pdf -document or edit the text document, create a detached gpg signature, and -send both the document and the detached signature via email to secretary.

      -

      Note: If you choose to send this document via fax then be absolutely sure -that you have sent it correctly. Faxes are often received back-to-front, -blank, or totally illegible.

      -

      The ICLA is not tied to any employer you may have, so it is recommended to -use one's personal email address in the contact details, rather than an @work -address.

      -

      Your Full name will be published unless you provide an alternative Public name. -For example if your full name is Andrew Bernard Charles Dickens, but you wish -to be known as Andrew Dickens, please enter the latter as your Public name.

      -

      The email address and other contact details are not published.

      -

      (1) Please use overwrite mode when typing in the underlined fields. -Otherwise the fields will wrap, making the result harder to read.

      -

      Software Grants

      -

      When an individual or corporation decides to donate a body of existing -software or documentation to one of the Apache projects, they need to -execute a formal Software Grant Agreement (SGA) with -the ASF. Typically, this is done after negotiating approval with the ASF -Incubator or one of the PMCs, since the ASF -will not accept software unless there is a viable community available to -support a collaborative project.

      -

      Grants may be submitted by traditional postal mail, fax, or by emailing a -scan of the signed copy to secretary@. -You can also edit the text document, create a detached gpg signature, and -send both the document and the detached signature via email to secretary.

      -

      Note: If you choose to send this document via fax then be absolutely sure -that you have sent it correctly. Faxes are often received back-to-front, -blank, or totally illegible.

      -

      Export restrictions

      -

      For export restriction information, please consult our ASF Export -Classifications page.

      -

      Trademark and Logo Usage

      -

      For ASF trademark and logo usage information, please consult our ASF -Trademark Use Policy page.

      -

      Questions?

      -

      For answers to frequently asked licensing questions, please consult our -Licensing Frequently Asked Questions page.

      -
      -
      - - - - From f589989ec53f065f5320d5c4352372a2e579c6d9 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 9 Mar 2015 18:53:25 +0000 Subject: [PATCH 056/133] Update plugin repository location. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0afd74687..701531195 100644 --- a/pom.xml +++ b/pom.xml @@ -157,8 +157,8 @@ - cloudbees-snapshot - http://repository-veithen.forge.cloudbees.com/snapshot/ + veithen-github-mvn-repo + https://raw.github.com/veithen/mvn-repo/master/snapshots/ false From bb166757946ce28df397582b455b8688f99c1e03 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 9 May 2015 14:44:07 +0000 Subject: [PATCH 057/133] Set svn:ignore for Eclipse. From 8fe2bbb1a18275b3d329a04c6bff133fe92fec54 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 7 Jun 2015 17:32:33 +0000 Subject: [PATCH 058/133] Fix whitespace. --- .../apache/axis/attachments/DimeBodyPart.java | 96 +++++++++---------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java b/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java index 5d9c65d7f..b4c4fc020 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java +++ b/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java @@ -319,51 +319,51 @@ void send(java.io.OutputStream os, byte position, DataHandler dh, void send(java.io.OutputStream os, byte position, DynamicContentDataHandler dh, final long maxchunk) throws java.io.IOException { - - BufferedInputStream in = new BufferedInputStream(dh.getInputStream()); - - final int myChunkSize = dh.getChunkSize(); - - byte[] buffer1 = new byte[myChunkSize]; - byte[] buffer2 = new byte[myChunkSize]; - - int bytesRead1 = 0 , bytesRead2 = 0; - - bytesRead1 = in.read(buffer1); - - if(bytesRead1 < 0) { - sendHeader(os, position, 0, ONLY_CHUNK); - os.write(pad, 0, dimePadding(0)); - return; - } - byte chunkbyte = CHUNK; - do { - bytesRead2 = in.read(buffer2); - - if(bytesRead2 < 0) { - //last record...do not set the chunk bit. - //buffer1 contains the last chunked record!! - - //Need to distinguish if this is the first - //chunk to ensure the TYPE and ID are sent - if ( chunkbyte == CHUNK ){ - chunkbyte = ONLY_CHUNK; - } else { - chunkbyte = LAST_CHUNK; - } - sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); - break; - } - - sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); - //set chunk byte to next chunk flag to avoid - //sending TYPE and ID on subsequent chunks - chunkbyte = CHUNK_NEXT; - //now that we have written out buffer1, copy buffer2 into to buffer1 - System.arraycopy(buffer2,0,buffer1,0,myChunkSize); - bytesRead1 = bytesRead2; - - }while(bytesRead2 > 0); + + BufferedInputStream in = new BufferedInputStream(dh.getInputStream()); + + final int myChunkSize = dh.getChunkSize(); + + byte[] buffer1 = new byte[myChunkSize]; + byte[] buffer2 = new byte[myChunkSize]; + + int bytesRead1 = 0 , bytesRead2 = 0; + + bytesRead1 = in.read(buffer1); + + if(bytesRead1 < 0) { + sendHeader(os, position, 0, ONLY_CHUNK); + os.write(pad, 0, dimePadding(0)); + return; + } + byte chunkbyte = CHUNK; + do { + bytesRead2 = in.read(buffer2); + + if(bytesRead2 < 0) { + //last record...do not set the chunk bit. + //buffer1 contains the last chunked record!! + + //Need to distinguish if this is the first + //chunk to ensure the TYPE and ID are sent + if ( chunkbyte == CHUNK ){ + chunkbyte = ONLY_CHUNK; + } else { + chunkbyte = LAST_CHUNK; + } + sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); + break; + } + + sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); + //set chunk byte to next chunk flag to avoid + //sending TYPE and ID on subsequent chunks + chunkbyte = CHUNK_NEXT; + //now that we have written out buffer1, copy buffer2 into to buffer1 + System.arraycopy(buffer2,0,buffer1,0,myChunkSize); + bytesRead1 = bytesRead2; + + }while(bytesRead2 > 0); } protected void sendChunk(java.io.OutputStream os, @@ -415,7 +415,7 @@ protected void sendHeader(java.io.OutputStream os, if ( MB || isFirstChunk ){ //If this is a follow on chunk dont send id again. fixedHeader[1] = (byte) ((dtnf.toByte() << 4) & 0xf0); } else { - fixedHeader[1] = (byte) 0x00; + fixedHeader[1] = (byte) 0x00; } //OPT_T @@ -430,7 +430,7 @@ protected void sendHeader(java.io.OutputStream os, fixedHeader[4] = (byte) ((id.length >>> 8) & 0xff); fixedHeader[5] = (byte) ((id.length) & 0xff); } else { - fixedHeader[4] = (byte) 0; + fixedHeader[4] = (byte) 0; fixedHeader[5] = (byte) 0; } @@ -439,7 +439,7 @@ protected void sendHeader(java.io.OutputStream os, fixedHeader[6] = (byte) ((type.length >>> 8) & 0xff); fixedHeader[7] = (byte) ((type.length) & 0xff); } else { - fixedHeader[6] = (byte) 0; + fixedHeader[6] = (byte) 0; fixedHeader[7] = (byte) 0; } From 82ca60ed4145218548ac743adef19c27fd314838 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 7 Jun 2015 18:02:52 +0000 Subject: [PATCH 059/133] AXIS-2910: Ensure that DimeBodyPart closes all input streams it requests from DataSource instances. --- axis-rt-core/pom.xml | 5 ++ .../apache/axis/attachments/DimeBodyPart.java | 85 ++++++++++--------- .../axis/attachments/TestDimeBodyPart.java | 34 ++++++++ pom.xml | 4 +- samples/mtomstub-sample/pom.xml | 2 +- 5 files changed, 89 insertions(+), 41 deletions(-) create mode 100644 axis-rt-core/src/test/java/org/apache/axis/attachments/TestDimeBodyPart.java diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 13878340a..4573eaf7f 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -92,6 +92,11 @@ 2.0.6 test + + org.apache.ws.commons.axiom + testutils + test + diff --git a/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java b/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java index b4c4fc020..33020e07b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java +++ b/axis-rt-core/src/main/java/org/apache/axis/attachments/DimeBodyPart.java @@ -322,48 +322,57 @@ void send(java.io.OutputStream os, byte position, DynamicContentDataHandler dh, BufferedInputStream in = new BufferedInputStream(dh.getInputStream()); - final int myChunkSize = dh.getChunkSize(); - - byte[] buffer1 = new byte[myChunkSize]; - byte[] buffer2 = new byte[myChunkSize]; - - int bytesRead1 = 0 , bytesRead2 = 0; - - bytesRead1 = in.read(buffer1); - - if(bytesRead1 < 0) { - sendHeader(os, position, 0, ONLY_CHUNK); - os.write(pad, 0, dimePadding(0)); - return; - } - byte chunkbyte = CHUNK; - do { - bytesRead2 = in.read(buffer2); + try { + final int myChunkSize = dh.getChunkSize(); - if(bytesRead2 < 0) { - //last record...do not set the chunk bit. - //buffer1 contains the last chunked record!! - - //Need to distinguish if this is the first - //chunk to ensure the TYPE and ID are sent - if ( chunkbyte == CHUNK ){ - chunkbyte = ONLY_CHUNK; - } else { - chunkbyte = LAST_CHUNK; + byte[] buffer1 = new byte[myChunkSize]; + byte[] buffer2 = new byte[myChunkSize]; + + int bytesRead1 = 0 , bytesRead2 = 0; + + bytesRead1 = in.read(buffer1); + + if(bytesRead1 < 0) { + sendHeader(os, position, 0, ONLY_CHUNK); + os.write(pad, 0, dimePadding(0)); + return; + } + byte chunkbyte = CHUNK; + do { + bytesRead2 = in.read(buffer2); + + if(bytesRead2 < 0) { + //last record...do not set the chunk bit. + //buffer1 contains the last chunked record!! + + //Need to distinguish if this is the first + //chunk to ensure the TYPE and ID are sent + if ( chunkbyte == CHUNK ){ + chunkbyte = ONLY_CHUNK; + } else { + chunkbyte = LAST_CHUNK; + } + sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); + break; } + sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); - break; + //set chunk byte to next chunk flag to avoid + //sending TYPE and ID on subsequent chunks + chunkbyte = CHUNK_NEXT; + //now that we have written out buffer1, copy buffer2 into to buffer1 + System.arraycopy(buffer2,0,buffer1,0,myChunkSize); + bytesRead1 = bytesRead2; + + }while(bytesRead2 > 0); + } finally { + try { + in.close(); } - - sendChunk(os, position, buffer1, 0, bytesRead1, chunkbyte); - //set chunk byte to next chunk flag to avoid - //sending TYPE and ID on subsequent chunks - chunkbyte = CHUNK_NEXT; - //now that we have written out buffer1, copy buffer2 into to buffer1 - System.arraycopy(buffer2,0,buffer1,0,myChunkSize); - bytesRead1 = bytesRead2; - - }while(bytesRead2 > 0); + catch (IOException e) { + // ignore + } + } } protected void sendChunk(java.io.OutputStream os, diff --git a/axis-rt-core/src/test/java/org/apache/axis/attachments/TestDimeBodyPart.java b/axis-rt-core/src/test/java/org/apache/axis/attachments/TestDimeBodyPart.java new file mode 100644 index 000000000..b3b3e4b4d --- /dev/null +++ b/axis-rt-core/src/test/java/org/apache/axis/attachments/TestDimeBodyPart.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.attachments; + +import junit.framework.TestCase; + +import org.apache.axiom.testutils.activation.InstrumentedDataSource; +import org.apache.axiom.testutils.activation.RandomDataSource; +import org.apache.commons.io.output.NullOutputStream; + +public class TestDimeBodyPart extends TestCase { + public void testWriteToWithDynamicContentDataHandlerClosesInputStreams() throws Exception { + InstrumentedDataSource ds = new InstrumentedDataSource(new RandomDataSource(1000)); + DimeBodyPart bp = new DimeBodyPart(new DynamicContentDataHandler(ds), "1234"); + bp.write(new NullOutputStream(), (byte)0); + assertEquals(0, ds.getOpenStreamCount()); + } +} diff --git a/pom.xml b/pom.xml index 701531195..8ed01c923 100644 --- a/pom.xml +++ b/pom.xml @@ -126,8 +126,8 @@ org.apache.ws.commons.axiom - axiom-testutils - 1.2.13 + testutils + 1.2.15-SNAPSHOT commons-lang diff --git a/samples/mtomstub-sample/pom.xml b/samples/mtomstub-sample/pom.xml index 7a46eae75..030324135 100644 --- a/samples/mtomstub-sample/pom.xml +++ b/samples/mtomstub-sample/pom.xml @@ -56,7 +56,7 @@ org.apache.ws.commons.axiom - axiom-testutils + testutils test From 8b0ebef096265620cff50557842331772e4a1d9d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 27 Jun 2015 12:02:57 +0000 Subject: [PATCH 060/133] AXIS-2442: Merge r512459 from the old trunk. Do not write constructors for JavaBeans that have more than 254 arguments as Java will not compile these classes. --- .../java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java index c7c67da71..fd931b4b9 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java @@ -637,9 +637,14 @@ protected void writeDefaultConstructor() { pw.println(); } + /** + * Write a constructor containing the fields in this class. + * Will not write a construtor with more than 254 arguments as + * the Java compiler will choke. + */ protected void writeMinimalConstructor() { - if (isUnion() || names.size() == 0) { + if (isUnion() || names.size() == 0 || names.size() > 254) { return; } @@ -770,7 +775,7 @@ protected void writeFullConstructor() { int localParams = paramTypes.size() - names.size() / 2; // Now write the constructor signature - if (paramTypes.size() > 0) { + if (paramTypes.size() > 0 && paramTypes.size() < 255) { // Prevent name clash between local parameters and the // parameters for the super class From 2d75b01f4ab0c7ea922b3c623ced0a447cfd39cb Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 27 Jun 2015 12:06:50 +0000 Subject: [PATCH 061/133] Switch to Axiom release version. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8ed01c923..a9b5c1543 100644 --- a/pom.xml +++ b/pom.xml @@ -127,7 +127,7 @@ org.apache.ws.commons.axiom testutils - 1.2.15-SNAPSHOT + 1.2.15 commons-lang From d75ee4619c042ded4d3ee1f7b08e379f83572575 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 3 Jul 2015 20:41:45 +0000 Subject: [PATCH 062/133] AXIS-2909: Fix a concurrency issue that can be easily reproduced with Java 8. --- .../org/apache/axis/description/JavaServiceDesc.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java b/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java index b5c0b40fb..efc668ef8 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java +++ b/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java @@ -36,12 +36,13 @@ import javax.xml.namespace.QName; import javax.xml.rpc.holders.Holder; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; @@ -520,11 +521,15 @@ public OperationDesc getOperationByElementQName(QName qname) getSyncedOperationsForName(implClass, ((OperationDesc)overloads.get(0)).getName()); + // Convert to array before sorting to avoid concurrency issues + OperationDesc[] array = (OperationDesc[])overloads.toArray( + new OperationDesc[overloads.size()]); + // Sort the overloads by number of arguments - prevents us calling methods // with more parameters than supplied in the request (with missing parameters // defaulted to null) when a perfectly good method exists with exactly the // supplied parameters. - Collections.sort(overloads, + Arrays.sort(array, new Comparator() { public int compare(Object o1, Object o2) { @@ -535,8 +540,7 @@ public int compare(Object o1, Object o2) } }); - OperationDesc [] array = new OperationDesc [overloads.size()]; - return (OperationDesc[])overloads.toArray(array); + return array; } private synchronized void initQNameMap() { From 449334626c24c388b315a7f5cd3b32047ff2200f Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 3 Jul 2015 21:00:46 +0000 Subject: [PATCH 063/133] Update some plugin versions so that the site can be built with Maven 3.3.x. --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index a9b5c1543..798433327 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@
      maven-site-plugin - 3.2 + 3.4 maven-assembly-plugin @@ -372,7 +372,7 @@ maven-project-info-reports-plugin - 2.6 + 2.8 index issue-tracking @@ -438,7 +438,7 @@ maven-project-info-reports-plugin - 2.6 + 2.8 From e9696748dd4dc9ae10d5d4a577011a8a2e42c5f0 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 3 Jul 2015 21:13:02 +0000 Subject: [PATCH 064/133] Remove unnecessary/misleading plugin execution id (copy & paste error). --- tests/spring-compat-tests/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/spring-compat-tests/pom.xml b/tests/spring-compat-tests/pom.xml index 01c34b292..fc286e38f 100644 --- a/tests/spring-compat-tests/pom.xml +++ b/tests/spring-compat-tests/pom.xml @@ -58,7 +58,6 @@ ${project.version} - samples-addr generate-sources From ac31dd9bd1d1ab1e55b1faf7cdcfbe665ab55c08 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 3 Jul 2015 21:57:51 +0000 Subject: [PATCH 065/133] Rename the Maven plugins so that they conform to the plugin naming conventions (https://maven.apache.org/guides/plugin/guide-java-plugin-development.html). --- axis-rt-transport-http-javanet/pom.xml | 4 ++-- daemon-launcher/pom.xml | 2 +- integration/pom.xml | 6 +++--- jetty-daemon/pom.xml | 2 +- .../pom.xml | 4 ++-- .../tools/maven/server/AbstractDaemonControlMojo.java | 0 .../tools/maven/server/AbstractStartDaemonMojo.java | 0 .../apache/axis/tools/maven/server/DaemonManager.java | 0 .../axis/tools/maven/server/DefaultDaemonManager.java | 0 .../org/apache/axis/tools/maven/server/FileSet.java | 0 .../apache/axis/tools/maven/server/RemoteDaemon.java | 0 .../axis/tools/maven/server/StartDaemonMojo.java | 0 .../axis/tools/maven/server/StartServerMojo.java | 0 .../axis/tools/maven/server/StartWebAppMojo.java | 0 .../apache/axis/tools/maven/server/StopAllMojo.java | 0 .../org/apache/axis/tools/maven/server/StreamPump.java | 0 .../src/main/resources/META-INF/plexus/components.xml | 0 .../src/site/apt/index.apt | 6 +++--- .../src/site/apt/usage.apt.vm | 10 +++++----- .../src/site/site.xml | 0 .../pom.xml | 4 ++-- .../maven/java2wsdl/AbstractGenerateWsdlMojo.java | 0 .../apache/axis/tools/maven/java2wsdl/DeployMojo.java | 0 .../axis/tools/maven/java2wsdl/GenerateWsdlMojo.java | 0 .../src/site/site.xml | 0 maven/nsmap/pom.xml | 2 +- maven/pom.xml | 8 ++++---- maven/src/site/site.xml | 8 ++++---- maven/src/site/xdoc/index.xml | 8 ++++---- maven/{maven-wsdd-plugin => wsdd-maven-plugin}/pom.xml | 4 ++-- .../apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java | 2 +- .../src/site/apt/index.apt | 6 +++--- .../src/site/site.xml | 0 .../pom.xml | 4 ++-- .../src/it/settings.xml | 0 .../src/it/writeStubToTestSources/pom.xml | 2 +- .../writeStubToTestSources/src/main/wsdl/AddData.wsdl | 0 .../src/it/writeStubToTestSources/verify.bsh | 0 .../src/it/wsrf/pom.xml | 2 +- .../src/it/wsrf/src/main/wsdl/addressing.xsd | 0 .../src/it/wsrf/src/main/wsdl/catalog.xml | 0 .../src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd | 0 .../wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl | 0 .../wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl | 0 .../wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd | 0 .../src/it/wsrf/verify.bsh | 0 .../tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java | 0 .../maven/wsdl2java/CustomizableBaseTypeMapping.java | 0 .../apache/axis/tools/maven/wsdl2java/EmitterEx.java | 0 .../tools/maven/wsdl2java/GenerateSourcesMojo.java | 0 .../tools/maven/wsdl2java/GenerateTestSourcesMojo.java | 0 .../tools/maven/wsdl2java/JavaBindingWriterEx.java | 0 .../axis/tools/maven/wsdl2java/JavaDeployWriterEx.java | 0 .../tools/maven/wsdl2java/JavaGeneratorFactoryEx.java | 0 .../maven/wsdl2java/JavaServiceIfaceWriterEx.java | 0 .../tools/maven/wsdl2java/JavaServiceImplWriterEx.java | 0 .../tools/maven/wsdl2java/JavaServiceWriterEx.java | 0 .../axis/tools/maven/wsdl2java/JavaStubWriterEx.java | 0 .../tools/maven/wsdl2java/JavaTestCaseWriterEx.java | 0 .../tools/maven/wsdl2java/JavaUndeployWriterEx.java | 0 .../axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java | 0 .../src/site/apt/index.apt | 2 +- .../src/site/apt/java-xml-type-mappings.apt.vm | 2 +- .../src/site/site.xml | 0 samples/addr-sample/pom.xml | 4 ++-- samples/attachments-sample/pom.xml | 2 +- samples/bidbuy-sample/pom.xml | 2 +- samples/echo-sample/pom.xml | 4 ++-- samples/encoding-sample/pom.xml | 2 +- samples/faults-sample/pom.xml | 2 +- samples/handler-sample/pom.xml | 2 +- samples/jaxrpc-sample/pom.xml | 4 ++-- samples/jms-sample/pom.xml | 4 ++-- samples/message-sample/pom.xml | 2 +- samples/misc-sample/pom.xml | 2 +- samples/mtomstub-sample/pom.xml | 2 +- samples/proxy-sample/pom.xml | 2 +- samples/stock-sample/pom.xml | 2 +- samples/transport-sample/pom.xml | 4 ++-- src/site/apt/changelogs/1_4_1.apt | 4 ++-- tests/interop-tests/pom.xml | 2 +- tests/spring-compat-tests/pom.xml | 6 +++--- 82 files changed, 70 insertions(+), 70 deletions(-) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/pom.xml (97%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/FileSet.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/java/org/apache/axis/tools/maven/server/StreamPump.java (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/main/resources/META-INF/plexus/components.xml (100%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/site/apt/index.apt (93%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/site/apt/usage.apt.vm (97%) rename maven/{maven-axis-server-plugin => axis-server-maven-plugin}/src/site/site.xml (100%) rename maven/{maven-java2wsdl-plugin => java2wsdl-maven-plugin}/pom.xml (97%) rename maven/{maven-java2wsdl-plugin => java2wsdl-maven-plugin}/src/main/java/org/apache/axis/tools/maven/java2wsdl/AbstractGenerateWsdlMojo.java (100%) rename maven/{maven-java2wsdl-plugin => java2wsdl-maven-plugin}/src/main/java/org/apache/axis/tools/maven/java2wsdl/DeployMojo.java (100%) rename maven/{maven-java2wsdl-plugin => java2wsdl-maven-plugin}/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java (100%) rename maven/{maven-java2wsdl-plugin => java2wsdl-maven-plugin}/src/site/site.xml (100%) rename maven/{maven-wsdd-plugin => wsdd-maven-plugin}/pom.xml (96%) rename maven/{maven-wsdd-plugin => wsdd-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java (97%) rename maven/{maven-wsdd-plugin => wsdd-maven-plugin}/src/site/apt/index.apt (94%) rename maven/{maven-wsdd-plugin => wsdd-maven-plugin}/src/site/site.xml (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/pom.xml (98%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/settings.xml (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/writeStubToTestSources/pom.xml (97%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/writeStubToTestSources/src/main/wsdl/AddData.wsdl (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/writeStubToTestSources/verify.bsh (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/pom.xml (98%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/addressing.xsd (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/catalog.xml (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/it/wsrf/verify.bsh (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/CustomizableBaseTypeMapping.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/EmitterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateTestSourcesMojo.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaBindingWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaDeployWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaGeneratorFactoryEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceIfaceWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceImplWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaStubWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaTestCaseWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaUndeployWriterEx.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java (100%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/site/apt/index.apt (98%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/site/apt/java-xml-type-mappings.apt.vm (97%) rename maven/{maven-wsdl2java-plugin => wsdl2java-maven-plugin}/src/site/site.xml (100%) diff --git a/axis-rt-transport-http-javanet/pom.xml b/axis-rt-transport-http-javanet/pom.xml index f31add548..fc784c12c 100644 --- a/axis-rt-transport-http-javanet/pom.xml +++ b/axis-rt-transport-http-javanet/pom.xml @@ -69,7 +69,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -123,7 +123,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/daemon-launcher/pom.xml b/daemon-launcher/pom.xml index 20b600295..ceb7f901f 100644 --- a/daemon-launcher/pom.xml +++ b/daemon-launcher/pom.xml @@ -28,7 +28,7 @@ daemon-launcher Daemon Launcher - Used by maven-axis-server-plugin to launch a Commons Daemon implementation. + Used by axis-server-maven-plugin to launch a Commons Daemon implementation. diff --git a/integration/pom.xml b/integration/pom.xml index 4facb2599..07d55cadb 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -66,7 +66,7 @@ ${project.groupId} - maven-java2wsdl-plugin + java2wsdl-maven-plugin ${project.version} @@ -214,7 +214,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} test.functional.ServicePort @@ -1411,7 +1411,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/jetty-daemon/pom.xml b/jetty-daemon/pom.xml index ccf5e03da..fad038feb 100644 --- a/jetty-daemon/pom.xml +++ b/jetty-daemon/pom.xml @@ -28,7 +28,7 @@ jetty-daemon Jetty Daemon - Daemon implementation used by maven-axis-server-plugin to launch a Jetty server in a separate JVM. + Daemon implementation used by axis-server-maven-plugin to launch a Jetty server in a separate JVM. diff --git a/maven/maven-axis-server-plugin/pom.xml b/maven/axis-server-maven-plugin/pom.xml similarity index 97% rename from maven/maven-axis-server-plugin/pom.xml rename to maven/axis-server-maven-plugin/pom.xml index ea718bbbe..7662edc1a 100644 --- a/maven/maven-axis-server-plugin/pom.xml +++ b/maven/axis-server-maven-plugin/pom.xml @@ -25,9 +25,9 @@ 1.4.1-SNAPSHOT ../pom.xml - maven-axis-server-plugin + axis-server-maven-plugin maven-plugin - maven-axis-server-plugin + axis-server-maven-plugin Axis server Maven plugin. diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractDaemonControlMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartDaemonMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/DaemonManager.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/DefaultDaemonManager.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/FileSet.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/FileSet.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/FileSet.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/FileSet.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/RemoteDaemon.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartDaemonMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StopAllMojo.java diff --git a/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StreamPump.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StreamPump.java similarity index 100% rename from maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StreamPump.java rename to maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StreamPump.java diff --git a/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml b/maven/axis-server-maven-plugin/src/main/resources/META-INF/plexus/components.xml similarity index 100% rename from maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml rename to maven/axis-server-maven-plugin/src/main/resources/META-INF/plexus/components.xml diff --git a/maven/maven-axis-server-plugin/src/site/apt/index.apt b/maven/axis-server-maven-plugin/src/site/apt/index.apt similarity index 93% rename from maven/maven-axis-server-plugin/src/site/apt/index.apt rename to maven/axis-server-maven-plugin/src/site/apt/index.apt index 6581c4588..f6da54b44 100644 --- a/maven/maven-axis-server-plugin/src/site/apt/index.apt +++ b/maven/axis-server-maven-plugin/src/site/apt/index.apt @@ -19,9 +19,9 @@ Introduction ------------ -maven-axis-server-plugin +axis-server-maven-plugin - The purpose of the maven-axis-server-plugin is to automatically start and stop a stand-alone Axis server (and other processes) + The purpose of the axis-server-maven-plugin is to automatically start and stop a stand-alone Axis server (and other processes) during integration test phases of a Maven project. This enables end-to-end automation of integration tests. * Goals Overview @@ -35,4 +35,4 @@ maven-axis-server-plugin phase. This can e.g. be used to start a mock Web service. * {{{./stop-all-mojo.html}axis-server:stop-all}} stops all processes started by <<>> and - <<>>. It is executed during the <<>> phase. \ No newline at end of file + <<>>. It is executed during the <<>> phase. diff --git a/maven/maven-axis-server-plugin/src/site/apt/usage.apt.vm b/maven/axis-server-maven-plugin/src/site/apt/usage.apt.vm similarity index 97% rename from maven/maven-axis-server-plugin/src/site/apt/usage.apt.vm rename to maven/axis-server-maven-plugin/src/site/apt/usage.apt.vm index ebbc0fac1..0059dad46 100644 --- a/maven/maven-axis-server-plugin/src/site/apt/usage.apt.vm +++ b/maven/axis-server-maven-plugin/src/site/apt/usage.apt.vm @@ -87,7 +87,7 @@ Usage -------------------------------------------------------------------------------- ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} @@ -117,9 +117,9 @@ Usage Note the reference to the <<>> property set by the build-helper-maven-plugin. Also note the <<>> option that specifies the location of the WSDD files for the Web services to deploy. These files are typically generated using the - {{{../wsdl2java/index.html}maven-wsdl2java-plugin}}. + {{{../wsdl2java/index.html}wsdl2java-maven-plugin}}. - The maven-axis-server-plugin assumes that <<>> class + The axis-server-maven-plugin assumes that <<>> class (not to be confused with the old <<>> class) is in the class path. Therefore, you need to add the relevant dependency to your project: @@ -197,7 +197,7 @@ mvn clean integration-test -Daxis.server.foreground=true -DaxisServerPort=8080 -------------------------------------------------------------------------------- ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} @@ -235,4 +235,4 @@ System.getProperty("axisServerPort", "8080") If you set up your project like that, then no additional configuration is required in your IDE and you only need to pass the <<>> property - to Maven. \ No newline at end of file + to Maven. diff --git a/maven/maven-axis-server-plugin/src/site/site.xml b/maven/axis-server-maven-plugin/src/site/site.xml similarity index 100% rename from maven/maven-axis-server-plugin/src/site/site.xml rename to maven/axis-server-maven-plugin/src/site/site.xml diff --git a/maven/maven-java2wsdl-plugin/pom.xml b/maven/java2wsdl-maven-plugin/pom.xml similarity index 97% rename from maven/maven-java2wsdl-plugin/pom.xml rename to maven/java2wsdl-maven-plugin/pom.xml index bad8ec5a5..cf5859dd2 100644 --- a/maven/maven-java2wsdl-plugin/pom.xml +++ b/maven/java2wsdl-maven-plugin/pom.xml @@ -25,9 +25,9 @@ 1.4.1-SNAPSHOT ../pom.xml - maven-java2wsdl-plugin + java2wsdl-maven-plugin maven-plugin - maven-java2wsdl-plugin + java2wsdl-maven-plugin Axis java2wsdl Maven plugin. diff --git a/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/AbstractGenerateWsdlMojo.java b/maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/AbstractGenerateWsdlMojo.java similarity index 100% rename from maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/AbstractGenerateWsdlMojo.java rename to maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/AbstractGenerateWsdlMojo.java diff --git a/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/DeployMojo.java b/maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/DeployMojo.java similarity index 100% rename from maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/DeployMojo.java rename to maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/DeployMojo.java diff --git a/maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java b/maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java similarity index 100% rename from maven/maven-java2wsdl-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java rename to maven/java2wsdl-maven-plugin/src/main/java/org/apache/axis/tools/maven/java2wsdl/GenerateWsdlMojo.java diff --git a/maven/maven-java2wsdl-plugin/src/site/site.xml b/maven/java2wsdl-maven-plugin/src/site/site.xml similarity index 100% rename from maven/maven-java2wsdl-plugin/src/site/site.xml rename to maven/java2wsdl-maven-plugin/src/site/site.xml diff --git a/maven/nsmap/pom.xml b/maven/nsmap/pom.xml index e3696be48..e1376f6e7 100644 --- a/maven/nsmap/pom.xml +++ b/maven/nsmap/pom.xml @@ -28,7 +28,7 @@ nsmap Maven plugin common classes - Contains classes shared by maven-wsdl2java-plugin and maven-java2wsdl-plugin. + Contains classes shared by wsdl2java-maven-plugin and java2wsdl-maven-plugin. diff --git a/maven/pom.xml b/maven/pom.xml index ae732cee9..578a812c4 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -68,10 +68,10 @@ nsmap - maven-wsdd-plugin - maven-wsdl2java-plugin - maven-java2wsdl-plugin - maven-axis-server-plugin + wsdd-maven-plugin + wsdl2java-maven-plugin + java2wsdl-maven-plugin + axis-server-maven-plugin diff --git a/maven/src/site/site.xml b/maven/src/site/site.xml index 005634d1f..5f46c9078 100644 --- a/maven/src/site/site.xml +++ b/maven/src/site/site.xml @@ -23,10 +23,10 @@
      - - - - + + + +
      diff --git a/maven/src/site/xdoc/index.xml b/maven/src/site/xdoc/index.xml index 4f5d6681d..45cb23284 100644 --- a/maven/src/site/xdoc/index.xml +++ b/maven/src/site/xdoc/index.xml @@ -45,22 +45,22 @@ - maven-wsdl2java-plugin + wsdl2java-maven-plugin Generates Java artifacts from a WSDL file axis-wsdl2java - maven-java2wsdl-plugin + java2wsdl-maven-plugin Generates a WSDL description from a Java class axis-java2wsdl - maven-wsdd-plugin + wsdd-maven-plugin N/A - maven-axis-server-plugin + axis-server-maven-plugin Starts/stops a stand-alone Axis server diff --git a/maven/maven-wsdd-plugin/pom.xml b/maven/wsdd-maven-plugin/pom.xml similarity index 96% rename from maven/maven-wsdd-plugin/pom.xml rename to maven/wsdd-maven-plugin/pom.xml index a9b14c6ff..b43ee0af3 100644 --- a/maven/maven-wsdd-plugin/pom.xml +++ b/maven/wsdd-maven-plugin/pom.xml @@ -25,9 +25,9 @@ 1.4.1-SNAPSHOT ../pom.xml - maven-wsdd-plugin + wsdd-maven-plugin maven-plugin - maven-wsdd-plugin + wsdd-maven-plugin Maven plugin to process WSDD files. diff --git a/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java b/maven/wsdd-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java similarity index 97% rename from maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java rename to maven/wsdd-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java index 7f7e47e27..6bdd9ee48 100644 --- a/maven/maven-wsdd-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java +++ b/maven/wsdd-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdd/GenerateWSDDMojo.java @@ -71,7 +71,7 @@ public class GenerateWSDDMojo extends AbstractMojo { private String type; /** - * A set of WSDD files (typically generated by maven-wsdl2java-plugin) to be merged into the + * A set of WSDD files (typically generated by wsdl2java-maven-plugin) to be merged into the * output WSDD. If this parameter is not set, then the plug-in will just generate a default * configuration file. * diff --git a/maven/maven-wsdd-plugin/src/site/apt/index.apt b/maven/wsdd-maven-plugin/src/site/apt/index.apt similarity index 94% rename from maven/maven-wsdd-plugin/src/site/apt/index.apt rename to maven/wsdd-maven-plugin/src/site/apt/index.apt index f28b35724..90c252ab1 100644 --- a/maven/maven-wsdd-plugin/src/site/apt/index.apt +++ b/maven/wsdd-maven-plugin/src/site/apt/index.apt @@ -19,7 +19,7 @@ Introduction ------------ -maven-wsdd-plugin +wsdd-maven-plugin Historically, the recommended way to deploy Axis services was based on the following procedure: @@ -47,7 +47,7 @@ maven-wsdd-plugin the <<>> file should be assembled automatically during the build process, based on the output of wsdl2java. - This is exactly what the maven-wsdd-plugin does: it takes a set of WSDD files and merges them + This is exactly what the wsdd-maven-plugin does: it takes a set of WSDD files and merges them into a single output WSDD. The input WSDD files are typically generated by - {{{../wsdl2java/index.html}maven-wsdl2java-plugin}}, but the set may also contain + {{{../wsdl2java/index.html}wsdl2java-maven-plugin}}, but the set may also contain manually created WSDD files, e.g. to configure custom handlers or to override configuration properties. diff --git a/maven/maven-wsdd-plugin/src/site/site.xml b/maven/wsdd-maven-plugin/src/site/site.xml similarity index 100% rename from maven/maven-wsdd-plugin/src/site/site.xml rename to maven/wsdd-maven-plugin/src/site/site.xml diff --git a/maven/maven-wsdl2java-plugin/pom.xml b/maven/wsdl2java-maven-plugin/pom.xml similarity index 98% rename from maven/maven-wsdl2java-plugin/pom.xml rename to maven/wsdl2java-maven-plugin/pom.xml index 95e900e86..b5acf2495 100644 --- a/maven/maven-wsdl2java-plugin/pom.xml +++ b/maven/wsdl2java-maven-plugin/pom.xml @@ -25,9 +25,9 @@ 1.4.1-SNAPSHOT ../pom.xml - maven-wsdl2java-plugin + wsdl2java-maven-plugin maven-plugin - maven-wsdl2java-plugin + wsdl2java-maven-plugin Axis wsdl2java Maven plugin. diff --git a/maven/maven-wsdl2java-plugin/src/it/settings.xml b/maven/wsdl2java-maven-plugin/src/it/settings.xml similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/settings.xml rename to maven/wsdl2java-maven-plugin/src/it/settings.xml diff --git a/maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/pom.xml b/maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/pom.xml similarity index 97% rename from maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/pom.xml rename to maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/pom.xml index 5e64cbbb1..eee18bb6c 100644 --- a/maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/pom.xml +++ b/maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/pom.xml @@ -38,7 +38,7 @@ @project.groupId@ - maven-wsdl2java-plugin + wsdl2java-maven-plugin @project.version@ diff --git a/maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/src/main/wsdl/AddData.wsdl b/maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/src/main/wsdl/AddData.wsdl similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/src/main/wsdl/AddData.wsdl rename to maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/src/main/wsdl/AddData.wsdl diff --git a/maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/verify.bsh b/maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/verify.bsh similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/writeStubToTestSources/verify.bsh rename to maven/wsdl2java-maven-plugin/src/it/writeStubToTestSources/verify.bsh diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/pom.xml b/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml similarity index 98% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/pom.xml rename to maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml index 5a5e261b1..6630ce5c0 100644 --- a/maven/maven-wsdl2java-plugin/src/it/wsrf/pom.xml +++ b/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml @@ -38,7 +38,7 @@ @project.groupId@ - maven-wsdl2java-plugin + wsdl2java-maven-plugin @project.version@ diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/addressing.xsd b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/addressing.xsd similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/addressing.xsd rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/addressing.xsd diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/catalog.xml b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/catalog.xml similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/catalog.xml rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/catalog.xml diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-BaseFaults-1.2-draft-01.xsd diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd b/maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd rename to maven/wsdl2java-maven-plugin/src/it/wsrf/src/main/wsdl/wsrf-WS-ResourceProperties-1.2-draft-01.xsd diff --git a/maven/maven-wsdl2java-plugin/src/it/wsrf/verify.bsh b/maven/wsdl2java-maven-plugin/src/it/wsrf/verify.bsh similarity index 100% rename from maven/maven-wsdl2java-plugin/src/it/wsrf/verify.bsh rename to maven/wsdl2java-maven-plugin/src/it/wsrf/verify.bsh diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/AbstractWsdl2JavaMojo.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/CustomizableBaseTypeMapping.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/CustomizableBaseTypeMapping.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/CustomizableBaseTypeMapping.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/CustomizableBaseTypeMapping.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/EmitterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/EmitterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/EmitterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/EmitterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateSourcesMojo.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateTestSourcesMojo.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateTestSourcesMojo.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateTestSourcesMojo.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/GenerateTestSourcesMojo.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaBindingWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaBindingWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaBindingWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaBindingWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaDeployWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaDeployWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaDeployWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaDeployWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaGeneratorFactoryEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaGeneratorFactoryEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaGeneratorFactoryEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaGeneratorFactoryEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceIfaceWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceIfaceWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceIfaceWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceIfaceWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceImplWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceImplWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceImplWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceImplWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaServiceWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaStubWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaStubWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaStubWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaStubWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaTestCaseWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaTestCaseWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaTestCaseWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaTestCaseWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaUndeployWriterEx.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaUndeployWriterEx.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaUndeployWriterEx.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaUndeployWriterEx.java diff --git a/maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java b/maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java similarity index 100% rename from maven/maven-wsdl2java-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java rename to maven/wsdl2java-maven-plugin/src/main/java/org/apache/axis/tools/maven/wsdl2java/JavaXmlTypeMapping.java diff --git a/maven/maven-wsdl2java-plugin/src/site/apt/index.apt b/maven/wsdl2java-maven-plugin/src/site/apt/index.apt similarity index 98% rename from maven/maven-wsdl2java-plugin/src/site/apt/index.apt rename to maven/wsdl2java-maven-plugin/src/site/apt/index.apt index 40ebe1e28..fe0e81fe0 100644 --- a/maven/maven-wsdl2java-plugin/src/site/apt/index.apt +++ b/maven/wsdl2java-maven-plugin/src/site/apt/index.apt @@ -19,7 +19,7 @@ Introduction ------------ -maven-wsdl2java-plugin +wsdl2java-maven-plugin The wsdl2java plugin is used to generate client and/or server side Java artifacts from a WSDL file. diff --git a/maven/maven-wsdl2java-plugin/src/site/apt/java-xml-type-mappings.apt.vm b/maven/wsdl2java-maven-plugin/src/site/apt/java-xml-type-mappings.apt.vm similarity index 97% rename from maven/maven-wsdl2java-plugin/src/site/apt/java-xml-type-mappings.apt.vm rename to maven/wsdl2java-maven-plugin/src/site/apt/java-xml-type-mappings.apt.vm index 7e9c7f2af..33db2ddea 100644 --- a/maven/maven-wsdl2java-plugin/src/site/apt/java-xml-type-mappings.apt.vm +++ b/maven/wsdl2java-maven-plugin/src/site/apt/java-xml-type-mappings.apt.vm @@ -22,7 +22,7 @@ Changing the Java class associated with an XML type - maven-wsdl2java-plugin uses the default mappings between XML types and Java classes determined by the + wsdl2java-maven-plugin uses the default mappings between XML types and Java classes determined by the configured <<>>. However, there may be situations where you might want to represent a given XML type using a Java type other than the one determined by the default mapping. E.g. you might want <<>> to be represented by <<>> diff --git a/maven/maven-wsdl2java-plugin/src/site/site.xml b/maven/wsdl2java-maven-plugin/src/site/site.xml similarity index 100% rename from maven/maven-wsdl2java-plugin/src/site/site.xml rename to maven/wsdl2java-maven-plugin/src/site/site.xml diff --git a/samples/addr-sample/pom.xml b/samples/addr-sample/pom.xml index 6194ef949..7e4792866 100644 --- a/samples/addr-sample/pom.xml +++ b/samples/addr-sample/pom.xml @@ -43,7 +43,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -115,7 +115,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/attachments-sample/pom.xml b/samples/attachments-sample/pom.xml index 6d6049441..64699e59e 100644 --- a/samples/attachments-sample/pom.xml +++ b/samples/attachments-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/bidbuy-sample/pom.xml b/samples/bidbuy-sample/pom.xml index 835d27fd4..5b050ed36 100644 --- a/samples/bidbuy-sample/pom.xml +++ b/samples/bidbuy-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/echo-sample/pom.xml b/samples/echo-sample/pom.xml index a59dd24bf..4eba15d5c 100644 --- a/samples/echo-sample/pom.xml +++ b/samples/echo-sample/pom.xml @@ -43,7 +43,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -71,7 +71,7 @@ ${project.groupId} - maven-wsdd-plugin + wsdd-maven-plugin ${project.version} diff --git a/samples/encoding-sample/pom.xml b/samples/encoding-sample/pom.xml index 261fe4a6f..bac3a4582 100644 --- a/samples/encoding-sample/pom.xml +++ b/samples/encoding-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/faults-sample/pom.xml b/samples/faults-sample/pom.xml index e11affc59..6a00eb483 100644 --- a/samples/faults-sample/pom.xml +++ b/samples/faults-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/handler-sample/pom.xml b/samples/handler-sample/pom.xml index ab4e7e5f7..9f5a5534e 100644 --- a/samples/handler-sample/pom.xml +++ b/samples/handler-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/jaxrpc-sample/pom.xml b/samples/jaxrpc-sample/pom.xml index cfe872729..754aa53c6 100644 --- a/samples/jaxrpc-sample/pom.xml +++ b/samples/jaxrpc-sample/pom.xml @@ -60,7 +60,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -106,7 +106,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/jms-sample/pom.xml b/samples/jms-sample/pom.xml index 485a45caa..976ca6e1c 100644 --- a/samples/jms-sample/pom.xml +++ b/samples/jms-sample/pom.xml @@ -63,7 +63,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -129,7 +129,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/message-sample/pom.xml b/samples/message-sample/pom.xml index 5f9c9062f..d86601e39 100644 --- a/samples/message-sample/pom.xml +++ b/samples/message-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/misc-sample/pom.xml b/samples/misc-sample/pom.xml index 4261f04d2..b7fb0b4b0 100644 --- a/samples/misc-sample/pom.xml +++ b/samples/misc-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/mtomstub-sample/pom.xml b/samples/mtomstub-sample/pom.xml index 030324135..b50d225b9 100644 --- a/samples/mtomstub-sample/pom.xml +++ b/samples/mtomstub-sample/pom.xml @@ -99,7 +99,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} diff --git a/samples/proxy-sample/pom.xml b/samples/proxy-sample/pom.xml index 964fd727f..ca3e39c76 100644 --- a/samples/proxy-sample/pom.xml +++ b/samples/proxy-sample/pom.xml @@ -83,7 +83,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/stock-sample/pom.xml b/samples/stock-sample/pom.xml index af0238703..bbad7e215 100644 --- a/samples/stock-sample/pom.xml +++ b/samples/stock-sample/pom.xml @@ -72,7 +72,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} diff --git a/samples/transport-sample/pom.xml b/samples/transport-sample/pom.xml index 591c975ad..2f9160719 100644 --- a/samples/transport-sample/pom.xml +++ b/samples/transport-sample/pom.xml @@ -83,7 +83,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} @@ -110,7 +110,7 @@ ${project.groupId} - maven-wsdd-plugin + wsdd-maven-plugin ${project.version} diff --git a/src/site/apt/changelogs/1_4_1.apt b/src/site/apt/changelogs/1_4_1.apt index 55cbfc063..d9184ad21 100644 --- a/src/site/apt/changelogs/1_4_1.apt +++ b/src/site/apt/changelogs/1_4_1.apt @@ -40,9 +40,9 @@ Changes from 1.4 final earlier Java versions. * It is now possible to change the Java class associated with an XML type when generating a client stub. - Note that this is only supported by the maven-wsdl2java-plugin, but not by the corresponding Ant task + Note that this is only supported by the wsdl2java-maven-plugin, but not by the corresponding Ant task or command line tool. The feature can be used to consume MTOM enabled services. Check the - {{{../maven/maven-wsdl2java-plugin/java-xml-type-mappings.html}plugin documentation}} for more information. + {{{../maven/wsdl2java-maven-plugin/java-xml-type-mappings.html}plugin documentation}} for more information. * WSDL4J has been upgraded from 1.5.1 to 1.6.2. diff --git a/tests/interop-tests/pom.xml b/tests/interop-tests/pom.xml index 6fabd394c..27b870599 100644 --- a/tests/interop-tests/pom.xml +++ b/tests/interop-tests/pom.xml @@ -58,7 +58,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} diff --git a/tests/spring-compat-tests/pom.xml b/tests/spring-compat-tests/pom.xml index fc286e38f..84866f5b5 100644 --- a/tests/spring-compat-tests/pom.xml +++ b/tests/spring-compat-tests/pom.xml @@ -54,7 +54,7 @@ ${project.groupId} - maven-wsdl2java-plugin + wsdl2java-maven-plugin ${project.version} @@ -74,7 +74,7 @@ ${project.groupId} - maven-wsdd-plugin + wsdd-maven-plugin ${project.version} @@ -112,7 +112,7 @@ ${project.groupId} - maven-axis-server-plugin + axis-server-maven-plugin ${project.version} From ea5ca7430e656fb2b188a9bdd923a42c3b8fa2ac Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Fri, 3 Jul 2015 22:53:59 +0000 Subject: [PATCH 066/133] Support the -Daxis.server.foreground=true flag also for Jetty instances started by the axis-server:start-webapp goal. --- .../server/AbstractStartWebServerMojo.java | 77 +++++++++++++++++++ .../tools/maven/server/StartServerMojo.java | 60 ++------------- .../tools/maven/server/StartWebAppMojo.java | 12 +-- tests/spring-compat-tests/pom.xml | 1 + 4 files changed, 85 insertions(+), 65 deletions(-) create mode 100644 maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartWebServerMojo.java diff --git a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartWebServerMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartWebServerMojo.java new file mode 100644 index 000000000..8fa91528d --- /dev/null +++ b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/AbstractStartWebServerMojo.java @@ -0,0 +1,77 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.tools.maven.server; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.logging.Log; + +public abstract class AbstractStartWebServerMojo extends AbstractStartDaemonMojo { + /** + * The HTTP port. + * + * @parameter default-value="8080" + * @required + */ + private int port; + + /** + * If this flag is set to true, then the execution of the goal will block after the + * server has been started. This is useful if one wants to manually test some services deployed + * on the server or if one wants to run the integration tests from an IDE. The flag should only + * be set using the command line, but not in the POM. + * + * @parameter expression="${axis.server.foreground}" default-value="false" + */ + // Note: this feature is implemented using a flag (instead of a distinct goal) to make sure that + // the server is configured in exactly the same way as in a normal integration test execution. + private boolean foreground; + + /** + * Specifies an alternate port number that will override {@link #port} if {@link #foreground} is + * set to true. This parameter should be used if the port number configured with + * the {@link #port} parameter is allocated dynamically. This makes it easier to run integration + * tests from an IDE. For more information, see the usage + * documentation. + * + * @parameter + */ + private int foregroundPort = -1; + + protected final void doStartDaemon() throws MojoExecutionException, MojoFailureException { + Log log = getLog(); + + doStartDaemon(foreground && foregroundPort != -1 ? foregroundPort : port); + + if (foreground) { + log.info("Server started in foreground mode. Press CRTL-C to stop."); + Object lock = new Object(); + synchronized (lock) { + try { + lock.wait(); + } catch (InterruptedException ex) { + // Set interrupt flag and continue + Thread.currentThread().interrupt(); + } + } + } + } + + protected abstract void doStartDaemon(int port) throws MojoExecutionException, MojoFailureException; +} diff --git a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index cd5cbe587..9f7fdf59a 100644 --- a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -31,7 +31,6 @@ import org.apache.axis.model.wsdd.WSDDUtil; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.logging.Log; import org.codehaus.plexus.util.DirectoryScanner; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -45,7 +44,7 @@ * @phase pre-integration-test * @requiresDependencyResolution test */ -public class StartServerMojo extends AbstractStartDaemonMojo { +public class StartServerMojo extends AbstractStartWebServerMojo { /** * @parameter default-value="${project.build.directory}/axis-server" * @required @@ -53,14 +52,6 @@ public class StartServerMojo extends AbstractStartDaemonMojo { */ private File workDirBase; - /** - * The port of the Axis server. - * - * @parameter default-value="8080" - * @required - */ - private int port; - /** * The maximum number of concurrently active sessions. * @@ -90,43 +81,15 @@ public class StartServerMojo extends AbstractStartDaemonMojo { */ private FileSet[] configs; - /** - * If this flag is set to true, then the execution of the goal will block after the - * server has been started and the services are deployed. This is useful if one wants to - * manually test some services deployed on the server or if one wants to run the integration - * tests from an IDE. The flag should only be set using the command line, but not in the POM. - * - * @parameter expression="${axis.server.foreground}" default-value="false" - */ - // Note: this feature is implemented using a flag (instead of a distinct goal) to make sure that - // the server is configured in exactly the same way as in a normal integration test execution. - private boolean foreground; - - /** - * Specifies an alternate port number that will override {@link #port} if {@link #foreground} is - * set to true. This parameter should be used if the port number configured with - * the {@link #port} parameter is allocated dynamically. This makes it easier to run integration - * tests from an IDE. For more information, see the usage - * documentation. - * - * @parameter - */ - private int foregroundPort = -1; - - protected void doStartDaemon() throws MojoExecutionException, MojoFailureException { - Log log = getLog(); - + protected void doStartDaemon(int port) throws MojoExecutionException, MojoFailureException { // Need to setup additional dependencies before building the default configuration! addAxisDependency("axis-standalone-server"); if (jwsDirs != null && jwsDirs.length > 0) { addAxisDependency("axis-rt-jws"); } - // Determine the port to be used - int actualPort = foreground && foregroundPort != -1 ? foregroundPort : port; - // Prepare a work directory where we can place the server-config.wsdd file - File workDir = new File(workDirBase, String.valueOf(actualPort)); + File workDir = new File(workDirBase, String.valueOf(port)); if (workDir.exists()) { try { FileUtils.deleteDirectory(workDir); @@ -198,7 +161,7 @@ protected void doStartDaemon() throws MojoExecutionException, MojoFailureExcepti // Start the server List args = new ArrayList(); args.add("-p"); - args.add(String.valueOf(actualPort)); + args.add(String.valueOf(port)); args.add("-w"); args.add(workDir.getAbsolutePath()); if (jwsDirs != null && jwsDirs.length > 0) { @@ -209,26 +172,13 @@ protected void doStartDaemon() throws MojoExecutionException, MojoFailureExcepti args.add(String.valueOf(maxSessions)); try { startDaemon( - "Server on port " + actualPort, + "Server on port " + port, "org.apache.axis.server.standalone.daemon.AxisServerDaemon", (String[])args.toArray(new String[args.size()]), workDir); } catch (Exception ex) { throw new MojoFailureException("Failed to start server", ex); } - - if (foreground) { - log.info("Server started in foreground mode. Press CRTL-C to stop."); - Object lock = new Object(); - synchronized (lock) { - try { - lock.wait(); - } catch (InterruptedException ex) { - // Set interrupt flag and continue - Thread.currentThread().interrupt(); - } - } - } } private ClassLoader buildClassLoader() throws MojoExecutionException { diff --git a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java index 62e3ded3f..573d0a85b 100644 --- a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java +++ b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java @@ -31,15 +31,7 @@ * @phase pre-integration-test * @requiresDependencyResolution test */ -public class StartWebAppMojo extends AbstractStartDaemonMojo { - /** - * The HTTP port. - * - * @parameter default-value="8080" - * @required - */ - private int port; - +public class StartWebAppMojo extends AbstractStartWebServerMojo { /** * * @@ -48,7 +40,7 @@ public class StartWebAppMojo extends AbstractStartDaemonMojo { */ private File[] resourceBases; - protected void doStartDaemon() throws MojoExecutionException, MojoFailureException { + protected void doStartDaemon(int port) throws MojoExecutionException, MojoFailureException { addAxisDependency("jetty-daemon"); startDaemon("HTTP server on port " + port, "org.apache.axis.tools.daemon.jetty.WebAppDaemon", new String[] { "-p", String.valueOf(port), "-r", StringUtils.join(resourceBases, File.pathSeparator) }, new File(".")); diff --git a/tests/spring-compat-tests/pom.xml b/tests/spring-compat-tests/pom.xml index 84866f5b5..67906b81b 100644 --- a/tests/spring-compat-tests/pom.xml +++ b/tests/spring-compat-tests/pom.xml @@ -122,6 +122,7 @@ ${test.httpPort} + 8080 src/main/webapp ${project.build.directory}/webapp From ef1938bedb0e01928f939982e214d4ae2a32fc37 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 6 Jul 2015 18:44:45 +0000 Subject: [PATCH 067/133] Make the number of invocations per thread configurable. --- .../test/java/test/wsdl/multithread/Invoker.java | 7 +++++-- .../wsdl/multithread/MultithreadTestCase.java | 15 ++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/integration/src/test/java/test/wsdl/multithread/Invoker.java b/integration/src/test/java/test/wsdl/multithread/Invoker.java index 78467e98d..e23aba0cc 100644 --- a/integration/src/test/java/test/wsdl/multithread/Invoker.java +++ b/integration/src/test/java/test/wsdl/multithread/Invoker.java @@ -35,12 +35,15 @@ class Invoker implements Runnable { private final CountDownLatch readyLatch; private final CountDownLatch startLatch; private final Report report; + private final int numInvocations; - Invoker(AddressBook binding, CountDownLatch readyLatch, CountDownLatch startLatch, Report report) { + Invoker(AddressBook binding, CountDownLatch readyLatch, CountDownLatch startLatch, Report report, + int numInvocations) { this.binding = binding; this.readyLatch = readyLatch; this.startLatch = startLatch; this.report = report; + this.numInvocations = numInvocations; } public void run() { @@ -50,7 +53,7 @@ public void run() { readyLatch.countDown(); startLatch.await(); - for (int i = 0; i < 4; ++i) { + for (int i = 0; i < numInvocations; ++i) { Address address = new Address(); Phone phone = new Phone(); address.setStreetNum(i); diff --git a/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java b/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java index 15f7769b3..6f05cc0c3 100644 --- a/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java +++ b/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java @@ -45,17 +45,18 @@ public AddressBook getStub() throws Exception { private void testMultithreading(StubSupplier stubSupplier) throws Throwable { Report report = new Report(); - int NUM_THREADS = 50; - CountDownLatch readyLatch = new CountDownLatch(NUM_THREADS); + final int numThreads = 50; + final int numInvocations = 4; + CountDownLatch readyLatch = new CountDownLatch(numThreads); CountDownLatch startLatch = new CountDownLatch(1); - Thread[] threads = new Thread[NUM_THREADS]; - for (int i = 0; i < NUM_THREADS; ++i) { - threads[i] = new Thread(new Invoker(stubSupplier.getStub(), readyLatch, startLatch, report)); + Thread[] threads = new Thread[numThreads]; + for (int i = 0; i < numThreads; ++i) { + threads[i] = new Thread(new Invoker(stubSupplier.getStub(), readyLatch, startLatch, report, numInvocations)); threads[i].start(); } readyLatch.await(); startLatch.countDown(); - for (int i = 0; i < NUM_THREADS; ++i) { + for (int i = 0; i < numThreads; ++i) { threads[i].join(30000); StackTraceElement[] stack = threads[i].getStackTrace(); if (stack.length > 0) { @@ -68,7 +69,7 @@ private void testMultithreading(StubSupplier stubSupplier) throws Throwable { if (error != null) { throw error; } - assertEquals("number of successes", NUM_THREADS * 4, report.getSuccessCount()); + assertEquals("number of successes", numThreads * numInvocations, report.getSuccessCount()); } // testMultithreading } // class MultithreadTestCase From c4af21a3aac86fd124bc3b8cc90ab0b663382628 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 6 Jul 2015 19:01:34 +0000 Subject: [PATCH 068/133] Fix another concurrency issue similar to AXIS-2850 and ensure that stubs are thread safe. --- .../src/main/java/org/apache/axis/client/Stub.java | 7 +++++-- .../java/test/wsdl/multithread/MultithreadTestCase.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/Stub.java b/axis-rt-core/src/main/java/org/apache/axis/client/Stub.java index 6af643843..72df6dc7c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/Stub.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/Stub.java @@ -432,11 +432,14 @@ public Service _getService() { * @return */ public Call _createCall() throws ServiceException { - _call = (Call) service.createCall(); + // A single stub instance may be used concurrently by multiple threads; therefore we need + // to return the value of the local call variable instead of reading the _call attribute. + Call call = (Call) service.createCall(); + _call = call; // TODO: There is a lot of code in the generated stubs that // can be moved here. - return _call; + return call; } /** diff --git a/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java b/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java index 6f05cc0c3..726fe6d0a 100644 --- a/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java +++ b/integration/src/test/java/test/wsdl/multithread/MultithreadTestCase.java @@ -46,7 +46,7 @@ public AddressBook getStub() throws Exception { private void testMultithreading(StubSupplier stubSupplier) throws Throwable { Report report = new Report(); final int numThreads = 50; - final int numInvocations = 4; + final int numInvocations = 10; CountDownLatch readyLatch = new CountDownLatch(numThreads); CountDownLatch startLatch = new CountDownLatch(1); Thread[] threads = new Thread[numThreads]; From 408e4962e1b5cb37d1faeb58bf96826e7bbaaa4f Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 28 Jul 2015 20:07:59 +0000 Subject: [PATCH 069/133] Fix a flaky test: the order of methods returned by the reflection API is not deterministic. --- .../java/test/servicedesc/TestServiceDesc.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/axis-rt-core/src/test/java/test/servicedesc/TestServiceDesc.java b/axis-rt-core/src/test/java/test/servicedesc/TestServiceDesc.java index 69d47d5ec..ffbf5f39d 100644 --- a/axis-rt-core/src/test/java/test/servicedesc/TestServiceDesc.java +++ b/axis-rt-core/src/test/java/test/servicedesc/TestServiceDesc.java @@ -15,6 +15,8 @@ */ package test.servicedesc; +import java.util.Arrays; +import java.util.Comparator; import java.util.List; import junit.framework.TestCase; @@ -30,16 +32,21 @@ public void testFaultSynch() throws Exception { desc.loadServiceDescByIntrospection(ServiceClass.class); - List operations = desc.getOperations(); + OperationDesc[] operations = (OperationDesc[])desc.getOperations().toArray(new OperationDesc[0]); + Arrays.sort(operations, new Comparator() { + public int compare(Object o1, Object o2) { + return ((OperationDesc)o1).getName().compareTo(((OperationDesc)o2).getName()); + } + }); assertTrue(operations != null); assertEquals("invalid number of registered operations", - 2, operations.size()); + 2, operations.length); OperationDesc operation; List faults; - operation = (OperationDesc)operations.get(0); + operation = operations[0]; assertEquals("doIt1", operation.getName()); faults = operation.getFaults(); @@ -48,7 +55,7 @@ public void testFaultSynch() throws Exception { assertEquals("invalid number of registered faults", 2, faults.size()); - operation = (OperationDesc)operations.get(1); + operation = operations[1]; assertEquals("doIt2", operation.getName()); faults = operation.getFaults(); From b5c83551fca40d5804c13d620266b4f25a2d4a05 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 15 Feb 2018 21:39:48 +0000 Subject: [PATCH 070/133] Switch to ulog release. --- maven/pom.xml | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/maven/pom.xml b/maven/pom.xml index 578a812c4..f3776c466 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -62,7 +62,7 @@ com.github.veithen.ulog ulog - 0.1.0-SNAPSHOT + 0.1.0
      @@ -97,19 +97,4 @@ - - - - - veithen-github-mvn-repo - https://raw.github.com/veithen/mvn-repo/master/snapshots/ - - false - - - true - - - - From 78899be8c7fa6f6d527f25c5953d71a215e8732b Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 15 Feb 2018 23:14:12 +0000 Subject: [PATCH 071/133] Fix Javadoc errors. --- axis-saaj/src/main/java/javax/xml/soap/MimeHeaders.java | 2 +- axis-saaj/src/main/java/javax/xml/soap/SOAPBody.java | 2 +- .../main/java/javax/xml/soap/SOAPConnectionFactory.java | 2 +- .../src/main/java/javax/xml/soap/SOAPElementFactory.java | 2 +- axis-saaj/src/main/java/javax/xml/soap/SOAPEnvelope.java | 8 ++++---- axis-saaj/src/main/java/javax/xml/soap/SOAPException.java | 2 +- axis-saaj/src/main/java/javax/xml/soap/SOAPFault.java | 1 + axis-saaj/src/main/java/javax/xml/soap/SOAPPart.java | 2 +- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/axis-saaj/src/main/java/javax/xml/soap/MimeHeaders.java b/axis-saaj/src/main/java/javax/xml/soap/MimeHeaders.java index 61b500af3..ffb1039fd 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/MimeHeaders.java +++ b/axis-saaj/src/main/java/javax/xml/soap/MimeHeaders.java @@ -21,7 +21,7 @@ /** * A container for MimeHeader objects, which * represent the MIME headers present in a MIME part of a - * message.

      + * message. * *

      This class is used primarily when an application wants to * retrieve specific attachments based on certain MIME headers and diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPBody.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPBody.java index 75d735967..6abdb82bf 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPBody.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPBody.java @@ -81,7 +81,7 @@ public abstract SOAPBodyElement addBodyElement(Name name) * @param faultString a String giving an explanation of the * fault * @param locale a Locale object indicating the native language - * of the faultString + * of the faultString * @return the new SOAPFault object * @throws SOAPException if there is a SOAP error */ diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPConnectionFactory.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPConnectionFactory.java index 2b595745f..02b83c26c 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPConnectionFactory.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPConnectionFactory.java @@ -34,7 +34,7 @@ public SOAPConnectionFactory() {} * @return a new instance of a default * SOAPConnectionFactory object * @throws SOAPException if there was an error creating - * the SOAPConnectionFactory + * the SOAPConnectionFactory * @throws UnsupportedOperationException if newInstance is not supported. */ public static SOAPConnectionFactory newInstance() diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPElementFactory.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPElementFactory.java index 744c0be83..6e640216c 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPElementFactory.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPElementFactory.java @@ -100,7 +100,7 @@ public SOAPElement create(String localName, String prefix, String uri) * @return a new instance of a * SOAPElementFactory * @throws SOAPException if there was an error creating - * the default SOAPElementFactory + * the default SOAPElementFactory */ public static SOAPElementFactory newInstance() throws SOAPException { diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPEnvelope.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPEnvelope.java index 8da3f2903..af9d06d1f 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPEnvelope.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPEnvelope.java @@ -26,7 +26,7 @@ * required, and the SOAPHeader object, though * optional, is used in the majority of cases. If the * SOAPHeader object is not needed, it can be deleted, - * which is shown later.

      + * which is shown later. * *

      A client can access the SOAPHeader and * SOAPBody objects by calling the methods @@ -35,7 +35,7 @@ * these two methods after starting with the * SOAPMessage object message to get the * SOAPPart object sp, which is then used to get the - * SOAPEnvelope object se.

      + * SOAPEnvelope object se. *
        *    SOAPPart sp = message.getSOAPPart();
        *    SOAPEnvelope se = sp.getEnvelope();
      @@ -50,7 +50,7 @@
        *   detaches the XML element (node) on which it is called. For
        *   example, the following line of code deletes the 
        *   SOAPBody object that is retrieved by the method 
      - *   getBody.

      + * getBody
      . *
        *     se.getBody().detachNode();
        * 
      @@ -82,7 +82,7 @@ * namespace prefix, and the third creates Name * objects with just a local name. The following line of code, in * which se is a SOAPEnvelope object, creates - * a new Name object with all three.

      + * a new Name object with all three. *
        *    Name name = se.createName("GetLastTradePrice", "WOMBAT",
        *                               "http://www.wombat.org/trader");
      diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPException.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPException.java
      index b92868684..f789d7bfb 100644
      --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPException.java
      +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPException.java
      @@ -21,7 +21,7 @@
        *   String that gives the reason for the exception, an
        *   embedded Throwable object, or both. This class
        *   provides methods for retrieving reason messages and for
      - *   retrieving the embedded Throwable object.

      + * retrieving the embedded Throwable object. * *

      Typical reasons for throwing a SOAPException * object are problems such as difficulty setting a header, not diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPFault.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPFault.java index 2b680e863..49d409173 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPFault.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPFault.java @@ -154,6 +154,7 @@ public abstract void setFaultString(String faultString) SOAPConstants.URI_NS_SOAP_ENVELOPE); SOAPFault fault = ...; fault.setFaultCode(qname); +

      * * It is preferable to use this method over setFaultCode(String). * diff --git a/axis-saaj/src/main/java/javax/xml/soap/SOAPPart.java b/axis-saaj/src/main/java/javax/xml/soap/SOAPPart.java index 72dd878ec..49a8a8a34 100644 --- a/axis-saaj/src/main/java/javax/xml/soap/SOAPPart.java +++ b/axis-saaj/src/main/java/javax/xml/soap/SOAPPart.java @@ -240,7 +240,7 @@ public void setContentLocation(String contentLocation) { /** * Sets the content of the SOAPEnvelope object * with the data from the given Source object. - * @param source javax.xml.transform.Source
      object with the data to + * @param source javax.xml.transform.Source object with the data to * be set * @throws SOAPException if there is a problem in * setting the source From a5efd728a66a0e9513270d1fdfabe546d2a8830b Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 18 Feb 2018 15:18:36 +0000 Subject: [PATCH 072/133] Fix Javadoc problems. --- .../src/main/java/javax/xml/rpc/Call.java | 4 +-- axis-rt-core/pom.xml | 10 +++++++ .../java/org/apache/axis/AxisProperties.java | 4 +-- .../main/java/org/apache/axis/Constants.java | 2 +- .../axis/EngineConfigurationFactory.java | 2 +- .../main/java/org/apache/axis/Handler.java | 2 +- .../src/main/java/org/apache/axis/Part.java | 1 - .../main/java/org/apache/axis/SOAPPart.java | 4 +-- ...DefaultHTTPSTransportClientProperties.java | 6 ++--- .../components/net/SecureSocketFactory.java | 2 +- .../configuration/DefaultConfiguration.java | 10 +++---- .../axis/description/OperationDesc.java | 4 +-- .../org/apache/axis/description/TypeDesc.java | 2 +- .../axis/encoding/ser/ArrayDeserializer.java | 2 +- .../ser/ArrayDeserializerFactory.java | 2 +- .../encoding/ser/ArraySerializerFactory.java | 4 +-- .../axis/encoding/ser/Base64Deserializer.java | 4 +-- .../ser/Base64DeserializerFactory.java | 2 +- .../axis/encoding/ser/Base64Serializer.java | 4 +-- .../encoding/ser/Base64SerializerFactory.java | 2 +- .../encoding/ser/BaseDeserializerFactory.java | 8 +++--- .../apache/axis/encoding/ser/BaseFactory.java | 2 +- .../encoding/ser/BaseSerializerFactory.java | 8 +++--- .../axis/encoding/ser/BeanDeserializer.java | 6 ++--- .../encoding/ser/BeanDeserializerFactory.java | 4 +-- .../axis/encoding/ser/BeanSerializer.java | 6 ++--- .../encoding/ser/BeanSerializerFactory.java | 2 +- .../axis/encoding/ser/CalendarSerializer.java | 4 +-- .../ser/CalendarSerializerFactory.java | 2 +- .../axis/encoding/ser/DateSerializer.java | 4 +-- .../encoding/ser/DateSerializerFactory.java | 2 +- .../encoding/ser/DocumentDeserializer.java | 2 +- .../ser/DocumentDeserializerFactory.java | 2 +- .../axis/encoding/ser/DocumentSerializer.java | 2 +- .../ser/DocumentSerializerFactory.java | 2 +- .../encoding/ser/ElementDeserializer.java | 2 +- .../ser/ElementDeserializerFactory.java | 2 +- .../axis/encoding/ser/ElementSerializer.java | 2 +- .../ser/ElementSerializerFactory.java | 2 +- .../axis/encoding/ser/EnumDeserializer.java | 4 +-- .../encoding/ser/EnumDeserializerFactory.java | 2 +- .../axis/encoding/ser/EnumSerializer.java | 4 +-- .../encoding/ser/EnumSerializerFactory.java | 2 +- .../axis/encoding/ser/HexDeserializer.java | 4 +-- .../encoding/ser/HexDeserializerFactory.java | 2 +- .../axis/encoding/ser/HexSerializer.java | 4 +-- .../encoding/ser/HexSerializerFactory.java | 2 +- .../ser/ImageDataHandlerDeserializer.java | 2 +- .../ser/JAFDataHandlerDeserializer.java | 2 +- .../ser/JAFDataHandlerSerializer.java | 2 +- .../axis/encoding/ser/MapSerializer.java | 2 +- .../OctetStreamDataHandlerDeserializer.java | 2 +- .../ser/PlainTextDataHandlerDeserializer.java | 2 +- .../encoding/ser/SimpleListDeserializer.java | 6 ++--- .../ser/SimpleListDeserializerFactory.java | 6 ++--- .../encoding/ser/SimpleListSerializer.java | 6 ++--- .../axis/encoding/ser/SimpleSerializer.java | 2 +- .../ser/SourceDataHandlerDeserializer.java | 2 +- .../axis/encoding/ser/VectorDeserializer.java | 2 +- .../axis/encoding/ser/VectorSerializer.java | 2 +- .../org/apache/axis/holders/SchemaHolder.java | 2 +- .../org/apache/axis/i18n/MessageBundle.java | 24 ++++++++--------- .../axis/i18n/ProjectResourceBundle.java | 12 --------- .../main/java/org/apache/axis/i18n/RB.java | 26 +++++++++---------- .../apache/axis/message/MessageElement.java | 24 ++++++++--------- .../apache/axis/message/NullAttributes.java | 2 +- .../org/apache/axis/message/RPCHandler.java | 10 ++++--- .../apache/axis/message/SOAPDocumentImpl.java | 20 +++++++------- .../axis/transport/http/AdminServlet.java | 3 --- .../transport/http/AutoRegisterServlet.java | 2 -- .../http/AxisHTTPSessionListener.java | 1 - .../axis/transport/http/AxisServlet.java | 5 ---- .../axis/transport/http/AxisServletBase.java | 4 +-- .../axis/transport/local/LocalSender.java | 2 +- .../main/java/org/apache/axis/types/Day.java | 2 +- .../java/org/apache/axis/types/Duration.java | 2 +- .../java/org/apache/axis/types/Entities.java | 2 +- .../java/org/apache/axis/types/Entity.java | 2 +- .../java/org/apache/axis/types/HexBinary.java | 2 +- .../java/org/apache/axis/types/IDRef.java | 2 +- .../java/org/apache/axis/types/IDRefs.java | 2 +- .../main/java/org/apache/axis/types/Id.java | 2 +- .../java/org/apache/axis/types/Language.java | 2 +- .../java/org/apache/axis/types/Month.java | 2 +- .../java/org/apache/axis/types/MonthDay.java | 2 +- .../java/org/apache/axis/types/NCName.java | 2 +- .../java/org/apache/axis/types/NMToken.java | 2 +- .../java/org/apache/axis/types/NMTokens.java | 2 +- .../main/java/org/apache/axis/types/Name.java | 2 +- .../apache/axis/types/NegativeInteger.java | 2 +- .../apache/axis/types/NonNegativeInteger.java | 2 +- .../apache/axis/types/NonPositiveInteger.java | 2 +- .../apache/axis/types/NormalizedString.java | 2 +- .../java/org/apache/axis/types/Notation.java | 2 +- .../apache/axis/types/PositiveInteger.java | 2 +- .../java/org/apache/axis/types/Schema.java | 2 +- .../java/org/apache/axis/types/Token.java | 2 +- .../org/apache/axis/types/UnsignedByte.java | 2 +- .../org/apache/axis/types/UnsignedInt.java | 2 +- .../org/apache/axis/types/UnsignedLong.java | 2 +- .../org/apache/axis/types/UnsignedShort.java | 2 +- .../main/java/org/apache/axis/types/Year.java | 2 +- .../java/org/apache/axis/types/YearMonth.java | 2 +- .../axis/utils/BeanPropertyDescriptor.java | 2 +- .../axis/utils/ByteArrayOutputStream.java | 6 ++--- .../java/org/apache/axis/utils/IOUtils.java | 2 +- .../apache/axis/utils/IdentityHashMap.java | 2 +- .../java/org/apache/axis/utils/JavaUtils.java | 4 +-- .../java/org/apache/axis/utils/Messages.java | 14 ---------- .../java/org/apache/axis/utils/NSStack.java | 10 ++++--- .../org/apache/axis/utils/StringUtils.java | 4 +-- .../java/org/apache/axis/utils/WSDLUtils.java | 2 +- .../apache/axis/utils/cache/JavaClass.java | 2 +- .../apache/axis/utils/cache/JavaMethod.java | 3 +-- .../apache/axis/utils/cache/MethodCache.java | 4 +-- .../org/apache/axis/wsdl/gen/Generator.java | 2 +- .../java/org/apache/axis/wsdl/gen/Parser.java | 2 +- .../axis/wsdl/symbolTable/BackslashUtil.java | 4 +-- pom.xml | 1 + 119 files changed, 216 insertions(+), 242 deletions(-) diff --git a/axis-jaxrpc/src/main/java/javax/xml/rpc/Call.java b/axis-jaxrpc/src/main/java/javax/xml/rpc/Call.java index 693c801ba..8622ac2ce 100644 --- a/axis-jaxrpc/src/main/java/javax/xml/rpc/Call.java +++ b/axis-jaxrpc/src/main/java/javax/xml/rpc/Call.java @@ -36,7 +36,7 @@ public interface Call { /** * Standard property: User name for authentication - *

      Type: java.lang.String + *

      Type: java.lang.String */ public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username"; @@ -126,7 +126,7 @@ public interface Call { * @param parameterMode Mode of the parameter-whether * ParameterMode.IN, * ParameterMode.OUT, - * or ParameterMode.INOUT + * or ParameterMode.INOUT * @throws JAXRPCException This exception may * be thrown if the method isParameterAndReturnSpecRequired * returns false for this operation. diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 4573eaf7f..a43e9fa03 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -170,6 +170,16 @@ + + maven-javadoc-plugin + + + org/apache/axis/components/image/JimiIO.java + org/apache/axis/components/net/IBM*.java + org/apache/axis/providers/ComProvider.java + + + maven-surefire-plugin diff --git a/axis-rt-core/src/main/java/org/apache/axis/AxisProperties.java b/axis-rt-core/src/main/java/org/apache/axis/AxisProperties.java index 5427389c5..056a8d702 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/AxisProperties.java +++ b/axis-rt-core/src/main/java/org/apache/axis/AxisProperties.java @@ -45,8 +45,7 @@ /** - *

      Configuration properties for AXIS. - *

      + * Configuration properties for AXIS. * *

      Manage configuration properties according to a secure * scheme similar to that used by classloaders: @@ -70,7 +69,6 @@ * *

    • System properties take precedence over all other properties
    • *
    - *

    * * @author Richard A. Sitze */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/Constants.java b/axis-rt-core/src/main/java/org/apache/axis/Constants.java index f107539d3..4052ee8f9 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/Constants.java +++ b/axis-rt-core/src/main/java/org/apache/axis/Constants.java @@ -644,7 +644,7 @@ public static boolean isWSDLSOAP(String s) { /** * QName of exception Name element in an axis fault detail. - * Do not use - this is for pre-1.0 server->client exceptions. + * Do not use - this is for pre-1.0 server->client exceptions. */ public static final QName QNAME_FAULTDETAIL_EXCEPTIONNAME = new QName(NS_URI_AXIS, "exceptionName"); diff --git a/axis-rt-core/src/main/java/org/apache/axis/EngineConfigurationFactory.java b/axis-rt-core/src/main/java/org/apache/axis/EngineConfigurationFactory.java index a3bf69866..1b5ed098c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/EngineConfigurationFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/EngineConfigurationFactory.java @@ -27,7 +27,7 @@ * //If a factory cannot be created, return 'null'. * // * //The factory may return non-NULL only if: - * // - it knows what to do with the param (check type & process value) + * // - it knows what to do with the param (check type & process value) * // - it can find it's configuration information * // * //@see org.apache.axis.configuration.EngineConfigurationFactoryFinder diff --git a/axis-rt-core/src/main/java/org/apache/axis/Handler.java b/axis-rt-core/src/main/java/org/apache/axis/Handler.java index 4af62343a..5604016d7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/Handler.java +++ b/axis-rt-core/src/main/java/org/apache/axis/Handler.java @@ -69,7 +69,7 @@ public interface Handler extends Serializable { * Indicate if this handler can process qname. * * @param qname the QName to check - * @return true if this Handler can handle qname, + * @return true if this Handler can handle qname, * false otherwise */ public boolean canHandleBlock(QName qname); diff --git a/axis-rt-core/src/main/java/org/apache/axis/Part.java b/axis-rt-core/src/main/java/org/apache/axis/Part.java index 39f8ae57b..04eebf790 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/Part.java +++ b/axis-rt-core/src/main/java/org/apache/axis/Part.java @@ -32,7 +32,6 @@ public interface Part extends java.io.Serializable * "Content-Type" * @return a String array giving all the values for * the specified header - * @see #setMimeHeader(java.lang.String, java.lang.String) setMimeHeader(java.lang.String, java.lang.String) */ public String[] getMimeHeader(String name); diff --git a/axis-rt-core/src/main/java/org/apache/axis/SOAPPart.java b/axis-rt-core/src/main/java/org/apache/axis/SOAPPart.java index b14af1833..a983f36c9 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/SOAPPart.java +++ b/axis-rt-core/src/main/java/org/apache/axis/SOAPPart.java @@ -827,7 +827,7 @@ public java.util.Iterator getNonMatchingMimeHeaders( final String[] match){ /** * Sets the content of the SOAPEnvelope object * with the data from the given Source object. - * @param source javax.xml.transform.Source object with the data to + * @param source javax.xml.transform.Source object with the data to * be set * @throws SOAPException if there is a problem in * setting the source @@ -950,7 +950,7 @@ public Iterator getAllMimeHeaders() { * current value(s) of the first header that is a match if * there is one. If there is no match, this value will be * the value for a new MimeHeader object. - * @ throws java.lang.IllegalArgumentException if + * @throws java.lang.IllegalArgumentException if * there was a problem with the specified mime header name * or value * @see #getMimeHeader(java.lang.String) getMimeHeader(java.lang.String) diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPSTransportClientProperties.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPSTransportClientProperties.java index bcd6d6a06..9c03eb835 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPSTransportClientProperties.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPSTransportClientProperties.java @@ -47,7 +47,7 @@ public String getNonProxyHosts() { } /** - * @see org.apache.axis.components.net.TransportClientProperties#getPort() + * @see org.apache.axis.components.net.TransportClientProperties#getProxyPort() */ public String getProxyPort() { if (proxyPort == null) { @@ -58,7 +58,7 @@ public String getProxyPort() { } /** - * @see org.apache.axis.components.net.TransportClientProperties#getUser() + * @see org.apache.axis.components.net.TransportClientProperties#getProxyUser() */ public String getProxyUser() { if (proxyUser == null) { @@ -69,7 +69,7 @@ public String getProxyUser() { } /** - * @see org.apache.axis.components.net.TransportClientProperties#getPassword() + * @see org.apache.axis.components.net.TransportClientProperties#getProxyPassword() */ public String getProxyPassword() { if (proxyPassword == null) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/SecureSocketFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/SecureSocketFactory.java index d90e38ffa..d91fd886d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/SecureSocketFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/SecureSocketFactory.java @@ -19,7 +19,7 @@ /** * Secure Socket factory. * This has a separate interface to allow discovery (by interface) - * and runtime distinction to be made between Socket & SecureSockets. + * and runtime distinction to be made between Socket & SecureSockets. * * @author Richard A. Sitze * @author Davanum Srinivas (dims@yahoo.com) diff --git a/axis-rt-core/src/main/java/org/apache/axis/configuration/DefaultConfiguration.java b/axis-rt-core/src/main/java/org/apache/axis/configuration/DefaultConfiguration.java index a77d23313..dffa3a023 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/configuration/DefaultConfiguration.java +++ b/axis-rt-core/src/main/java/org/apache/axis/configuration/DefaultConfiguration.java @@ -33,9 +33,9 @@ /** * Configuration provider that loads the default Axis configuration. It first loads the - * org/apache/axis/<type>/<type>-config.wsdd resource and then searches for resources - * with name META-INF/axis/default-<type>-config.wsdd. All the discovered WSDD documents - * are merged into a single configuration. <type> identifies the engine type for which + * org/apache/axis/<type>/<type>-config.wsdd resource and then searches for resources + * with name META-INF/axis/default-<type>-config.wsdd. All the discovered WSDD documents + * are merged into a single configuration. <type> identifies the engine type for which * the configuration is to be built; it is either client or server. *

    * This class looks up the resources using the thread context class loader, except if it determines @@ -47,8 +47,8 @@ * The algorithm implemented by this class is designed to support the modularized artifacts * introduced in Axis 1.4.1. It allows individual JARs to contribute items (transports, handlers, * etc.) to the default configuration. The naming convention for the base configuration file - * (org/apache/axis/<type>/<type>-config.wsdd) was chosen for consistency with Axis - * 1.4, while META-INF/axis/default-<type>-config.wsdd is new in Axis 1.4.1. + * (org/apache/axis/<type>/<type>-config.wsdd) was chosen for consistency with Axis + * 1.4, while META-INF/axis/default-<type>-config.wsdd is new in Axis 1.4.1. *

    * {@link DefaultConfiguration} is also used by {@link FileProvider} to build the configuration if * no existing configuration file is found. diff --git a/axis-rt-core/src/main/java/org/apache/axis/description/OperationDesc.java b/axis-rt-core/src/main/java/org/apache/axis/description/OperationDesc.java index ebc944194..0e280443a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/description/OperationDesc.java +++ b/axis-rt-core/src/main/java/org/apache/axis/description/OperationDesc.java @@ -398,7 +398,7 @@ else if ( qname.equals(returnDesc.getQName())) { /** * Return a list of ALL "in" params (including INOUTs) * - * Note: if we were sure the order went IN->INOUT->OUT, we could optimize + * Note: if we were sure the order went IN->INOUT->OUT, we could optimize * this. * * @return @@ -417,7 +417,7 @@ public ArrayList getAllInParams() { /** * Return a list of ALL "out" params (including INOUTs) * - * Note: if we were sure the order went IN->INOUT->OUT, we could optimize + * Note: if we were sure the order went IN->INOUT->OUT, we could optimize * this. * * @return diff --git a/axis-rt-core/src/main/java/org/apache/axis/description/TypeDesc.java b/axis-rt-core/src/main/java/org/apache/axis/description/TypeDesc.java index 66dbfde33..f44ae27d8 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/description/TypeDesc.java +++ b/axis-rt-core/src/main/java/org/apache/axis/description/TypeDesc.java @@ -34,7 +34,7 @@ import java.util.WeakHashMap; /** - * A TypeDesc represents a Java<->XML data binding. It is essentially + * A TypeDesc represents a Java<->XML data binding. It is essentially * a collection of FieldDescs describing how to map each field in a Java * class to XML. * diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializer.java index cdb690f64..6f2ad0666 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializer.java @@ -66,7 +66,7 @@ public class ArrayDeserializer extends DeserializerImpl /** * This method is invoked after startElement when the element requires - * deserialization (i.e. the element is not an href & the value is not nil) + * deserialization (i.e. the element is not an href & the value is not nil) * DeserializerImpl provides default behavior, which simply * involves obtaining a correct Deserializer and plugging its handler. * @param namespace is the namespace of the element diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializerFactory.java index 4dc2ab17e..710a6109e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArrayDeserializerFactory.java @@ -22,7 +22,7 @@ /** * DeserializerFactory for arrays * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class ArrayDeserializerFactory extends BaseDeserializerFactory { private QName componentXmlType; diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArraySerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArraySerializerFactory.java index 163670e14..53a38e5f7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArraySerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ArraySerializerFactory.java @@ -25,7 +25,7 @@ /** * SerializerFactory for arrays * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class ArraySerializerFactory extends BaseSerializerFactory { public ArraySerializerFactory() { @@ -75,7 +75,7 @@ public QName getComponentType() { return componentType; } /** - * Obtains a serializer by invoking (javaType, xmlType) + * Obtains a serializer by invoking <constructor>(javaType, xmlType) * on the serClass. */ protected Serializer getGeneralPurpose(String mechanismType) diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Deserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Deserializer.java index 33d31b7cd..ae7f827e3 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Deserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Deserializer.java @@ -23,8 +23,8 @@ /** * Deserializer for Base64 * - * @author Sam Ruby - * Modified by @author Rich scheuerle + * @author Sam Ruby (rubys@us.ibm.com) + * Modified by @author Rich scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class Base64Deserializer extends SimpleDeserializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64DeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64DeserializerFactory.java index deaf4f3bb..bc24c270d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64DeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64DeserializerFactory.java @@ -20,7 +20,7 @@ /** * DeserializerFactory for hexBinary. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class Base64DeserializerFactory extends BaseDeserializerFactory { public Base64DeserializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Serializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Serializer.java index 7a585f146..7ade201c6 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Serializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64Serializer.java @@ -30,8 +30,8 @@ /** * Serializer for Base64 * - * @author Sam Ruby - * Modified by @author Rich Scheuerle + * @author Sam Ruby (rubys@us.ibm.com) + * Modified by @author Rich Scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class Base64Serializer implements SimpleValueSerializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64SerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64SerializerFactory.java index 6d74b1ede..fdb51328b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64SerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/Base64SerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for hexBinary. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class Base64SerializerFactory extends BaseSerializerFactory { public Base64SerializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseDeserializerFactory.java index 76bd70982..9409b8b9c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseDeserializerFactory.java @@ -34,7 +34,7 @@ /** * Base class for Axis Deserialization Factory classes for code reuse * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public abstract class BaseDeserializerFactory extends BaseFactory implements DeserializerFactory { @@ -101,7 +101,7 @@ public BaseDeserializerFactory(Class deserClass, } /** - * Obtains a deserializer by invoking (javaType, xmlType) + * Obtains a deserializer by invoking <constructor>(javaType, xmlType) * on the deserClass. */ protected Deserializer getGeneralPurpose(String mechanismType) { @@ -188,8 +188,8 @@ public Iterator getSupportedMechanismTypes() { * Utility method that intospects on a factory class to decide how to * create the factory. Tries in the following order: * public static create(Class javaType, QName xmlType) - * public (Class javaType, QName xmlType) - * public () + * public <constructor>(Class javaType, QName xmlType) + * public <constructor>() * @param factory class * @param javaType * @param xmlType diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseFactory.java index 1ab5889d1..ee5ded0f7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseFactory.java @@ -25,7 +25,7 @@ * Base Factory for BaseDeserializerFactory and BaseSerializerFactory. * Code Reuse for the method cache * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public abstract class BaseFactory { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseSerializerFactory.java index a9efc6632..68ba4e8ac 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BaseSerializerFactory.java @@ -34,7 +34,7 @@ /** * Base class for Axis Serialization Factory classes for code reuse * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public abstract class BaseSerializerFactory extends BaseFactory implements SerializerFactory { @@ -111,7 +111,7 @@ protected Serializer getSerializerAsInternal(String mechanismType) } /** - * Obtains a serializer by invoking (javaType, xmlType) + * Obtains a serializer by invoking <constructor>(javaType, xmlType) * on the serClass. */ protected Serializer getGeneralPurpose(String mechanismType) { @@ -217,8 +217,8 @@ public Class getJavaType() { * Utility method that intospects on a factory class to decide how to * create the factory. Tries in the following order: * public static create(Class javaType, QName xmlType) - * public (Class javaType, QName xmlType) - * public () + * public <constructor>(Class javaType, QName xmlType) + * public <constructor>() * @param factory class * @param xmlType * @param javaType diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializer.java index 44e518b34..42f6293ed 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializer.java @@ -45,9 +45,9 @@ /** * General purpose deserializer for an arbitrary java bean. * - * @author Sam Ruby - * @author Rich Scheuerle - * @author Tom Jordahl + * @author Sam Ruby (rubys@us.ibm.com) + * @author Rich Scheuerle (scheu@us.ibm.com) + * @author Tom Jordahl (tomj@macromedia.com) */ public class BeanDeserializer extends DeserializerImpl implements Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializerFactory.java index d39f0cd84..dd5e99c02 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanDeserializerFactory.java @@ -30,8 +30,8 @@ /** * DeserializerFactory for Bean * - * @author Rich Scheuerle - * @author Sam Ruby + * @author Rich Scheuerle (scheu@us.ibm.com) + * @author Sam Ruby (rubys@us.ibm.com) */ public class BeanDeserializerFactory extends BaseDeserializerFactory { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializer.java index 62150eba0..8501edb7c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializer.java @@ -48,9 +48,9 @@ /** * General purpose serializer/deserializerFactory for an arbitrary java bean. * - * @author Sam Ruby - * @author Rich Scheuerle - * @author Tom Jordahl + * @author Sam Ruby (rubys@us.ibm.com) + * @author Rich Scheuerle (scheu@us.ibm.com) + * @author Tom Jordahl (tomj@macromedia.com) */ public class BeanSerializer implements Serializer, Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializerFactory.java index 9a28aaa0a..4e415d3d4 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/BeanSerializerFactory.java @@ -30,7 +30,7 @@ /** * SerializerFactory for Bean * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class BeanSerializerFactory extends BaseSerializerFactory { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializer.java index a5e8ef87b..b8cc8e28a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializer.java @@ -33,8 +33,8 @@ /** * Serializer for dateTime (Calendar). * - * @author Sam Ruby - * Modified by @author Rich scheuerle + * @author Sam Ruby (rubys@us.ibm.com) + * Modified by @author Rich scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class CalendarSerializer implements SimpleValueSerializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializerFactory.java index dfa095f58..4fc9d3932 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/CalendarSerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for Calendar(dateTime) primitives * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class CalendarSerializerFactory extends BaseSerializerFactory { public CalendarSerializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializer.java index c5a313b5e..7205ed00f 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializer.java @@ -33,8 +33,8 @@ /** * Serializer for Dates. * - * @author Sam Ruby - * Modified by @author Rich scheuerle + * @author Sam Ruby (rubys@us.ibm.com) + * Modified by @author Rich scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class DateSerializer implements SimpleValueSerializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializerFactory.java index 33e0517b4..35e4d56dd 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DateSerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for Date primitives * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class DateSerializerFactory extends BaseSerializerFactory { public DateSerializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializer.java index 81fa0d15e..dd9f57c35 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializer.java @@ -30,7 +30,7 @@ /** * Deserializer for DOM Document * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class DocumentDeserializer extends DeserializerImpl { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializerFactory.java index 6acdc5731..77ee73b9f 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentDeserializerFactory.java @@ -21,7 +21,7 @@ /** * DeserializerFactory for DOM Document. * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class DocumentDeserializerFactory extends BaseDeserializerFactory { public DocumentDeserializerFactory() { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializer.java index e805a8b91..6627e32bf 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializer.java @@ -31,7 +31,7 @@ /** * Serializer for DOM Document * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class DocumentSerializer implements Serializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializerFactory.java index dda6a8196..8b11d167b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/DocumentSerializerFactory.java @@ -21,7 +21,7 @@ /** * SerializerFactory for DOM Document * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class DocumentSerializerFactory extends BaseSerializerFactory { public DocumentSerializerFactory() { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializer.java index 7d61e9a1d..e939ee2ee 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializer.java @@ -31,7 +31,7 @@ * Deserializer for DOM elements * * @author Glen Daniels (gdaniels@apache.org) - * Modified by @author Rich scheuerle + * Modified by @author Rich scheuerle (scheu@us.ibm.com) */ public class ElementDeserializer extends DeserializerImpl { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializerFactory.java index 40f79aa1a..8248a4e4a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementDeserializerFactory.java @@ -20,7 +20,7 @@ /** * DeserializerFactory for Element. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class ElementDeserializerFactory extends BaseDeserializerFactory { public ElementDeserializerFactory() { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializer.java index 2e91676e2..28cd46731 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializer.java @@ -32,7 +32,7 @@ * Serializer for DOM elements * * @author Glen Daniels (gdaniels@apache.org) - * Modified by @author Rich scheuerle + * Modified by @author Rich scheuerle (scheu@us.ibm.com) */ public class ElementSerializer implements Serializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializerFactory.java index 7afa42d32..e080e4583 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ElementSerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for Element * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class ElementSerializerFactory extends BaseSerializerFactory { public ElementSerializerFactory() { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializer.java index 364d399c1..c28628049 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializer.java @@ -25,8 +25,8 @@ /** * Deserializer for a JAX-RPC enum. * - * @author Rich Scheuerle - * @author Sam Ruby + * @author Rich Scheuerle (scheu@us.ibm.com) + * @author Sam Ruby (rubys@us.ibm.com) */ public class EnumDeserializer extends SimpleDeserializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializerFactory.java index 722384c76..9367d5989 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumDeserializerFactory.java @@ -20,7 +20,7 @@ /** * DeserializerFactory for Enumeration. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class EnumDeserializerFactory extends BaseDeserializerFactory { public EnumDeserializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializer.java index 217f98213..f5f3541c7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializer.java @@ -30,8 +30,8 @@ /** * Serializer for a JAX-RPC enum. * - * @author Rich Scheuerle - * @author Sam Ruby + * @author Rich Scheuerle (scheu@us.ibm.com) + * @author Sam Ruby (rubys@us.ibm.com) */ public class EnumSerializer extends SimpleSerializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializerFactory.java index dc9c339ce..20dbefaaa 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/EnumSerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for Enum * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class EnumSerializerFactory extends BaseSerializerFactory { public EnumSerializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializer.java index a1e76d540..740de2f7c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializer.java @@ -23,8 +23,8 @@ /** * Deserializer for hexBinary. * - * @author Davanum Srinivas - * Modified by @author Rich scheuerle + * @author Davanum Srinivas (dims@yahoo.com) + * Modified by @author Rich scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class HexDeserializer extends SimpleDeserializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializerFactory.java index c7eb9d0ba..ea55961cc 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexDeserializerFactory.java @@ -20,7 +20,7 @@ /** * DeserializerFactory for hexBinary. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class HexDeserializerFactory extends BaseDeserializerFactory { public HexDeserializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializer.java index 32414e08b..08197d6ef 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializer.java @@ -30,8 +30,8 @@ /** * Serializer for hexBinary. * - * @author Davanum Srinivas - * Modified by @author Rich scheuerle + * @author Davanum Srinivas (dims@yahoo.com) + * Modified by @author Rich scheuerle (scheu@us.ibm.com) * @see XML Schema 3.2.16 */ public class HexSerializer implements SimpleValueSerializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializerFactory.java index 4ff02c8c1..f1b998733 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/HexSerializerFactory.java @@ -20,7 +20,7 @@ /** * SerializerFactory for hexBinary. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class HexSerializerFactory extends BaseSerializerFactory { public HexSerializerFactory(Class javaType, QName xmlType) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ImageDataHandlerDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ImageDataHandlerDeserializer.java index 856430d0b..e27427d3a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ImageDataHandlerDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/ImageDataHandlerDeserializer.java @@ -30,7 +30,7 @@ /** * ImageDataHandler Deserializer - * Modified by Russell Butek + * Modified by Russell Butek (butek@us.ibm.com) */ public class ImageDataHandlerDeserializer extends JAFDataHandlerDeserializer { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java index ad7e102a6..d223a19ea 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java @@ -34,7 +34,7 @@ /** * JAFDataHandler Serializer * @author Rick Rineholt - * Modified by Rich Scheuerle + * Modified by Rich Scheuerle (scheu@us.ibm.com) */ public class JAFDataHandlerDeserializer extends DeserializerImpl { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java index eb9bd24dc..e59544f24 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java @@ -38,7 +38,7 @@ /** * JAFDataHandler Serializer * @author Rick Rineholt - * Modified by Rich Scheuerle + * Modified by Rich Scheuerle (scheu@us.ibm.com) */ public class JAFDataHandlerSerializer implements Serializer { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapSerializer.java index e4dbb16db..22eb4c741 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapSerializer.java @@ -55,7 +55,7 @@ public class MapSerializer implements Serializer /** Serialize a Map * * Walk the collection of keys, serializing each key/value pair - * inside an element. + * inside an <item> element. * * @param name the desired QName for the element * @param attributes the desired attributes for the element diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/OctetStreamDataHandlerDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/OctetStreamDataHandlerDeserializer.java index 9a7080fa2..2093a0228 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/OctetStreamDataHandlerDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/OctetStreamDataHandlerDeserializer.java @@ -30,7 +30,7 @@ /** * application/octet-stream DataHandler Deserializer - * Modified by Davanum Srinivas + * Modified by Davanum Srinivas (dims@yahoo.com) */ public class OctetStreamDataHandlerDeserializer extends JAFDataHandlerDeserializer { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/PlainTextDataHandlerDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/PlainTextDataHandlerDeserializer.java index f79d20282..8e7a36aa0 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/PlainTextDataHandlerDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/PlainTextDataHandlerDeserializer.java @@ -27,7 +27,7 @@ /** * text/plain DataHandler Deserializer - * Modified by Russell Butek + * Modified by Russell Butek (butek@us.ibm.com) */ public class PlainTextDataHandlerDeserializer extends JAFDataHandlerDeserializer { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializer.java index 8d00c947a..f230f50d8 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializer.java @@ -40,9 +40,9 @@ /** * Deserializer for - * - * - * + * <xsd:simpleType ...> + * <xsd:list itemType="..."> + * </xsd:simpleType> * based on SimpleDeserializer * * @author Ias (iasandcb@tmax.co.kr) diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializerFactory.java index 1c209e0a2..fdff4d955 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListDeserializerFactory.java @@ -25,9 +25,9 @@ /** * DeserializerFactory for - * - * - * + * <xsd:simpleType ...> + * <xsd:list itemType="..."> + * </xsd:simpleType> * based on SimpleDeserializerFactory * * @author Ias (iasandcb@tmax.co.kr) diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java index 706465691..123dfd67d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java @@ -36,9 +36,9 @@ /** * Serializer for - * - * - * + * <xsd:simpleType ...> + * <xsd:list itemType="..."> + * </xsd:simpleType> * based on SimpleSerializer * * @author Ias diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleSerializer.java index c067ce414..9bc1606d1 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleSerializer.java @@ -38,7 +38,7 @@ /** * Serializer for primitives and anything simple whose value is obtained with toString() * - * @author Rich Scheuerle + * @author Rich Scheuerle (dims@yahoo.com) */ public class SimpleSerializer implements SimpleValueSerializer { public QName xmlType; diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SourceDataHandlerDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SourceDataHandlerDeserializer.java index 537157da1..4b35219c6 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SourceDataHandlerDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SourceDataHandlerDeserializer.java @@ -28,7 +28,7 @@ /** * SourceDataHandler Deserializer - * Modified by Russell Butek + * Modified by Russell Butek (butek@us.ibm.com) */ public class SourceDataHandlerDeserializer extends JAFDataHandlerDeserializer { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorDeserializer.java index 64c88d452..91a2e4890 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorDeserializer.java @@ -34,7 +34,7 @@ * Deserializer for SOAP Vectors for compatibility with SOAP 2.2. * * @author Carsten Ziegeler (cziegeler@apache.org) - * Modified by @author Rich scheuerle + * Modified by @author Rich scheuerle (scheu@us.ibm.com) */ public class VectorDeserializer extends DeserializerImpl { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorSerializer.java index 3b8a47de8..ade227f04 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/VectorSerializer.java @@ -48,7 +48,7 @@ public class VectorSerializer implements Serializer /** Serialize a Vector * * Walk the collection of keys, serializing each key/value pair - * inside an element. + * inside an <item> element. * * @param name the desired QName for the element * @param attributes the desired attributes for the element diff --git a/axis-rt-core/src/main/java/org/apache/axis/holders/SchemaHolder.java b/axis-rt-core/src/main/java/org/apache/axis/holders/SchemaHolder.java index acbdc89fb..5906fdc23 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/holders/SchemaHolder.java +++ b/axis-rt-core/src/main/java/org/apache/axis/holders/SchemaHolder.java @@ -19,7 +19,7 @@ /** * Custom class for supporting XSD schema * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public final class SchemaHolder implements javax.xml.rpc.holders.Holder { public org.apache.axis.types.Schema value; diff --git a/axis-rt-core/src/main/java/org/apache/axis/i18n/MessageBundle.java b/axis-rt-core/src/main/java/org/apache/axis/i18n/MessageBundle.java index 4d86e2e92..64b3c2658 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/i18n/MessageBundle.java +++ b/axis-rt-core/src/main/java/org/apache/axis/i18n/MessageBundle.java @@ -89,9 +89,9 @@ public String getMessage(String key) throws MissingResourceException *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @return The message @@ -105,9 +105,9 @@ public String getMessage(String key, String arg0) throws MissingResourceExceptio *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -122,9 +122,9 @@ public String getMessage(String key, String arg0, String arg1) throws MissingRes *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -140,9 +140,9 @@ public String getMessage(String key, String arg0, String arg1, String arg2) thro *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -159,9 +159,9 @@ public String getMessage(String key, String arg0, String arg1, String arg2, Stri *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -179,9 +179,9 @@ public String getMessage(String key, String arg0, String arg1, String arg2, Stri *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param array An array of objects to place in corresponding variables * @return The message diff --git a/axis-rt-core/src/main/java/org/apache/axis/i18n/ProjectResourceBundle.java b/axis-rt-core/src/main/java/org/apache/axis/i18n/ProjectResourceBundle.java index aa47c4866..dc4ee7d3a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/i18n/ProjectResourceBundle.java +++ b/axis-rt-core/src/main/java/org/apache/axis/i18n/ProjectResourceBundle.java @@ -115,10 +115,6 @@ public Enumeration getKeys() { * @param projectName The name of the project to which the class belongs. * It must be a proper prefix of the caller's package. * - * @param caller The calling class. - * This is used to get the package name to further construct - * the basename as well as to get the proper ClassLoader. - * * @param resourceName The name of the resource without the * ".properties" extension * @@ -170,10 +166,6 @@ public static ProjectResourceBundle getBundle(String projectName, * @param projectName The name of the project to which the class belongs. * It must be a proper prefix of the caller's package. * - * @param caller The calling class. - * This is used to get the package name to further construct - * the basename as well as to get the proper ClassLoader. - * * @param resourceName The name of the resource without the * ".properties" extension * @@ -236,10 +228,6 @@ public static ProjectResourceBundle getBundle(String projectName, * @param projectName The name of the project to which the class belongs. * It must be a proper prefix of the caller's package. * - * @param caller The calling class. - * This is used to get the package name to further construct - * the basename as well as to get the proper ClassLoader. - * * @param resourceName The name of the resource without the * ".properties" extension * diff --git a/axis-rt-core/src/main/java/org/apache/axis/i18n/RB.java b/axis-rt-core/src/main/java/org/apache/axis/i18n/RB.java index f9079085e..f26a7d615 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/i18n/RB.java +++ b/axis-rt-core/src/main/java/org/apache/axis/i18n/RB.java @@ -43,7 +43,7 @@ * (as returned by Local.getDefault()). As property files are found the * property values are merged so that inheritance is preserved.

    *

    The order of searching is:

    - * + *
      * basename + "_" + langage + "_" + country + "_" + variant
      * basename + "_" + langage + "_" + country
      * basename + "_" + langage
    @@ -51,7 +51,7 @@
      * basename + "_" + defaultLanguage + "_" + defaultCountry
      * basename + "_" + defaultLanguage
      * basename
    - * 
    + * *

    The basename is the name of the property file without the ".properties" * extension.

    *

    Properties will be cached for performance.

    @@ -106,7 +106,7 @@ public RB(Object caller, String name) throws MissingResourceException * @param caller The calling object. This is used to get the package name * to further construct the basename as well as to get the proper ClassLoader * @param name The name of the property file without the ".properties" extension - * @param local The local + * @param locale The locale */ public RB(Object caller, String name, Locale locale) throws MissingResourceException { @@ -170,9 +170,9 @@ public String getString(String key) throws MissingResourceException *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @return The message @@ -188,9 +188,9 @@ public String getString(String key, Object arg0) throws MissingResourceException *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -208,9 +208,9 @@ public String getString(String key, Object arg0, Object arg1) throws MissingReso *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -230,9 +230,9 @@ public String getString(String key, Object arg0, Object arg1, Object arg2) throw *

    Gets a string message from the resource bundle for the given key. The * message may contain variables that will be substituted with the given * arguments. Variables have the format:

    - * + *
           * This message has two variables: {0} and {1}
    -      * 
    + * * @param key The resource key * @param array An array of objects to place in corresponding variables * @return The message @@ -515,7 +515,7 @@ public static String getString(Object caller, String key, Object arg0, Object ar * Get a message from resource.properties from the package of the given object. * @param caller The calling object, used to get the package name and class loader * @param key The resource key - * @param array An array of objects to place in corresponding variables + * @param args An array of objects to place in corresponding variables * @return The formatted message */ public static String getString(Object caller, String key, Object[] args) @@ -642,7 +642,7 @@ public static String getString(Object caller, Locale locale, String key, Object * @param caller The calling object, used to get the package name and class loader * @param locale The locale * @param key The resource key - * @param array An array of objects to place in corresponding variables + * @param args An array of objects to place in corresponding variables * @return The formatted message */ public static String getString(Object caller, Locale locale, String key, Object[] args) diff --git a/axis-rt-core/src/main/java/org/apache/axis/message/MessageElement.java b/axis-rt-core/src/main/java/org/apache/axis/message/MessageElement.java index 9e20fcb5e..e6f59b95f 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/message/MessageElement.java +++ b/axis-rt-core/src/main/java/org/apache/axis/message/MessageElement.java @@ -68,8 +68,8 @@ * * Note: it was made Serializable to help users of Apache SOAP who had * exploited the serializability of the DOM tree to migrate to Axis. - * @todo implement the NodeList methods properly, with tests. */ +// TODO: implement the NodeList methods properly, with tests. public class MessageElement extends NodeImpl implements SOAPElement, Serializable, org.w3c.dom.NodeList, // ADD Nodelist Interfaces for SAAJ 1.2 @@ -378,7 +378,7 @@ public void setEndIndex(int endIndex) /** * get the attributes - * @return attributes. If this equals {@link NullAttributes.singleton} it is null + * @return attributes. If this equals {@link NullAttributes#singleton} it is null * */ public Attributes getAttributesEx() { return attributes; } @@ -1283,9 +1283,9 @@ public String toString() { /** * add a new namespace/prefix mapping * @param map new mapping to add - * @todo: this code does not verify that the mapping does not exist already; it - * is possible to create duplicate mappings. */ + // TODO: this code does not verify that the mapping does not exist already; it + // is possible to create duplicate mappings. public void addMapping(Mapping map) { if (namespaces == null) { namespaces = new ArrayList(); @@ -1421,11 +1421,11 @@ public SOAPElement addAttribute(Name attrName, String value) * @param uri * @return * @throws SOAPException for any {@link RuntimeException} caught - * @todo for some reason this logic catches all rutime exceptions and - * rethrows them as SOAPExceptions. This is unusual behavio, and should - * be looked at closely. * @see javax.xml.soap.SOAPElement#addNamespaceDeclaration(String, String) */ + // TODO: for some reason this logic catches all rutime exceptions and + // rethrows them as SOAPExceptions. This is unusual behavio, and should + // be looked at closely. public SOAPElement addNamespaceDeclaration(String prefix, String uri) throws SOAPException { @@ -1741,10 +1741,10 @@ public boolean hasAttributeNS(String namespace, String localName) { * @see org.w3c.dom.Element#getAttributeNode(String) * @param attrName * @return null, always. - * @todo Fix this for SAAJ 1.2 Implementation. marked as deprecated to warn people - * it is broken * @deprecated this is not implemented */ + // TODO: Fix this for SAAJ 1.2 Implementation. marked as deprecated to warn people + // it is broken public Attr getAttributeNode(String attrName) { return null; } @@ -1769,8 +1769,8 @@ public Attr removeAttributeNode(Attr oldAttr) throws DOMException { * @return newAttr * @throws DOMException * @deprecated this is not implemented - * @todo implement */ + // TODO: implement public Attr setAttributeNode(Attr newAttr) throws DOMException { return newAttr; } @@ -1778,11 +1778,11 @@ public Attr setAttributeNode(Attr newAttr) throws DOMException { /** * set an attribute as a node * @see org.w3c.dom.Element#setAttributeNodeNS(org.w3c.dom.Attr) - * @todo implement properly. * @param newAttr * @return null * @throws DOMException */ + // TODO: implement properly. public Attr setAttributeNodeNS(Attr newAttr) throws DOMException { //attributes. AttributesImpl attributes = makeAttributesEditable(); @@ -1826,8 +1826,8 @@ public NodeList getElementsByTagName(String tagName) { * @param namespaceURI namespace * @param localName name * @return string value or null if not found - * @todo: this could be refactored to use getAttributeValue() */ + // TODO: this could be refactored to use getAttributeValue() public String getAttributeNS(String namespaceURI, String localName) { if(namespaceURI == null) { namespaceURI = ""; diff --git a/axis-rt-core/src/main/java/org/apache/axis/message/NullAttributes.java b/axis-rt-core/src/main/java/org/apache/axis/message/NullAttributes.java index 0e3074edf..439830144 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/message/NullAttributes.java +++ b/axis-rt-core/src/main/java/org/apache/axis/message/NullAttributes.java @@ -6,7 +6,7 @@ * Null implementation of the Attributes interface. * * @author David Megginson - * @author Sam Ruby + * @author Sam Ruby (rubys@us.ibm.com) */ public class NullAttributes implements Attributes { diff --git a/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java b/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java index db918a6ae..090961094 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java +++ b/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java @@ -46,10 +46,12 @@ * deserializing the XML for a method call or return. In other words for * this XML: * - * - * Hello! - * 3.14159 - * + *
    + * <methodName>
    + *   <param1 xsi:type="xsd:string">Hello!</param1>
    + *   <param2>3.14159</param2>
    + * </methodName>
    + * 
    * * ...we'll get onStartChild() events for and . * diff --git a/axis-rt-core/src/main/java/org/apache/axis/message/SOAPDocumentImpl.java b/axis-rt-core/src/main/java/org/apache/axis/message/SOAPDocumentImpl.java index 85e4b1083..2be9d1154 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/message/SOAPDocumentImpl.java +++ b/axis-rt-core/src/main/java/org/apache/axis/message/SOAPDocumentImpl.java @@ -44,9 +44,9 @@ * SOAPDcoumentImpl implements the Document API for SOAPPART. At the moment, it * again delgate the XERCES DOM Implementation Here is my argument on it: I * guess that there is 3 way to implement this. - fully implement the DOM API - * here myself. => This is too much and duplicated work. - extends XERCES - * Implementation => this makes we are fixed to one Implementation - choose - * delgate depends on the user's parser preference => This is the practically + * here myself. => This is too much and duplicated work. - extends XERCES + * Implementation => this makes we are fixed to one Implementation - choose + * delgate depends on the user's parser preference => This is the practically * best solution I have now * * @author Heejune Ahn (cityboy@tmax.co.kr) @@ -75,7 +75,7 @@ public SOAPDocumentImpl(SOAPPart sp) { } /** - * @todo : link with SOAP + * TODO: link with SOAP * * @return */ @@ -100,7 +100,7 @@ public Element getDocumentElement() { * based on the tagName, we will make different kind SOAP Elements Instance * Is really we can determine the Type by the Tagname??? * - * @todo : verify this method + * TODO: verify this method * * @param tagName * @return @throws @@ -147,11 +147,11 @@ public org.w3c.dom.Element createElement(String tagName) /** * - * Creates an empty DocumentFragment object. @todo not - * implemented yet + * Creates an empty DocumentFragment object. * * @return A new DocumentFragment. */ + // TODO: not implemented yet public DocumentFragment createDocumentFragment() { return delegate.createDocumentFragment(); } @@ -219,7 +219,7 @@ public ProcessingInstruction createProcessingInstruction( } /** - * @todo: How Axis will maintain the Attribute representation ? + * TODO: How Axis will maintain the Attribute representation ? */ public Attr createAttribute(String name) throws DOMException { return delegate.createAttribute(name); @@ -634,7 +634,7 @@ public boolean hasChildNodes() { } /** - * @todo: Study it more.... to implement the deep mode correctly. + * TODO: Study it more.... to implement the deep mode correctly. * */ public Node cloneNode(boolean deep) { @@ -642,7 +642,7 @@ public Node cloneNode(boolean deep) { } /** - * @todo: is it OK to simply call the superclass? + * TODO: is it OK to simply call the superclass? * */ public void normalize() { diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AdminServlet.java b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AdminServlet.java index 77527692e..7cfc2a598 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AdminServlet.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AdminServlet.java @@ -41,9 +41,6 @@ * * @author Glen Daniels (gdaniels@apache.org) * @author Steve Loughran - * xdoclet tags are not active yet; keep web.xml in sync - * @web.servlet name="AdminServlet" display-name="Axis Admin Servlet" load-on-startup="100" - * @web.servlet-mapping url-pattern="/servlet/AdminServlet" */ public class AdminServlet extends AxisServletBase { diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AutoRegisterServlet.java b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AutoRegisterServlet.java index ad02cfdba..745b5d4a9 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AutoRegisterServlet.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AutoRegisterServlet.java @@ -41,8 +41,6 @@ /** * Servlet that autoregisters * @author Steve Loughran - * xdoclet tags are not active yet; keep web.xml in sync - * @web.servlet name="AutoRegisterServlet" display-name="Axis Autoregister Servlet" load-on-startup="30" */ public class AutoRegisterServlet extends AxisServletBase { diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisHTTPSessionListener.java b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisHTTPSessionListener.java index 4d7a8e82d..f91d67e04 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisHTTPSessionListener.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisHTTPSessionListener.java @@ -26,7 +26,6 @@ /** * A simple listener for Servlet 2.3 session lifecycle events. - * @web.listener * @author Glen Daniels (gdaniels@apache.org) */ public class AxisHTTPSessionListener implements HttpSessionListener { diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServlet.java b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServlet.java index 36db9d035..8e2515485 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServlet.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServlet.java @@ -63,11 +63,6 @@ * To change the location of the services, change url-pattern in web.xml and * set parameter axis.servicesPath in server-config.wsdd. For more information see * Axis Reference Guide. - * - * @web.servlet name="AxisServlet" display-name="Apache-Axis Servlet" - * @web.servlet-mapping url-pattern="/servlet/AxisServlet" - * @web.servlet-mapping url-pattern="*.jws" - * @web.servlet-mapping url-pattern="/services/*" */ public class AxisServlet extends AxisServletBase { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServletBase.java b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServletBase.java index 75f2cfe4a..573a53d57 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServletBase.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/http/AxisServletBase.java @@ -117,7 +117,7 @@ public void init() throws javax.servlet.ServletException { * Destroy method is called when the servlet is going away. Pass this * down to the AxisEngine to let it clean up... But don't create the * engine if it hasn't already been created. - * @todo Fixme for multiple servlets. + * TODO: Fixme for multiple servlets. * This has always been slightly broken * (the context's copy stayed around), but now we have extracted it into * a superclass it is blatantly broken. @@ -155,7 +155,7 @@ public AxisServer getEngine() throws AxisFault { /** * This is a uniform method of initializing AxisServer in a servlet * context. - * @todo add catch for not being able to cast the context attr to an + * TODO: add catch for not being able to cast the context attr to an * engine and reinit the engine if so. */ public static AxisServer getEngine(HttpServlet servlet) throws AxisFault diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalSender.java b/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalSender.java index 1e9cec04c..d39d15615 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalSender.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalSender.java @@ -34,7 +34,7 @@ /** * This is meant to be used on a SOAP Client to call a SOAP server. * - * @author Sam Ruby + * @author Sam Ruby (rubys@us.ibm.com) */ public class LocalSender extends BasicHandler { protected static Log log = diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Day.java b/axis-rt-core/src/main/java/org/apache/axis/types/Day.java index e3db2be37..06fbe5351 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Day.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Day.java @@ -22,7 +22,7 @@ /** * Implementation of the XML Schema type gDay * - * @author Tom Jordahl + * @author Tom Jordahl (tomj@macromedia.com) * @see XML Schema 3.2.13 */ public class Day implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java b/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java index e726d7edd..817836571 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java @@ -24,7 +24,7 @@ * Implementation of the XML Schema type duration. Duration supports a minimum * fractional second precision of milliseconds. * - * @author Wes Moulder + * @author Wes Moulder (wes@themindelectric.com) * @author Dominik Kacprzak (dominik@opentoolbox.com) * @see XML Schema 3.2.6 */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Entities.java b/axis-rt-core/src/main/java/org/apache/axis/types/Entities.java index 1b7800537..0ce90f617 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Entities.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Entities.java @@ -20,7 +20,7 @@ /** * Custom class for supporting XSD data type Entities * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) * @see XML Schema 3.3.12 ENTITIES */ public class Entities extends NCName { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Entity.java b/axis-rt-core/src/main/java/org/apache/axis/types/Entity.java index 07e1746db..0bb4f854f 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Entity.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Entity.java @@ -20,7 +20,7 @@ /** * Custom class for supporting XSD data type Entity * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) * @see XML Schema 3.3.11 ENTITY */ public class Entity extends NCName { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/HexBinary.java b/axis-rt-core/src/main/java/org/apache/axis/types/HexBinary.java index 55aef0392..39ea253b6 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/HexBinary.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/HexBinary.java @@ -22,7 +22,7 @@ /** * Custom class for supporting primitive XSD data type hexBinary. * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class HexBinary extends Object implements java.io.Serializable{ diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/IDRef.java b/axis-rt-core/src/main/java/org/apache/axis/types/IDRef.java index e7b9ab6a8..de26b503e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/IDRef.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/IDRef.java @@ -20,7 +20,7 @@ /** * Custom class for supporting XSD data type IDRef * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) * @see XML Schema 3.3.10 IDREFS */ public class IDRef extends NCName { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/IDRefs.java b/axis-rt-core/src/main/java/org/apache/axis/types/IDRefs.java index 557296757..c483e43d4 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/IDRefs.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/IDRefs.java @@ -23,7 +23,7 @@ /** * Custom class for supporting XSD data type IDRefs * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) * @see XML Schema 3.3.10 IDREFS */ public class IDRefs extends NCName { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Id.java b/axis-rt-core/src/main/java/org/apache/axis/types/Id.java index 7bfb1ddcc..2b8f3508b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Id.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Id.java @@ -21,7 +21,7 @@ * Custom class for supporting XSD data type ID * The base type of Id is NCName. * - * @author Eddie Pick + * @author Eddie Pick (eddie@pick.eu.org) * @see XML Schema 3.3.8 */ public class Id extends NCName { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Language.java b/axis-rt-core/src/main/java/org/apache/axis/types/Language.java index b24a1b630..fb0e0339a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Language.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Language.java @@ -26,7 +26,7 @@ * as defined in the language identification section of [XML 1.0 (Second Edition)]. * The base type of language is token. * - * @author Eddie Pick + * @author Eddie Pick (eddie@pick.eu.org) * @see XML Schema 3.3.3 */ public class Language extends Token { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Month.java b/axis-rt-core/src/main/java/org/apache/axis/types/Month.java index b1125d07f..a73d7fc18 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Month.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Month.java @@ -22,7 +22,7 @@ /** * Implementation of the XML Schema type gMonth * - * @author Tom Jordahl + * @author Tom Jordahl (tomj@macromedia.com) * @see XML Schema 3.2.14 */ public class Month implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/MonthDay.java b/axis-rt-core/src/main/java/org/apache/axis/types/MonthDay.java index c23fc7dc5..c3ed7468e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/MonthDay.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/MonthDay.java @@ -22,7 +22,7 @@ /** * Implementation of the XML Schema type gMonthDay * - * @author Tom Jordahl + * @author Tom Jordahl (tomj@macromedia.com) * @see XML Schema 3.2.12 */ public class MonthDay implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NCName.java b/axis-rt-core/src/main/java/org/apache/axis/types/NCName.java index d011c947f..cea8b9359 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NCName.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NCName.java @@ -24,7 +24,7 @@ * NCName represents XML "non-colonized" Names * The base type of NCName is Name. * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.7 * @see NCName Production */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NMToken.java b/axis-rt-core/src/main/java/org/apache/axis/types/NMToken.java index ed9ffd252..f4cffd8c2 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NMToken.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NMToken.java @@ -26,7 +26,7 @@ * is the set of tokens that match the Nmtoken production * in [XML 1.0 (Second Edition)]. * The base type of NMTOKEN is token. - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.4 */ public class NMToken extends Token { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NMTokens.java b/axis-rt-core/src/main/java/org/apache/axis/types/NMTokens.java index 14f293255..7cb5b7f7d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NMTokens.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NMTokens.java @@ -23,7 +23,7 @@ /** * Custom class for supporting XSD data type NMTokens * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class NMTokens extends NCName { private NMToken[] tokens; diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Name.java b/axis-rt-core/src/main/java/org/apache/axis/types/Name.java index ed80c81cf..4fc1d6fb2 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Name.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Name.java @@ -25,7 +25,7 @@ * the set of all strings which match the Name production * of [XML 1.0 (Second Edition)]. * The base type of Name is token. - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.6 */ public class Name extends Token { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NegativeInteger.java b/axis-rt-core/src/main/java/org/apache/axis/types/NegativeInteger.java index a09eb1550..6ff352f79 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NegativeInteger.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NegativeInteger.java @@ -30,7 +30,7 @@ * negativeInteger is the infinite set {...,-2,-1}. * The base type of negativeInteger is nonPositiveInteger. * - * @author Chris Haddad + * @author Chris Haddad (haddadc@apache.org) * @see XML Schema 3.3.15 */ public class NegativeInteger extends NonPositiveInteger { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NonNegativeInteger.java b/axis-rt-core/src/main/java/org/apache/axis/types/NonNegativeInteger.java index 691e602fb..56087c87f 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NonNegativeInteger.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NonNegativeInteger.java @@ -24,7 +24,7 @@ /** * Custom class for supporting primitive XSD data type nonNegativeInteger * - * @author Russell Butek + * @author Russell Butek (butek@us.ibm.com) * @see XML Schema 3.3.20 */ public class NonNegativeInteger extends BigInteger { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NonPositiveInteger.java b/axis-rt-core/src/main/java/org/apache/axis/types/NonPositiveInteger.java index 069e7ee36..d1bb29343 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NonPositiveInteger.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NonPositiveInteger.java @@ -29,7 +29,7 @@ * concept of the non-positive integers. The value space of * nonPositiveInteger is the infinite set {...,-2,-1,0}. * - * @author Chris Haddad XML Schema 3.3.14 */ public class NonPositiveInteger extends BigInteger { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java b/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java index 6831a1e81..dda08a971 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java @@ -22,7 +22,7 @@ * normalizedString represents white space normalized strings. * The base type of normalizedString is string. * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema Part 2: Datatypes 3.3.1 */ public class NormalizedString extends Object implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Notation.java b/axis-rt-core/src/main/java/org/apache/axis/types/Notation.java index 256d079a8..53c531d35 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Notation.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Notation.java @@ -24,7 +24,7 @@ /** * Custom class for supporting XSD data type NOTATION. * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) * @see XML Schema Part 1: 3.12 Notation Declarations */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/PositiveInteger.java b/axis-rt-core/src/main/java/org/apache/axis/types/PositiveInteger.java index e63d77375..dc98b7f2e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/PositiveInteger.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/PositiveInteger.java @@ -28,7 +28,7 @@ * This results in the standard mathematical concept of the positive integer numbers. The value space * of positiveInteger is the infinite set {1,2,...}. * - * @author Chris Haddad + * @author Chris Haddad (haddadc@apache.org) * @see XML Schema 3.3.25 */ public class PositiveInteger extends NonNegativeInteger { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Schema.java b/axis-rt-core/src/main/java/org/apache/axis/types/Schema.java index 69dcd7cc7..7a20aa2c6 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Schema.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Schema.java @@ -19,7 +19,7 @@ /** * Custom class for supporting XSD schema * - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class Schema implements java.io.Serializable { private org.apache.axis.message.MessageElement[] _any; diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Token.java b/axis-rt-core/src/main/java/org/apache/axis/types/Token.java index 821bf8a5a..d530e3030 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Token.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Token.java @@ -22,7 +22,7 @@ * token represents tokenized strings. * The base type of token is normalizedString. * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.2 */ public class Token extends NormalizedString { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java index d42361cf6..481ddce08 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java @@ -21,7 +21,7 @@ /** * Custom class for supporting primitive XSD data type UnsignedByte * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.24 */ public class UnsignedByte extends UnsignedShort { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedInt.java b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedInt.java index 58bb908d0..9b53d3992 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedInt.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedInt.java @@ -22,7 +22,7 @@ /** * Custom class for supporting primitive XSD data type UnsignedInt * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.22 */ public class UnsignedInt extends java.lang.Number implements java.lang.Comparable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedLong.java b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedLong.java index a545ce5c4..4332d0644 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedLong.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedLong.java @@ -22,7 +22,7 @@ /** * Custom class for supporting primitive XSD data type UnsignedLong * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.21 */ public class UnsignedLong extends java.lang.Number diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedShort.java b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedShort.java index 3939be065..9da91264c 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedShort.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedShort.java @@ -20,7 +20,7 @@ /** * Custom class for supporting primitive XSD data type UnsignedShort * - * @author Chris Haddad + * @author Chris Haddad (chaddad@cobia.net) * @see XML Schema 3.3.23 */ public class UnsignedShort extends UnsignedInt { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Year.java b/axis-rt-core/src/main/java/org/apache/axis/types/Year.java index 70aae5df0..94669a094 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Year.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Year.java @@ -22,7 +22,7 @@ /** * Implementation of the XML Schema type gYear * - * @author Tom Jordahl + * @author Tom Jordahl (tomj@macromedia.com) * @see XML Schema 3.2.11 */ public class Year implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/YearMonth.java b/axis-rt-core/src/main/java/org/apache/axis/types/YearMonth.java index 2e7769857..e76db1e82 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/YearMonth.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/YearMonth.java @@ -22,7 +22,7 @@ /** * Implementation of the XML Schema type gYearMonth * - * @author Tom Jordahl + * @author Tom Jordahl (tomj@macromedia.com) * @see XML Schema 3.2.10 */ public class YearMonth implements java.io.Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/BeanPropertyDescriptor.java b/axis-rt-core/src/main/java/org/apache/axis/utils/BeanPropertyDescriptor.java index f7edf1d04..8efd8609a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/BeanPropertyDescriptor.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/BeanPropertyDescriptor.java @@ -38,7 +38,7 @@ * concerned, mostly involving the fact that we manage the arrays here * rather than relying on the value type class to do it itself. * - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) * @author Glen Daniels (gdaniels@apache.org) **/ public class BeanPropertyDescriptor diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/ByteArrayOutputStream.java b/axis-rt-core/src/main/java/org/apache/axis/utils/ByteArrayOutputStream.java index d80deac16..3901a4359 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/ByteArrayOutputStream.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/ByteArrayOutputStream.java @@ -25,14 +25,14 @@ * This class implements an output stream in which the data is * written into a byte array. The buffer automatically grows as data * is written to it. - *

    + *

    * The data can be retrieved using toByteArray() and * toString(). - *

    + *

    * Closing a ByteArrayOutputStream has no effect. The methods in * this class can be called after the stream has been closed without * generating an IOException. - *

    + *

    * This is an alternative implementation of the java.io.ByteArrayOutputStream * class. The original implementation only allocates 32 bytes at the beginning. * As this class is designed for heavy duty it starts at 1024 bytes. In contrast diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/IOUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/IOUtils.java index 411b1f9aa..84075d7bc 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/IOUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/IOUtils.java @@ -44,7 +44,7 @@ public static int readFully(InputStream in, byte[] b) * Same as the normal in.read(b, off, len), but tries to ensure that * the entire len number of bytes is read. *

    - * @returns the number of bytes read, or -1 if the end of file is + * @return the number of bytes read, or -1 if the end of file is * reached before any bytes are read */ public static int readFully(InputStream in, byte[] b, int off, int len) diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/IdentityHashMap.java b/axis-rt-core/src/main/java/org/apache/axis/utils/IdentityHashMap.java index 50099c7fd..264bbafda 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/IdentityHashMap.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/IdentityHashMap.java @@ -12,7 +12,7 @@ /** * IdentityHashMap similar to JDK1.4's java.util.IdentityHashMap - * @author Davanum Srinivas + * @author Davanum Srinivas (dims@yahoo.com) */ public class IdentityHashMap extends HashMap { diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/JavaUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/JavaUtils.java index 63803613e..7375d9eb3 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/JavaUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/JavaUtils.java @@ -225,8 +225,8 @@ public interface ConvertCache { /** Utility function to convert an Object to some desired Class. * * Right now this works for: - * arrays <-> Lists, - * Holders <-> held values + * arrays <-> Lists, + * Holders <-> held values * @param arg the array to convert * @param destClass the actual class we want */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java b/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java index 8dcfc6ac6..177566d83 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java @@ -55,8 +55,6 @@ public class Messages { /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @return The formatted message */ @@ -68,8 +66,6 @@ public static String getMessage(String key) /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param arg0 The argument to place in variable {0} * @return The formatted message @@ -82,8 +78,6 @@ public static String getMessage(String key, String arg0) /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -97,8 +91,6 @@ public static String getMessage(String key, String arg0, String arg1) /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -113,8 +105,6 @@ public static String getMessage(String key, String arg0, String arg1, String arg /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -130,8 +120,6 @@ public static String getMessage(String key, String arg0, String arg1, String arg /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param arg0 The argument to place in variable {0} * @param arg1 The argument to place in variable {1} @@ -148,8 +136,6 @@ public static String getMessage(String key, String arg0, String arg1, String arg /** * Get a message from resource.properties from the package of the given object. - * @param caller The calling object, used to get the package name and class loader - * @param locale The locale * @param key The resource key * @param array An array of objects to place in corresponding variables * @return The formatted message diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/NSStack.java b/axis-rt-core/src/main/java/org/apache/axis/utils/NSStack.java index 503af660a..6fcc6829e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/NSStack.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/NSStack.java @@ -200,11 +200,13 @@ public void add(String namespaceURI, String prefix) { * up the stack IF the prefix which was used has been repeated further * down the stack. I.e.: * - * - * + *

    +     * <pre:outer xmlns:pre="namespace">
    +     *   <pre:inner xmlns:pre="otherNamespace">
          *      *here's where we're looking*
    -     *   
    -     * 
    +     *   </pre:inner>
    +     * </pre:outer>
    +     * 
    * * If we look for a prefix for "namespace" at the indicated spot, we won't * find one because "pre" is actually mapped to "otherNamespace" diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java index 7fa7c838a..e5fc76a62 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/StringUtils.java @@ -387,7 +387,7 @@ public static void escapeNumericChar(Writer out, String str) *

    Unescapes numeric character referencs found in the String.

    * *

    For example, it will return a unicode string which means the specified numeric - * character references looks like "ようこそ".

    + * character references looks like "&#x3088;&#x3046;&#x3053;&#x305d;".

    * * @param str the String to unescape, may be null * @return a new unescaped String, null if null string input @@ -412,7 +412,7 @@ public static String unescapeNumericChar(String str) { * Writer.

    * *

    For example, it will return a unicode string which means the specified numeric - * character references looks like "ようこそ".

    + * character references looks like "&#x3088;&#x3046;&#x3053;&#x305d;".

    * *

    A null string input has no effect.

    * diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/WSDLUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/WSDLUtils.java index 4886fdcc1..2f0f0a938 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/WSDLUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/WSDLUtils.java @@ -31,7 +31,7 @@ public class WSDLUtils { LogFactory.getLog(WSDLUtils.class.getName()); /** - * Return the endpoint address from a tag + * Return the endpoint address from a <soap:address location="..."> tag */ public static String getAddressFromPort(Port p) { // Get the endpoint for a port diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaClass.java b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaClass.java index 8c20978e3..a3c271373 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaClass.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaClass.java @@ -23,7 +23,7 @@ /** * A simple cache of previously loaded classes, and their methods. * - * @author Sam Ruby + * @author Sam Ruby (rubys@us.ibm.com) */ public class JavaClass implements Serializable { diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaMethod.java b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaMethod.java index cf99fbbd4..f2c2a5864 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaMethod.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/JavaMethod.java @@ -22,7 +22,7 @@ /** * A simple cache of previously loaded methods * - * @author Sam Ruby + * @author Sam Ruby (rubys@us.ibm.com) */ public class JavaMethod { @@ -56,7 +56,6 @@ public JavaMethod(Class jc, String name) { /** * Lookup a method based on name. This method returns an array just in * case there is more than one. - * @param name name of method */ public Method[] getMethod() { return methods; diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/MethodCache.java b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/MethodCache.java index dca17f0b7..7eb25e445 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/cache/MethodCache.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/cache/MethodCache.java @@ -28,8 +28,8 @@ * cache for performance reasons. * This class is a singleton - so use getInstance to get an instance of it. * - * @author Davanum Srinivas - * @author Sebastian Dietrich + * @author Davanum Srinivas (dims@yahoo.com) + * @author Sebastian Dietrich (sebastian.dietrich@anecon.com) */ public class MethodCache { /** diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Generator.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Generator.java index 27ca71026..8a2db3ffc 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Generator.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Generator.java @@ -20,7 +20,7 @@ /** * This is the interface for all writers. All writers, very simply, must * support a write method. - *

    + *

    * Writer and WriterFactory are part of the Writer framework. Folks who want * to use the emitter to generate stuff from WSDL should do 3 things: * 1. Write implementations of the Writer interface, one each for PortType, diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java index babe1df06..0a6e15431 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/gen/Parser.java @@ -308,7 +308,7 @@ public String getWSDLURI() { /** * Parse a WSDL at a given URL. - *

    + *

    * This method will time out after the number of milliseconds specified * by our timeoutms member. * diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java index 3e88bd50d..7b20acaab 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java @@ -27,7 +27,7 @@ public class BackslashUtil implements java.io.Serializable { /** - * @param QName[local] that may contain unescaped backslashes + * @param suspectQName QName[local] that may contain unescaped backslashes * @return QName[local] w/ no backslashes */ @@ -40,7 +40,7 @@ public static QName getQNameWithBackslashlessLocal(QName suspectQName) { } /** - * @param QName[local] which may contain unescaped backslashes + * @param suspectQName QName[local] which may contain unescaped backslashes * @return QName[local] w/ escaped backslashes */ diff --git a/pom.xml b/pom.xml index 798433327..43dcf931a 100644 --- a/pom.xml +++ b/pom.xml @@ -184,6 +184,7 @@ maven-javadoc-plugin + 3.0.0 1.4 From f7245070618c048d7c052b162e666e91c00d00bc Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 18 Feb 2018 17:55:47 +0000 Subject: [PATCH 073/133] Fix Javadoc problems. --- .../org/apache/axis/client/AdminClient.java | 4 +- .../org/apache/axis/client/AxisClient.java | 2 +- .../java/org/apache/axis/client/Call.java | 6 +-- .../DefaultHTTPTransportClientProperties.java | 2 +- .../components/net/SocketFactoryFactory.java | 2 +- .../axis/configuration/XMLStringProvider.java | 14 +++--- .../axis/deployment/wsdd/WSDDDeployment.java | 4 +- .../axis/deployment/wsdd/WSDDOperation.java | 8 ++-- .../deployment/wsdd/WSDDTargetedChain.java | 1 - .../axis/description/JavaServiceDesc.java | 2 +- .../axis/encoding/DeserializationContext.java | 6 +-- .../axis/encoding/DeserializerFactory.java | 4 +- .../axis/encoding/SerializationContext.java | 16 +++---- .../org/apache/axis/encoding/Serializer.java | 4 +- .../axis/encoding/SerializerFactory.java | 4 +- .../encoding/TypeMappingRegistryImpl.java | 34 ++++++-------- .../axis/encoding/ser/MapDeserializer.java | 6 +-- .../encoding/ser/SimpleListSerializer.java | 2 +- .../org/apache/axis/message/RPCHandler.java | 2 +- .../axis/providers/java/EJBProvider.java | 3 +- .../servlet/ServletSecurityProvider.java | 2 - .../simple/SimpleSecurityProvider.java | 2 - .../axis/transport/local/LocalTransport.java | 4 +- .../java/org/apache/axis/types/Duration.java | 2 +- .../main/java/org/apache/axis/types/Id.java | 2 +- .../apache/axis/types/NormalizedString.java | 2 +- .../main/java/org/apache/axis/types/URI.java | 4 +- .../org/apache/axis/types/UnsignedByte.java | 2 +- .../java/org/apache/axis/utils/Messages.java | 2 +- .../org/apache/axis/wsdl/fromJava/Types.java | 8 ++-- .../axis/wsdl/symbolTable/BackslashUtil.java | 2 +- .../axis/wsdl/symbolTable/BindingEntry.java | 2 +- .../wsdl/symbolTable/CollectionElement.java | 4 +- .../axis/wsdl/symbolTable/CollectionType.java | 4 +- .../axis/wsdl/symbolTable/ElementDecl.java | 2 +- .../axis/wsdl/symbolTable/FaultInfo.java | 8 ++-- .../axis/wsdl/symbolTable/SchemaUtils.java | 46 +++++++++---------- .../axis/wsdl/symbolTable/ServiceEntry.java | 5 -- .../axis/wsdl/symbolTable/SymbolTable.java | 22 ++++----- .../axis/wsdl/symbolTable/TypeEntry.java | 28 +++++------ .../apache/axis/wsdl/symbolTable/Utils.java | 10 ++-- 41 files changed, 136 insertions(+), 153 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/AdminClient.java b/axis-rt-core/src/main/java/org/apache/axis/client/AdminClient.java index 319d1459b..39faaaace 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/AdminClient.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/AdminClient.java @@ -107,7 +107,7 @@ private static String getUsageInfo() /** * Construct an admin client w/o a logger. * If the client cannot create a call object, then it does not throw an exception. - * Instead it prints a message to {@link System.err}. + * Instead it prints a message to {@link System#err}. * This is for 'historical reasons' */ public AdminClient() @@ -152,7 +152,7 @@ private void initAdminClient() throws ServiceException { /** - * External access to our CallCall object. * This will be null if the non-excepting constructor was used * and the construction failed. * @return the Call object this instance uses diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/AxisClient.java b/axis-rt-core/src/main/java/org/apache/axis/client/AxisClient.java index 1d64c9ee5..199fd8f76 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/AxisClient.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/AxisClient.java @@ -35,7 +35,7 @@ /** * Provides the equivalent of an "Axis engine" on the client side. - * Subclasses hardcode initialization & setup logic for particular + * Subclasses hardcode initialization & setup logic for particular * client-side transports. * * @author Rob Jellinghaus (robj@unrealities.com) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/Call.java b/axis-rt-core/src/main/java/org/apache/axis/client/Call.java index 9a0ce97fa..a71362ace 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/Call.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/Call.java @@ -2340,7 +2340,7 @@ public void registerTypeMapping(Class javaType, * invoked method. If any of these objects are RPCParams, * Axis will use the embedded name of the RPCParam as the * name of the parameter. Otherwise, we will serialize - * each argument as an XML element called "arg". + * each argument as an XML element called "arg<n>". * @return a deserialized Java Object containing the return value * @exception AxisFault */ @@ -2382,7 +2382,7 @@ public Object invoke(String namespace, String method, Object[] args) * invoked method. If any of these objects are RPCParams, * Axis will use the embedded name of the RPCParam as the * name of the parameter. Otherwise, we will serialize - * each argument as an XML element called "arg". + * each argument as an XML element called "arg<n>". * @return a deserialized Java Object containing the return value * @exception AxisFault */ @@ -2893,7 +2893,7 @@ public Service getService() * * Set the service so that it defers missing property gets to the * Call. So when client-side Handlers get at the MessageContext, - * the property scoping will be MC -> SOAPService -> Call + * the property scoping will be MC -> SOAPService -> Call */ public void setSOAPService(SOAPService service) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java index 45310bc1c..44784bd1b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java @@ -58,7 +58,7 @@ public String getNonProxyHosts() { } /** - * @see org.apache.axis.components.net.TransportClientProperties#getPort() + * @see org.apache.axis.components.net.TransportClientProperties#getProxyPort() */ public String getProxyPort() { if (proxyPort == null) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/SocketFactoryFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/SocketFactoryFactory.java index 9de2796fe..0d50f7347 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/SocketFactoryFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/SocketFactoryFactory.java @@ -56,7 +56,7 @@ public class SocketFactoryFactory { /** * Returns a copy of the environment's default socket factory. * - * @param protocol Today this only supports "http" & "https". + * @param protocol Today this only supports "http" & "https". * @param attributes * * @return diff --git a/axis-rt-core/src/main/java/org/apache/axis/configuration/XMLStringProvider.java b/axis-rt-core/src/main/java/org/apache/axis/configuration/XMLStringProvider.java index 6c0a33c91..b30aa4b29 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/configuration/XMLStringProvider.java +++ b/axis-rt-core/src/main/java/org/apache/axis/configuration/XMLStringProvider.java @@ -28,14 +28,14 @@ * This provider does not write configuration to persistent storage. * * Example of usage: - * new XMLStringProvider(""); + * ".MsgProvider\"/></handlers><services><service name=\"Adm" + + * "inService\" pivot=\"MsgDispatcher\"><option name=\"class" + + * "Name\" value=\"org.apache.axis.utils.Admin\"/><option na" + + * "me=\"allowedMethods\" value=\"AdminService\"/><option na" + + * "me=\"enableRemoteAdmin\" value=\"false\"/></service></se" + + * "rvices></engineConfig>"); * * @author Glen Daniels (gdaniels@apache.org) */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java index 7dbc97cb4..f19612056 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java +++ b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDDeployment.java @@ -57,7 +57,7 @@ public class WSDDDeployment private HashMap typeMappings = new HashMap(); private WSDDGlobalConfiguration globalConfig = null; /** - * Mapping of namespaces -> services + * Mapping of namespaces -> services */ private HashMap namespaceToServices = new HashMap(); private AxisEngine engine; @@ -476,7 +476,7 @@ public void registerNamespaceForService(String namespace, } /** - * Remove a namespace -> WSDDService mapping. + * Remove a namespace -> WSDDService mapping. * * @param namespace the namespace URI to unmap */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDOperation.java b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDOperation.java index be39d9635..db6b774d7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDOperation.java +++ b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDOperation.java @@ -35,9 +35,9 @@ * Parse the WSDD operation elements. * * Example: - * - * - * + * <operation name="name" qname="element QName" returnQName="QName"> + * <parameter ... /> + * </operation> * */ public class WSDDOperation extends WSDDElement @@ -55,7 +55,7 @@ public WSDDOperation(OperationDesc desc) { /** * Constructor from XML * - * @param e (Element) the element + * @param e (Element) the <operation> element * @param parent our ServiceDesc. * @throws WSDDException XXX */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTargetedChain.java b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTargetedChain.java index 273006178..30777300d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTargetedChain.java +++ b/axis-rt-core/src/main/java/org/apache/axis/deployment/wsdd/WSDDTargetedChain.java @@ -136,7 +136,6 @@ public void setPivotQName(QName pivotQName) { /** * - * @param pivot XXX * @param registry XXX * @return XXX * @throws ConfigurationException XXX diff --git a/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java b/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java index efc668ef8..2d03bc9ee 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java +++ b/axis-rt-core/src/main/java/org/apache/axis/description/JavaServiceDesc.java @@ -141,7 +141,7 @@ public class JavaServiceDesc implements ServiceDesc { /** Method names for which we have completed any introspection necessary */ private ArrayList completedNames = new ArrayList(); - /** Our typemapping for resolving Java<->XML type issues */ + /** Our typemapping for resolving Java<->XML type issues */ private TypeMapping tm = null; private TypeMappingRegistry tmr = null; diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializationContext.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializationContext.java index dc7b9af45..dccf3dba7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializationContext.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializationContext.java @@ -346,7 +346,7 @@ public String getNamespaceURI(String prefix) } /** - * Construct a QName from a string of the form : + * Construct a QName from a string of the form <prefix>:<localName> * @param qNameStr is the prefixed name from the xml text * @return QName */ @@ -670,8 +670,8 @@ public void addObjectById(String id, Object obj) } /** - * During deserialization, an element with an href=#id - * may be encountered before the element defining id=id is + * During deserialization, an element with an href=#id<int> + * may be encountered before the element defining id=id<int> is * read. In these cases, the getObjectByRef method above will * return null. The deserializer is placed in a table keyed * by href (a fixup table). After the element id is processed, diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializerFactory.java index dbfd6fdf5..f2c619515 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/DeserializerFactory.java @@ -24,8 +24,8 @@ * of the following methods: * * public static create(Class javaType, QName xmlType) - * public (Class javaType, QName xmlType) - * public () + * public <constructor>(Class javaType, QName xmlType) + * public <constructor>() * * The deployment code will attempt to invoke these methods in the above order. * The xmlType, javaType arguments are filled in with the values supplied during the diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java index 9c39adda3..0cf0ac907 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java @@ -79,7 +79,7 @@ * and element stacks. * * @author Glen Daniels (gdaniels@apache.org) - * @author Rich Scheuerle + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class SerializationContext implements javax.xml.rpc.encoding.SerializationContext { @@ -406,7 +406,7 @@ public TypeMappingRegistry getTypeMappingRegistry() { * return a valid prefix - if the given URI is already mapped in this * serialization, we return the previous prefix. If it is not mapped, * we will add a new mapping and return a generated prefix of the form - * "ns". + * "ns<num>". * @param uri is the namespace uri * @return prefix */ @@ -419,7 +419,7 @@ public String getPrefixForURI(String uri) * Get a prefix for the given namespace URI. If one has already been * defined in this serialization, use that. Otherwise, map the passed * default prefix to the URI, and return that. If a null default prefix - * is passed, use one of the form "ns" + * is passed, use one of the form "ns<num>" */ public String getPrefixForURI(String uri, String defaultPrefix) { @@ -430,7 +430,7 @@ public String getPrefixForURI(String uri, String defaultPrefix) * Get a prefix for the given namespace URI. If one has already been * defined in this serialization, use that. Otherwise, map the passed * default prefix to the URI, and return that. If a null default prefix - * is passed, use one of the form "ns" + * is passed, use one of the form "ns<num>" */ public String getPrefixForURI(String uri, String defaultPrefix, boolean attribute) { @@ -522,7 +522,7 @@ public boolean isEncoded() { } /** - * Convert QName to a string of the form : + * Convert QName to a string of the form <prefix>:<localpart> * @param qName * @return prefixed qname representation for serialization. */ @@ -571,7 +571,7 @@ public String qName2String(QName qName) } /** - * Convert attribute QName to a string of the form : + * Convert attribute QName to a string of the form <prefix>:<localpart> * There are slightly different rules for attributes: * - There is no default namespace * - any attribute in a namespace must have a prefix @@ -819,7 +819,7 @@ public void serialize(QName elemQName, * @param attributes are additional attributes * @param value is the object to serialize * @param xmlType is the qname of the type or null. - * @param javaType is the java type of the value + * @param javaClass is the java type of the value * @param sendNull determines whether to send null values. * @param sendType determines whether to set xsi:type attribute. */ @@ -1276,7 +1276,7 @@ public void writeString(String string) /** * Convenience operation to write out (to Writer) the String - * properly encoded with xml entities (like &) + * properly encoded with xml entities (like &amp;) * @param string is the String to write. */ public void writeSafeString(String string) diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/Serializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/Serializer.java index 9bbc961ab..53b6d9541 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/Serializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/Serializer.java @@ -29,8 +29,8 @@ * An Axis compliant Serializer must provide one or more * of the following methods: * - * public (Class javaType, QName xmlType) - * public () + * public <constructor>(Class javaType, QName xmlType) + * public <constructor>() * * This will allow for construction of generic factories that introspect the class * to determine how to construct a deserializer. diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializerFactory.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializerFactory.java index f49560d9c..590e2f498 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializerFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializerFactory.java @@ -24,8 +24,8 @@ * of the following methods: * * public static create(Class javaType, QName xmlType) - * public (Class javaType, QName xmlType) - * public () + * public <constructor>(Class javaType, QName xmlType) + * public <constructor>() * * The deployment code will attempt to invoke these methods in the above order. * The xmlType, javaType arguments are filled in with the values supplied during the diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingRegistryImpl.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingRegistryImpl.java index 37e99a218..0d44d90c0 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingRegistryImpl.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingRegistryImpl.java @@ -22,44 +22,39 @@ import java.util.HashMap; /** - *

    * The TypeMappingRegistry keeps track of the individual TypeMappings. - *

    *

    * The TypeMappingRegistry for axis contains a default type mapping * that is set for either SOAP 1.1 or SOAP 1.2 * The default type mapping is a singleton used for the entire * runtime and should not have anything new registered in it. - *

    *

    * Instead the new TypeMappings for the deploy and service are * made in a separate TypeMapping which is identified by * the soap encoding. These new TypeMappings delegate back to * the default type mapping when information is not found. - *

    *

    * So logically we have: *

      *         TMR
      *         | |  
    - *         | +---------------> DefaultTM 
    + *         | +---------------> DefaultTM 
      *         |                      ^
      *         |                      |
    - *         +----> TM --delegate---+
    + *         +----> TM --delegate---+
      * 
    * * But in the implementation, the TMR references * "delegate" TypeMappings (TM') which then reference the actual TM's - *

    *

    * So the picture is really: *

      *         TMR
      *         | |  
    - *         | +-----------TM'------> DefaultTM 
    + *         | +-----------TM'------> DefaultTM 
      *         |              ^
      *         |              |
    - *         +-TM'-> TM ----+
    + *         +-TM'-> TM ----+
      * 
    * * This extra indirection is necessary because the user may want to @@ -71,8 +66,8 @@ * | | * | +-----------TM'--+ DefaultTM * | ^ | - * | | +---> New User Defined Default TM - * +-TM'-> TM ----+ + * | | +---> New User Defined Default TM + * +-TM'-> TM ----+ * * * The other reason that it is necessary is when a deploy @@ -82,26 +77,26 @@ *
      *       Deploy TMR
      *         | |  
    - *         | +-----------TM'------> DefaultTM 
    + *         | +-----------TM'------> DefaultTM 
      *         |              ^
      *         |              |
    - *         +-TM'-> TM ----+
    + *         +-TM'-> TM ----+
      *
      *       Service TMR
      *         | |  
    - *         | +-----------TM'------> DefaultTM 
    + *         | +-----------TM'------> DefaultTM 
      *         |              ^
      *         |              |
    - *         +-TM'-> TM ----+
    + *         +-TM'-> TM ----+
      *
      *    ServiceTMR.delegate(DeployTMR)
      *
      *       Deploy TMR
      *         | |  
    - *         | +------------TM'------> DefaultTM 
    + *         | +------------TM'------> DefaultTM 
      *         |              ^ ^ 
      *         |              | |
    - *         +-TM'-> TM ----+ |
    + *         +-TM'-> TM ----+ |
      *           ^              |
      *   +-------+              |
      *   |                      |
    @@ -110,7 +105,7 @@
      *   |     | +----------TM'-+               
      *   |     |              
      *   |     |              
    - *   |     +-TM'-> TM +
    + *   |     +-TM'-> TM +
      *   |                |
      *   +----------------+
      * 
    @@ -118,12 +113,11 @@ * So now the service uses the DefaultTM of the Deploy TMR, and * the Service TM properly delegates to the deploy's TM. And * if either the deploy defaultTM or TMs change, the links are not broken. - *

    * * @author James Snell (jasnell@us.ibm.com) * @author Sam Ruby (rubys@us.ibm.com) * Re-written for JAX-RPC Compliance by - * @author Rich Scheuerle (scheu@us.ibm.com + * @author Rich Scheuerle (scheu@us.ibm.com) */ public class TypeMappingRegistryImpl implements TypeMappingRegistry { diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapDeserializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapDeserializer.java index 3794b443f..d510fb9dd 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapDeserializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/MapDeserializer.java @@ -31,13 +31,13 @@ import java.util.HashMap; import java.util.Map; -/* +/** * A MapSerializer is be used to deserialize * deserialize Maps using the SOAP-ENC * encoding style.

    * * @author Glen Daniels (gdaniels@apache.org) - * Modified by @author Rich scheuerle + * Modified by @author Rich scheuerle (scheu@us.ibm.com) */ public class MapDeserializer extends DeserializerImpl { @@ -135,7 +135,7 @@ public void setChildValue(Object value, Object hint) throws SAXException } /** - * A deserializer for an . Handles getting the key and + * A deserializer for an <item>. Handles getting the key and * value objects from their own deserializers, and then putting * the values into the HashMap we're building. * diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java index 123dfd67d..da2c3b380 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/ser/SimpleListSerializer.java @@ -41,7 +41,7 @@ * </xsd:simpleType> * based on SimpleSerializer * - * @author Ias + * @author Ias (iasandcb@tmax.co.kr) */ public class SimpleListSerializer implements SimpleValueSerializer { public QName xmlType; diff --git a/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java b/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java index 090961094..4ce33fb31 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java +++ b/axis-rt-core/src/main/java/org/apache/axis/message/RPCHandler.java @@ -53,7 +53,7 @@ * </methodName> * * - * ...we'll get onStartChild() events for and . + * ...we'll get onStartChild() events for <param1> and <param2>. * * @author Glen Daniels (gdaniels@apache.org) */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/providers/java/EJBProvider.java b/axis-rt-core/src/main/java/org/apache/axis/providers/java/EJBProvider.java index 5a27d3dba..1511a4f1e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/providers/java/EJBProvider.java +++ b/axis-rt-core/src/main/java/org/apache/axis/providers/java/EJBProvider.java @@ -444,11 +444,10 @@ protected Object getEJBHome(InitialContext context, String beanJndiName) /** * Override the default implementation such that we can include * special handling for {@link java.rmi.ServerException}. - *

    + *

    * Converts {@link java.rmi.ServerException} exceptions to * {@link InvocationTargetException} exceptions with the same cause. * This allows the axis framework to create a SOAP fault. - *

    * * @see org.apache.axis.providers.java.RPCProvider#invokeMethod(org.apache.axis.MessageContext, java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/security/servlet/ServletSecurityProvider.java b/axis-rt-core/src/main/java/org/apache/axis/security/servlet/ServletSecurityProvider.java index 68679aca6..f0107c331 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/security/servlet/ServletSecurityProvider.java +++ b/axis-rt-core/src/main/java/org/apache/axis/security/servlet/ServletSecurityProvider.java @@ -48,8 +48,6 @@ public class ServletSecurityProvider implements SecurityProvider { /** Authenticate a user from a username/password pair. * - * @param username the user name to check - * @param password the password to check * @return an AuthenticatedUser or null */ public AuthenticatedUser authenticate(MessageContext msgContext) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/security/simple/SimpleSecurityProvider.java b/axis-rt-core/src/main/java/org/apache/axis/security/simple/SimpleSecurityProvider.java index c9717a468..9e1384290 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/security/simple/SimpleSecurityProvider.java +++ b/axis-rt-core/src/main/java/org/apache/axis/security/simple/SimpleSecurityProvider.java @@ -93,8 +93,6 @@ private synchronized void initialize(MessageContext msgContext) /** Authenticate a user from a username/password pair. * - * @param username the user name to check - * @param password the password to check * @return an AuthenticatedUser or null */ public AuthenticatedUser authenticate(MessageContext msgContext) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalTransport.java b/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalTransport.java index 891f9377b..28d0303e5 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalTransport.java +++ b/axis-rt-core/src/main/java/org/apache/axis/transport/local/LocalTransport.java @@ -81,8 +81,8 @@ public void setRemoteService(String remoteServiceName) { /** * Set up any transport-specific derived properties in the message context. - * @param context the context to set up - * @param message the client service instance + * @param mc the context to set up + * @param call the client service instance * @param engine the engine containing the registries */ public void setupMessageContextImpl(MessageContext mc, diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java b/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java index 817836571..2ab0443ae 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Duration.java @@ -68,7 +68,7 @@ public Duration(boolean negative, int aYears, int aMonths, int aDays, * PnYnMnDTnHnMnS. * * @param duration String - * @throws SchemaException if the string doesn't parse correctly. + * @throws IllegalArgumentException if the string doesn't parse correctly. */ public Duration(String duration) throws IllegalArgumentException { int position = 1; diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/Id.java b/axis-rt-core/src/main/java/org/apache/axis/types/Id.java index 2b8f3508b..e8b3e8f7e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/Id.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/Id.java @@ -49,7 +49,7 @@ public Id(String stValue) throws IllegalArgumentException { /** * * validates the data and sets the value for the object. - * @param Token String value + * @param stValue String value * @throws IllegalArgumentException if invalid format */ public void setValue(String stValue) throws IllegalArgumentException { diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java b/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java index dda08a971..c80577975 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/NormalizedString.java @@ -76,7 +76,7 @@ public int hashCode(){ * nor tab (#x9) characters. * * @param stValue the String to test - * @returns true if valid normalizedString + * @return true if valid normalizedString */ public static boolean isValid(String stValue) { int scan; diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/URI.java b/axis-rt-core/src/main/java/org/apache/axis/types/URI.java index bec9df887..86cceec94 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/URI.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/URI.java @@ -1682,7 +1682,7 @@ public boolean equals(Object p_test) { /** * Returns a hash-code value for this URI. The hash code is based upon all * of the URI's components, and satisfies the general contract of the - * {@link java.lang.Object#hashCode() Object.hashCode} method.

    + * {@link java.lang.Object#hashCode() Object.hashCode} method. * * @return A hash-code value for this URI */ @@ -1765,7 +1765,7 @@ public static boolean isConformantSchemeName(String p_scheme) { * '.'. Each group must consist of one to three digits. See RFC 2732 Section 3, * and RFC 2373 Section 2.2, for the definition of IPv6 references. A hostname * consists of domain labels (each of which must begin and end with an alphanumeric - * but may contain '-') separated & by a '.'. See RFC 2396 Section 3.2.2. + * but may contain '-') separated & by a '.'. See RFC 2396 Section 3.2.2. * * @return true if the string is a syntactically valid IPv4 address, * IPv6 reference or hostname diff --git a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java index 481ddce08..4050b98f7 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java +++ b/axis-rt-core/src/main/java/org/apache/axis/types/UnsignedByte.java @@ -33,7 +33,7 @@ public UnsignedByte() { /** * ctor for UnsignedByte - * @exception Exception will be thrown if validation fails + * @exception NumberFormatException will be thrown if validation fails */ public UnsignedByte(long sValue) throws NumberFormatException { setValue(sValue); diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java b/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java index 177566d83..3d1610635 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/Messages.java @@ -137,7 +137,7 @@ public static String getMessage(String key, String arg0, String arg1, String arg /** * Get a message from resource.properties from the package of the given object. * @param key The resource key - * @param array An array of objects to place in corresponding variables + * @param args An array of objects to place in corresponding variables * @return The formatted message */ public static String getMessage(String key, String[] args) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/fromJava/Types.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/fromJava/Types.java index c9a7b87a4..45daab78a 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/fromJava/Types.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/fromJava/Types.java @@ -65,9 +65,9 @@ import java.util.Set; /** - *

    Description:

    This class is used to recursively serializes a Java Class into + * This class is used to recursively serializes a Java Class into * an XML Schema representation. - *

    + *

    * It has utility methods to create a schema node, assosiate namespaces to the various types * * @author unascribed @@ -1001,7 +1001,7 @@ private void writeWsdlTypesElement() { * Write a schema representation for the given Class. Recurse * through all the public fields as well as fields represented by java * bean compliant accessor methods. - *

    + *

    * Then return the qualified string representation of the generated type * * @param type Class for which to generate schema @@ -1016,7 +1016,7 @@ public String writeType(Class type) throws AxisFault { * Write a schema representation for the given Class. Recurse * through all the public fields as well as fields represented by java * bean compliant accessor methods. - *

    + *

    * Then return the qualified string representation of the generated type * * @param type Class for which to generate schema diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java index 7b20acaab..4b0a13e95 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BackslashUtil.java @@ -78,7 +78,7 @@ public static String stripBackslashes(String string) { } /** - * Slave method for applyBackslashes & stripBackslashes . + * Slave method for applyBackslashes & stripBackslashes . * */ public static String transformBackslashes(String string, boolean delete) { diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BindingEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BindingEntry.java index ae0ff0943..b597fa565 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BindingEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/BindingEntry.java @@ -152,7 +152,7 @@ public BindingEntry(Binding binding, int bindingType, Style bindingStyle, * operation outputBodyTypes = USE_ENCODED * operation faultBodyTypes = USE_ENCODED * mimeTypes = null - *

    + *

    * The caller of this constructor should * also call the various setter methods to fully fill out this object: * setBindingType, setBindingStyle, setHasLiteral, setAttribute, diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionElement.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionElement.java index b25c2ab42..1ae3f84fb 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionElement.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionElement.java @@ -22,10 +22,10 @@ /** * This Element is for a QName that is a 'collection'. * For example, - * + * <element ref="bar" maxOccurs="unbounded" /> * We need a way to indicate in the symbol table that a foo is * 'collection of bars', In such cases a collection element is - * added with the special QName [, ] + * added with the special QName <name>[<minOccurs>, <maxOccurs>] */ public class CollectionElement extends DefinedElement implements CollectionTE { diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionType.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionType.java index d4e44b917..6bcaa5017 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionType.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/CollectionType.java @@ -22,10 +22,10 @@ /** * This Type is for a QName that is a 'collection'. * For example, - * + * <element name="foo" type="bar" maxOccurs="unbounded" /> * We need a way to indicate in the symbol table that a foo is * 'collection of bars', In such cases a collection type is - * added with the special QName [, ] + * added with the special QName <name>[<minOccurs>, <maxOccurs>] */ public class CollectionType extends DefinedType implements CollectionTE { diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ElementDecl.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ElementDecl.java index c2d09a67a..45aecda93 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ElementDecl.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ElementDecl.java @@ -19,7 +19,7 @@ /** * Simple utility struct for holding element declarations. - *

    + *

    * This simply correlates a QName to a TypeEntry. * * @author Glen Daniels (gdaniels@apache.org) diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/FaultInfo.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/FaultInfo.java index ae4677477..8c58f7733 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/FaultInfo.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/FaultInfo.java @@ -51,11 +51,11 @@ public class FaultInfo { /** * This constructor creates FaultInfo for a binding fault. - *

    + *

    * If the part of the fault is a type, then the QName is * derived from the element name and the provided namespace * (this namespace SHOULD come from the binding). - *

    + *

    * If the part of the fault is an element, then the QName is * the QName of the element, and the given namespace is ignored. * @@ -187,11 +187,11 @@ public Use getUse() { /** * Return the QName of a fault. This method may return null if no parts * are in the fault message. - *

    + *

    * If the part of the fault is a type, then the QName is * derived from the element name and the provided namespace * (this namespace SHOULD come from the binding). - *

    + *

    * If the part of the fault is an element, then the QName is * the QName of the element, and the given namespace is ignored. * diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SchemaUtils.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SchemaUtils.java index e5e71211c..956d7f982 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SchemaUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SchemaUtils.java @@ -1338,18 +1338,18 @@ public static QName getArrayComponentQName(Node node, /** * If the specified node represents an element that references a collection * then return the qname repesenting the component of the collection. - *

    - * + *

    + * <xsd:element name="alias" type="xsd:string" maxOccurs="unbounded"/> * returns qname for"xsd:string" - *

    - * - * - * - * - * + *

    + * <xsd:complexType> + * <xsd:sequence> + * <xsd:element name="alias" type="xsd:string" maxOccurs="unbounded"/> + * </xsd:sequence> + * </xsd:complexType> * returns qname for"xsd:string" - *

    - * + *

    + * <xsd:element ref="alias" maxOccurs="unbounded"/> * returns qname for "alias" * * @param node is the Node @@ -1881,17 +1881,17 @@ private static void addAttributeGroupToVector(Vector v, Node attrGrpnode, * Return the attribute names and types if any in the node * The even indices are the attribute types (TypeEntry) and * the odd indices are the corresponding names (Strings). - *

    + *

    * Example: - * - * - * - * - * - * - * - * - * + * <complexType name="Person"> + * <sequence> + * <element minOccurs="1" maxOccurs="1" name="Age" type="double" /> + * <element minOccurs="1" maxOccurs="1" name="ID" type="xsd:float" /> + * </sequence> + * <attribute name="Name" type="string" /> + * <attribute name="Male" type="boolean" /> + * <attributeGroup ref="s0:MyAttrSet" /> + * </complexType> * * @param node * @param symbolTable @@ -2062,8 +2062,8 @@ public static TypeEntry getBaseType(TypeEntry type, SymbolTable symbolTable) { } /** - * Returns whether the specified node represents a - * with a nested . + * Returns whether the specified node represents a <xsd:simpleType> + * with a nested <xsd:list itemType="...">. * @param node * @return */ @@ -2073,7 +2073,7 @@ public static boolean isListWithItemType(Node node) { } /** - * Returns the value of itemType attribute of in + * Returns the value of itemType attribute of <xsd:list> in <xsd:simpleType> * @param node * @return */ diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ServiceEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ServiceEntry.java index 01ba5d80d..9e0fa37ea 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ServiceEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/ServiceEntry.java @@ -39,11 +39,6 @@ public ServiceEntry(Service service) { this.service = service; } // ctor - /** - * - * @param originalServiceName - * - */ public String getOriginalServiceName(){ return this.originalServiceName; } diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymbolTable.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymbolTable.java index aefb3f12e..5f295040e 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymbolTable.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/SymbolTable.java @@ -89,8 +89,8 @@ /** * This class represents a table of all of the top-level symbols from a set of WSDL Definitions and * DOM Documents: XML types; WSDL messages, portTypes, bindings, and services. - *

    - * This symbolTable contains entries of the form where key is of type QName and value is + *

    + * This symbolTable contains entries of the form <key, value> where key is of type QName and value is * of type Vector. The Vector's elements are all of the objects that have the given QName. This is * necessary since names aren't unique among the WSDL types. message, portType, binding, service, * could all have the same QName and are differentiated merely by type. SymbolTable contains @@ -142,7 +142,7 @@ public class SymbolTable { private final Map typeIndex = Collections.unmodifiableMap(typeTypeEntries); /** - * cache of nodes -> base types for complexTypes. The cache is + * cache of nodes -> base types for complexTypes. The cache is * built on nodes because multiple TypeEntry objects may use the * same node. */ @@ -366,7 +366,7 @@ public Vector getTypes() { } // getTypes /** - * Return an unmodifiable map of qnames -> Elements in the symbol + * Return an unmodifiable map of qnames -> Elements in the symbol * table. * * @return an unmodifiable Map value @@ -376,7 +376,7 @@ public Map getElementIndex() { } /** - * Return an unmodifiable map of qnames -> Elements in the symbol + * Return an unmodifiable map of qnames -> Elements in the symbol * table. * * @return an unmodifiable Map value @@ -1515,16 +1515,16 @@ private void populateMessages(Definition def) throws IOException { /** * ensures that a message in a <input>, <output>, - * or <fault> element in an <operation> + * or <fault> element in an <operation> * element is valid. In particular, ensures that *

      *
    1. an attribute message is present (according to the * XML Schema for WSDL 1.1 message is required - *

      + *

      *

    2. the value of attribute message (a QName) refers to * an already defined message *
    - *

    + *

    * Note: this method should throw a javax.wsdl.WSDLException rather than * a java.io.IOException * @@ -1554,9 +1554,9 @@ protected void ensureOperationMessageValid(Message message) /** * ensures that an an element <operation> within - * an element <portType> is valid. Throws an exception + * an element <portType> is valid. Throws an exception * if the operation is not valid. - *

    + *

    * Note: this method should throw a javax.wsdl.WSDLException * rather than a java.io.IOException * @@ -1619,7 +1619,7 @@ protected void ensureOperationValid(Operation operation) /** * ensures that an an element <portType> * is valid. Throws an exception if the portType is not valid. - *

    + *

    * Note: this method should throw a javax.wsdl.WSDLException * rather than a java.io.IOException * diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java index e9620a181..536b07601 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/TypeEntry.java @@ -32,7 +32,7 @@ * A TypeEntry object extends SymTabEntry and is built by the SymbolTable class for * each supported root complexType, simpleType, and elements that are * defined or encountered. - *

    + *

    * SymTabEntry * | * TypeEntry @@ -43,28 +43,28 @@ * CollectionType CollectionElement, * DefinedType, UndefinedElement) * UndefinedType) - *

    + *

    * UndefinedType and UndefinedElement are placeholders when the real type or element * is not encountered yet. Both of these implement the Undefined interface. - *

    + *

    * A TypeEntry whose java (or other language) name depends on an Undefined type, will * have its name initialization deferred until the Undefined type is replaced with * a defined type. The updateUndefined() method is invoked by the UndefinedDelegate to * update the information. - *

    + *

    * Each TypeEntry whose language name depends on another TypeEntry will have the refType * field set. For example: - * + * <element name="foo" type="bar" /> * The TypeEntry for "foo" will have a refType set to the TypeEntry of "bar". - *

    + *

    * Another Example: - * - * - * - * - * - * - * + * <xsd:complexType name="hobbyArray"> + * <xsd:complexContent> + * <xsd:restriction base="soapenc:Array"> + * <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> + * </xsd:restriction> + * </xsd:complexContent> + * </xsd:complexType> * The TypeEntry for "hobbyArray" will have a refType that locates the TypeEntry for xsd:string * and the dims field will be "[]" * @@ -89,7 +89,7 @@ public abstract class TypeEntry extends SymTabEntry implements Serializable { protected QName componentType = null; // If this is an array, the component type /** If this TypeEntry represents an array with elements inside a "wrapper" - * this field can optionally change the inner QName (default is ). + * this field can optionally change the inner QName (default is <item>). */ protected QName itemQName = null; diff --git a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java index 05fe4cf46..a08b203e8 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java @@ -175,7 +175,7 @@ public static Vector getAttributesWithLocalName(Node node, /** * An xml element may have a name. - * For example <.element name="foo" type="b:bar">. + * For example <element name="foo" type="b:bar"> * has the name "element". This routine gets the full QName of the element. * * @param node @@ -200,7 +200,7 @@ public static QName getNodeQName(Node node) { /** * XML nodes may have a name attribute. - * For example <.element name="foo" type="b:bar">. + * For example <element name="foo" type="b:bar"> * has the name attribute value "foo". This routine gets the QName of the name attribute value. * * @param node @@ -274,12 +274,12 @@ public static QName getNodeNameQName(Node node) { * - use of an anonymous type (i.e. a nested type underneath itself) * - a wsdl:part can use the element attribute. * - an extension can use the base attribute. - *

    + *

    * This routine returns a QName representing this "type". * The forElement value is also returned to indicate whether the * QName represents an element (i.e. obtained using the ref attribute) * or a type. - *

    + *

    * Other attributes affect the QName that is returned. * If the "minOccurs" and "maxOccurs" are set such that the * type is a collection of "types", then an artificial qname is @@ -1022,7 +1022,7 @@ public static String getWrapperType(String type) { } /** - * Determines if the DOM Node represents an xs: + * Determines if the DOM Node represents an xs:<node> */ public static boolean isXsNode (Node node, String nameName) { From 8d1aebfae56a2a6c79e3d3606b5cab7b3a1a8154 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 18 Feb 2018 18:19:45 +0000 Subject: [PATCH 074/133] Remove excluded source files. --- axis-rt-core/pom.xml | 18 -- .../net/IBMFakeTrustSocketFactory.java | 124 ----------- .../components/net/IBMJSSESocketFactory.java | 210 ------------------ .../apache/axis/providers/ComProvider.java | 185 --------------- 4 files changed, 537 deletions(-) delete mode 100644 axis-rt-core/src/main/java/org/apache/axis/components/net/IBMFakeTrustSocketFactory.java delete mode 100644 axis-rt-core/src/main/java/org/apache/axis/components/net/IBMJSSESocketFactory.java delete mode 100644 axis-rt-core/src/main/java/org/apache/axis/providers/ComProvider.java diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index a43e9fa03..acb215023 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -156,30 +156,12 @@ maven-compiler-plugin - - - org/apache/axis/components/image/JimiIO.java - - org/apache/axis/components/net/IBM*.java - - org/apache/axis/providers/ComProvider.java - -Xbootclasspath/p:${project.build.directory}/endorsed/xmlParserAPIs.jar${path.separator}${project.build.directory}/endorsed/axis-saaj.jar - - maven-javadoc-plugin - - - org/apache/axis/components/image/JimiIO.java - org/apache/axis/components/net/IBM*.java - org/apache/axis/providers/ComProvider.java - - - maven-surefire-plugin diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMFakeTrustSocketFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMFakeTrustSocketFactory.java deleted file mode 100644 index b52de7767..000000000 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMFakeTrustSocketFactory.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.axis.components.net; - -import com.ibm.net.ssl.SSLContext; -import com.ibm.net.ssl.TrustManager; -import com.ibm.net.ssl.X509TrustManager; -import org.apache.axis.components.logger.LogFactory; -import org.apache.axis.utils.Messages; -import org.apache.commons.logging.Log; - -import java.util.Hashtable; - -/** - * Hook for Axis sender, allowing unsigned server certs - */ -public class IBMFakeTrustSocketFactory extends IBMJSSESocketFactory { - - /** Field log */ - protected static Log log = - LogFactory.getLog(IBMFakeTrustSocketFactory.class.getName()); - - /** - * Constructor FakeTrustSocketFactory - * - * @param attributes - */ - public IBMFakeTrustSocketFactory(Hashtable attributes) { - super(attributes); - } - - /** - * Method getContext - * - * @return - * - * @throws Exception - */ - protected SSLContext getContext() throws Exception { - - try { - SSLContext sc = SSLContext.getInstance("SSL"); - - sc.init(null, // we don't need no stinkin KeyManager - new TrustManager[]{new FakeX509TrustManager()}, - new java.security.SecureRandom()); - if (log.isDebugEnabled()) { - log.debug(Messages.getMessage("ftsf00")); - } - return sc; - } catch (Exception exc) { - log.error(Messages.getMessage("ftsf01"), exc); - throw new Exception(Messages.getMessage("ftsf02")); - } - } - - /** - * Class FakeX509TrustManager - */ - public static class FakeX509TrustManager implements X509TrustManager { - - /** Field log */ - protected static Log log = - LogFactory.getLog(FakeX509TrustManager.class.getName()); - - /** - * Method isClientTrusted - * - * @param chain - * - * @return - */ - public boolean isClientTrusted(java.security.cert - .X509Certificate[] chain) { - - if (log.isDebugEnabled()) { - log.debug(Messages.getMessage("ftsf03")); - } - return true; - } - - /** - * Method isServerTrusted - * - * @param chain - * - * @return - */ - public boolean isServerTrusted(java.security.cert - .X509Certificate[] chain) { - - if (log.isDebugEnabled()) { - log.debug(Messages.getMessage("ftsf04")); - } - return true; - } - - /** - * Method getAcceptedIssuers - * - * @return - */ - public java.security.cert.X509Certificate[] getAcceptedIssuers() { - - if (log.isDebugEnabled()) { - log.debug(Messages.getMessage("ftsf05")); - } - return null; - } - } -} diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMJSSESocketFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMJSSESocketFactory.java deleted file mode 100644 index 264de0cd4..000000000 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/IBMJSSESocketFactory.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.axis.components.net; - -import com.ibm.jsse.JSSEProvider; -import com.ibm.net.ssl.KeyManagerFactory; -import com.ibm.net.ssl.SSLContext; -import com.ibm.net.ssl.TrustManager; -import com.ibm.net.ssl.TrustManagerFactory; -import org.apache.axis.utils.Messages; -import org.apache.axis.utils.XMLUtils; - -import javax.net.ssl.SSLSocket; -import javax.net.ssl.SSLSocketFactory; -import java.io.BufferedWriter; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.net.Socket; -import java.security.KeyStore; -import java.security.Security; -import java.util.Hashtable; - -/** - * SSL socket factory. It _requires_ a valid RSA key and - * JSSE. (borrowed code from tomcat) - * - * @author Davanum Srinivas (dims@yahoo.com) - */ -public class IBMJSSESocketFactory extends JSSESocketFactory implements SecureSocketFactory { - - /** Field keystoreType */ - private String keystoreType; - - /** Field defaultKeystoreType */ - static String defaultKeystoreType = "JKS"; - - /** Field defaultProtocol */ - static String defaultProtocol = "TLS"; - - /** Field defaultAlgorithm */ - static String defaultAlgorithm = "IbmX509"; - - /** Field defaultClientAuth */ - static boolean defaultClientAuth = false; - - /** Field clientAuth */ - private boolean clientAuth = false; - - /** Field defaultKeystoreFile */ - static String defaultKeystoreFile = - System.getProperty("user.home") + "/.keystore"; - - /** Field defaultKeyPass */ - static String defaultKeyPass = "changeit"; - - /** - * Constructor IBMJSSESocketFactory - * - * @param attributes - */ - public IBMJSSESocketFactory(Hashtable attributes) { - super(attributes); - } - - /** - * Read the keystore, init the SSL socket factory - * - * @throws IOException - */ - protected void initFactory() throws IOException { - - try { - Security.addProvider(new com.ibm.jsse.JSSEProvider()); - Security.addProvider(new com.ibm.crypto.provider.IBMJCE()); - - if(attributes == null) { - //No configuration specified. Get the default. - sslFactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); - } else { - //Configuration specified in wsdd. - SSLContext context = getContext(); - sslFactory = context.getSocketFactory(); - } - } catch (Exception e) { - if (e instanceof IOException) { - throw (IOException) e; - } - throw new IOException(e.getMessage()); - } - } - - /** - * gets a SSL Context - * - * @return SSLContext - * @throws Exception - */ - protected SSLContext getContext() throws Exception { - // Please don't change the name of the attribute - other - // software may depend on it ( j2ee for sure ) - String keystoreFile = (String) attributes.get("keystore"); - if (keystoreFile == null) { - keystoreFile = defaultKeystoreFile; - } - - keystoreType = (String) attributes.get("keystoreType"); - if (keystoreType == null) { - keystoreType = defaultKeystoreType; - } - - // determine whether we want client authentication - // the presence of the attribute enables client auth - clientAuth = null != (String) attributes.get("clientauth"); - String keyPass = (String) attributes.get("keypass"); - if (keyPass == null) { - keyPass = defaultKeyPass; - } - - String keystorePass = (String) attributes.get("keystorePass"); - if (keystorePass == null) { - keystorePass = keyPass; - } - - // protocol for the SSL ie - TLS, SSL v3 etc. - String protocol = (String) attributes.get("protocol"); - if (protocol == null) { - protocol = defaultProtocol; - } - - // Algorithm used to encode the certificate ie - SunX509 - String algorithm = (String) attributes.get("algorithm"); - if (algorithm == null) { - algorithm = defaultAlgorithm; - } - - // You can't use ssl without a server certificate. - // Create a KeyStore ( to get server certs ) - KeyStore kstore = initKeyStore(keystoreFile, keystorePass); - - // Key manager will extract the server key - KeyManagerFactory kmf = KeyManagerFactory.getInstance(algorithm); - - kmf.init(kstore, keyPass.toCharArray()); - - // If client authentication is needed, set up TrustManager - TrustManager[] tm = null; - - if (clientAuth) { - TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); - - tmf.init(kstore); - tm = tmf.getTrustManagers(); - } - - // Create a SSLContext ( to create the ssl factory ) - // This is the only way to use server sockets with JSSE 1.0.1 - SSLContext context = SSLContext.getInstance(protocol); // SSL - - // init context with the key managers - context.init(kmf.getKeyManagers(), tm, - new java.security.SecureRandom()); - return context; - } - - /** - * intializes a keystore. - * - * @param keystoreFile - * @param keyPass - * - * @return keystore - * @throws IOException - */ - private KeyStore initKeyStore(String keystoreFile, String keyPass) - throws IOException { - try { - KeyStore kstore = KeyStore.getInstance(keystoreType); - - InputStream istream = new FileInputStream(keystoreFile); - kstore.load(istream, keyPass.toCharArray()); - return kstore; - } catch (FileNotFoundException fnfe) { - throw fnfe; - } catch (IOException ioe) { - throw ioe; - } catch (Exception ex) { - ex.printStackTrace(); - throw new IOException("Exception trying to load keystore " - + keystoreFile + ": " + ex.getMessage()); - } - } -} diff --git a/axis-rt-core/src/main/java/org/apache/axis/providers/ComProvider.java b/axis-rt-core/src/main/java/org/apache/axis/providers/ComProvider.java deleted file mode 100644 index 8bbded641..000000000 --- a/axis-rt-core/src/main/java/org/apache/axis/providers/ComProvider.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.providers; - -import org.apache.axis.AxisFault; -import org.apache.axis.Constants; -import org.apache.axis.Message; -import org.apache.axis.MessageContext; -import org.apache.axis.components.bridge.COMBridge; -import org.apache.axis.deployment.wsdd.providers.WSDDComProvider; -import org.apache.axis.description.OperationDesc; -import org.apache.axis.description.ParameterDesc; -import org.apache.axis.handlers.soap.SOAPService; -import org.apache.axis.message.RPCElement; -import org.apache.axis.message.RPCHeaderParam; -import org.apache.axis.message.RPCParam; -import org.apache.axis.message.SOAPBodyElement; -import org.apache.axis.message.SOAPEnvelope; -import org.apache.axis.soap.SOAPConstants; -import org.apache.axis.utils.JavaUtils; -import org.apache.axis.utils.Messages; - -import javax.xml.namespace.QName; -import java.util.Hashtable; -import java.util.Vector; - -public class ComProvider extends BasicProvider { - - - public void invoke(MessageContext msgContext) throws AxisFault { - try { - SOAPService service = msgContext.getService(); - String progID = (String) service.getOption(WSDDComProvider.OPTION_PROGID); - String threadingModel = (String) service.getOption(WSDDComProvider.OPTION_THREADING_MODEL); - - if (log.isDebugEnabled()) { - log.debug("Enter: COMProvider.processMessage()"); - } - - OperationDesc operation = msgContext.getOperation(); - - Vector bodies = msgContext.getRequestMessage().getSOAPEnvelope().getBodyElements(); - if (log.isDebugEnabled()) { - log.debug(Messages.getMessage("bodyElems00", "" + bodies.size())); - log.debug(Messages.getMessage("bodyIs00", "" + bodies.get(0))); - } - - RPCElement body = null; - - // Find the first "root" body element, which is the RPC call. - for (int bNum = 0; body == null && bNum < bodies.size(); bNum++) { - // If this is a regular old SOAPBodyElement, and it's a root, - // we're probably a non-wrapped doc/lit service. In this case, - // we deserialize the element, and create an RPCElement "wrapper" - // around it which points to the correct method. - // FIXME : There should be a cleaner way to do this... - if (!(bodies.get(bNum) instanceof RPCElement)) { - SOAPBodyElement bodyEl = (SOAPBodyElement) bodies.get(bNum); - // igors: better check if bodyEl.getID() != null - // to make sure this loop does not step on SOAP-ENC objects - // that follow the parameters! FIXME? - if (bodyEl.isRoot() && operation != null && bodyEl.getID() == null) { - ParameterDesc param = operation.getParameter(bNum); - // at least do not step on non-existent parameters! - if (param != null) { - Object val = bodyEl.getValueAsType(param.getTypeQName()); - body = new RPCElement("", - operation.getName(), - new Object[]{val}); - } - } - } else { - body = (RPCElement) bodies.get(bNum); - } - } - - String methodName = body.getMethodName(); - Vector args = body.getParams(); - int numArgs = args.size(); - - Vector argValues = new Vector(); - - // Put the values contained in the RPCParams into an array - // suitable for passing to java.lang.reflect.Method.invoke() - // Make sure we respect parameter ordering if we know about it - // from metadata, and handle whatever conversions are necessary - // (values -> Holders, etc) - for (int i = 0; i < numArgs; i++) { - RPCParam rpcParam = (RPCParam) args.get(i); - Object value = rpcParam.getObjectValue(); - - // first check the type on the paramter - ParameterDesc paramDesc = rpcParam.getParamDesc(); - - // if we found some type info try to make sure the value type is - // correct. For instance, if we deserialized a xsd:dateTime in - // to a Calendar and the service takes a Date, we need to convert - if (paramDesc != null && paramDesc.getJavaType() != null) { - - // Get the type in the signature (java type or its holder) - Class sigType = paramDesc.getJavaType(); - - // Convert the value into the expected type in the signature - value = JavaUtils.convert(value, - sigType); - - rpcParam.setObjectValue(value); - } - argValues.add(value); - } - - COMBridge bridge = new COMBridge(); - Hashtable props = new Hashtable(); - props.put("progid", progID); - if (threadingModel != null) - props.put("threadmodel", threadingModel); - - Object result = bridge.execute(methodName, argValues, props); - - RPCElement resBody = new RPCElement(methodName + "Response"); - resBody.setPrefix(body.getPrefix()); - resBody.setNamespaceURI(body.getNamespaceURI()); - resBody.setEncodingStyle(msgContext.getEncodingStyle()); - - Message resMsg = msgContext.getResponseMessage(); - SOAPEnvelope resEnv; - - // If we didn't have a response message, make sure we set one up - if (resMsg == null) { - resEnv = new SOAPEnvelope(msgContext.getSOAPConstants()); - - resMsg = new Message(resEnv); - msgContext.setResponseMessage(resMsg); - } else { - resEnv = resMsg.getSOAPEnvelope(); - } - - QName returnQName = operation.getReturnQName(); - if (returnQName == null) { - returnQName = new QName("", methodName + "Return"); - } - - // For SOAP 1.2, add a result - if (msgContext.getSOAPConstants() == - SOAPConstants.SOAP12_CONSTANTS) { - returnQName = Constants.QNAME_RPC_RESULT; - } - - RPCParam param = new RPCParam(returnQName, result); - param.setParamDesc(operation.getReturnParamDesc()); - if (!operation.isReturnHeader()) { - resBody.addParam(param); - } else { - resEnv.addHeader(new RPCHeaderParam(param)); - } - - resEnv.addBodyElement(resBody); - - } catch (Exception e) { - entLog.debug(Messages.getMessage("toAxisFault00"), e); - throw AxisFault.makeFault(e); - } catch (Throwable t) { - entLog.debug(Messages.getMessage("toAxisFault00")); - throw new AxisFault(Messages.getMessage("toAxisFault00"), t); - } - } - - public void initServiceDesc(SOAPService service, MessageContext msgContext) - throws AxisFault { - } -} From 9fd747ea3f811e3a240e4d0e6db440bae31ee4a3 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 7 May 2018 12:04:10 +0000 Subject: [PATCH 075/133] Update repositories --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 43dcf931a..6e20e30ac 100644 --- a/pom.xml +++ b/pom.xml @@ -157,8 +157,8 @@ - veithen-github-mvn-repo - https://raw.github.com/veithen/mvn-repo/master/snapshots/ + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ false From e2648751dd465695949e4f8096f08903b2a0aeee Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 7 May 2018 16:16:03 +0000 Subject: [PATCH 076/133] Upgrade maven-compiler-plugin and avoid duplicate classes. --- axis-ant/pom.xml | 2 +- axis-ant/src/test/ant/extra/build.xml | 8 ++++---- pom.xml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 02f439281..6f99b869a 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -194,7 +194,7 @@ - ${project.build.directory}/work/test/wsdl/extra + ${project.build.directory}/work/test/wsdl/extra/gen Extra.java MyService.java diff --git a/axis-ant/src/test/ant/extra/build.xml b/axis-ant/src/test/ant/extra/build.xml index 655f09ec1..018c9ebb3 100644 --- a/axis-ant/src/test/ant/extra/build.xml +++ b/axis-ant/src/test/ant/extra/build.xml @@ -1,10 +1,10 @@ - + - - - + diff --git a/pom.xml b/pom.xml index 6e20e30ac..becc3a07c 100644 --- a/pom.xml +++ b/pom.xml @@ -292,7 +292,7 @@ maven-compiler-plugin - true + 3.7.0 ${javaVersion} ${javaVersion} From 37d0370ec1095016d25e8f3a7e7123ad3a3f2421 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 7 May 2018 21:08:03 +0000 Subject: [PATCH 077/133] Use emf-maven-plugin to generate code in axis-model. --- axis-model/model/wsdd.ecore | 6 + axis-model/pom.xml | 22 + .../apache/axis/model/soap/SOAPFactory.java | 26 - .../axis/model/soap/impl/SOAPFactoryImpl.java | 146 - .../axis/model/soap/impl/SOAPPackageImpl.java | 302 -- .../apache/axis/model/util/AxisXMLHelper.java | 23 +- .../apache/axis/model/wsdd/ArrayMapping.java | 53 - .../apache/axis/model/wsdd/BeanMapping.java | 20 - .../org/apache/axis/model/wsdd/Chain.java | 97 - .../axis/model/wsdd/DeployableItem.java | 78 - .../apache/axis/model/wsdd/Deployment.java | 138 - .../org/apache/axis/model/wsdd/Fault.java | 130 - .../axis/model/wsdd/GlobalConfiguration.java | 20 - .../org/apache/axis/model/wsdd/Handler.java | 79 - .../org/apache/axis/model/wsdd/Mapping.java | 104 - .../axis/model/wsdd/MappingContainer.java | 77 - .../org/apache/axis/model/wsdd/Operation.java | 295 -- .../axis/model/wsdd/OperationParameter.java | 211 -- .../org/apache/axis/model/wsdd/Parameter.java | 76 - .../apache/axis/model/wsdd/ParameterMode.java | 194 - .../axis/model/wsdd/Parameterizable.java | 51 - .../org/apache/axis/model/wsdd/Service.java | 166 - .../org/apache/axis/model/wsdd/Transport.java | 79 - .../apache/axis/model/wsdd/TypeMapping.java | 77 - .../apache/axis/model/wsdd/WSDDFactory.java | 159 - .../model/wsdd/impl/ArrayMappingImpl.java | 153 - .../axis/model/wsdd/impl/BeanMappingImpl.java | 41 - .../axis/model/wsdd/impl/ChainImpl.java | 257 -- .../model/wsdd/impl/DeployableItemImpl.java | 222 -- .../axis/model/wsdd/impl/DeploymentImpl.java | 355 -- .../axis/model/wsdd/impl/FaultImpl.java | 308 -- .../wsdd/impl/GlobalConfigurationImpl.java | 41 - .../axis/model/wsdd/impl/HandlerImpl.java | 201 - .../apache/axis/model/wsdd/impl/Helper.java | 59 + .../model/wsdd/impl/MappingContainerImpl.java | 223 -- .../axis/model/wsdd/impl/MappingImpl.java | 257 -- .../axis/model/wsdd/impl/OperationImpl.java | 659 ---- .../wsdd/impl/OperationParameterImpl.java | 462 --- .../axis/model/wsdd/impl/ParameterImpl.java | 205 - .../model/wsdd/impl/ParameterizableImpl.java | 165 - .../axis/model/wsdd/impl/ServiceImpl.java | 549 --- .../axis/model/wsdd/impl/TransportImpl.java | 204 - .../axis/model/wsdd/impl/TypeMappingImpl.java | 203 - .../axis/model/wsdd/impl/WSDDFactoryImpl.java | 308 -- .../axis/model/wsdd/impl/WSDDPackageImpl.java | 3283 ----------------- .../org/apache/axis/model/xml/XmlFactory.java | 26 - .../axis/model/xml/impl/XmlFactoryImpl.java | 134 - .../axis/model/xml/impl/XmlPackageImpl.java | 258 -- 48 files changed, 107 insertions(+), 11095 deletions(-) delete mode 100644 axis-model/src/main/java/org/apache/axis/model/soap/SOAPFactory.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPFactoryImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPPackageImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/ArrayMapping.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/BeanMapping.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Fault.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/GlobalConfiguration.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Handler.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Mapping.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Operation.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/OperationParameter.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Parameter.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/ParameterMode.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Parameterizable.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/Transport.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/TypeMapping.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ArrayMappingImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/BeanMappingImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FaultImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/GlobalConfigurationImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/HandlerImpl.java create mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/Helper.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationParameterImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterizableImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TransportImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TypeMappingImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/xml/XmlFactory.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlFactoryImpl.java delete mode 100644 axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlPackageImpl.java diff --git a/axis-model/model/wsdd.ecore b/axis-model/model/wsdd.ecore index 574792f2d..f207fd56d 100644 --- a/axis-model/model/wsdd.ecore +++ b/axis-model/model/wsdd.ecore @@ -97,6 +97,9 @@ + +

    + @@ -175,6 +178,9 @@ + +
    + + + + com.github.veithen.cosmos + p2-maven-connector + 0.3 + + + + com.github.veithen.cosmos + emf-maven-plugin + 0.1-SNAPSHOT + + + + generate-sources + + + model/axis.genmodel + + + + maven-shade-plugin diff --git a/axis-model/src/main/java/org/apache/axis/model/soap/SOAPFactory.java b/axis-model/src/main/java/org/apache/axis/model/soap/SOAPFactory.java deleted file mode 100644 index cf4d7b093..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/soap/SOAPFactory.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.soap; - - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @generated - */ -public interface SOAPFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - SOAPFactory INSTANCE = org.apache.axis.model.soap.impl.SOAPFactoryImpl.eINSTANCE; - -} //SOAPFactory diff --git a/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPFactoryImpl.java b/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPFactoryImpl.java deleted file mode 100644 index 1b8d0f15b..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPFactoryImpl.java +++ /dev/null @@ -1,146 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.soap.impl; - -import org.apache.axis.constants.Style; -import org.apache.axis.constants.Use; - -import org.apache.axis.model.soap.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class SOAPFactoryImpl extends EFactoryImpl implements SOAPFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - public static final SOAPFactoryImpl eINSTANCE = init(); - - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static SOAPFactoryImpl init() { - try { - SOAPFactoryImpl theSOAPFactory = (SOAPFactoryImpl)EPackage.Registry.INSTANCE.getEFactory("http://axis.apache.org/emf/soap"); - if (theSOAPFactory != null) { - return theSOAPFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new SOAPFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public SOAPFactoryImpl() { - super(); - } - - /** - * - * - * @generated - */ - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case SOAPPackageImpl.USE: - return createUseFromString(eDataType, initialValue); - case SOAPPackageImpl.STYLE: - return createStyleFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case SOAPPackageImpl.USE: - return convertUseToString(eDataType, instanceValue); - case SOAPPackageImpl.STYLE: - return convertStyleToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - public Use createUseFromString(EDataType eDataType, String initialValue) { - return Use.getUse(initialValue); - } - - public String convertUseToString(EDataType eDataType, Object instanceValue) { - return ((Use)instanceValue).getName(); - } - - public Style createStyleFromString(EDataType eDataType, String initialValue) { - return Style.getStyle(initialValue); - } - - public String convertStyleToString(EDataType eDataType, Object instanceValue) { - return ((Style)instanceValue).getName(); - } - - /** - * - * - * @generated - */ - public SOAPPackageImpl getSOAPPackage() { - return (SOAPPackageImpl)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - public static SOAPPackageImpl getPackage() { - return SOAPPackageImpl.eINSTANCE; - } - -} //SOAPFactoryImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPPackageImpl.java deleted file mode 100644 index 8a513fd24..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/soap/impl/SOAPPackageImpl.java +++ /dev/null @@ -1,302 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.soap.impl; - -import org.apache.axis.constants.Style; -import org.apache.axis.constants.Use; - -import org.apache.axis.model.soap.SOAPFactory; - -import org.apache.axis.model.wsdd.impl.WSDDPackageImpl; - -import org.apache.axis.model.xml.impl.XmlPackageImpl; - -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EFactory; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @see org.apache.axis.model.soap.SOAPFactory - * @model kind="package" - * @generated - */ -public class SOAPPackageImpl extends EPackageImpl { - /** - * The package name. - * - * - * @generated - */ - public static final String eNAME = "soap"; - - /** - * The package namespace URI. - * - * - * @generated - */ - public static final String eNS_URI = "http://axis.apache.org/emf/soap"; - - /** - * The package namespace name. - * - * - * @generated - */ - public static final String eNS_PREFIX = "soap"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - public static final SOAPPackageImpl eINSTANCE = org.apache.axis.model.soap.impl.SOAPPackageImpl.init(); - - /** - * The meta object id for the 'Use' data type. - * - * - * @see org.apache.axis.constants.Use - * @see org.apache.axis.model.soap.impl.SOAPPackageImpl#getUse() - * @generated - */ - public static final int USE = 0; - - /** - * The meta object id for the 'Style' data type. - * - * - * @see org.apache.axis.constants.Style - * @see org.apache.axis.model.soap.impl.SOAPPackageImpl#getStyle() - * @generated - */ - public static final int STYLE = 1; - - /** - * - * - * @generated - */ - private EDataType useEDataType = null; - - /** - * - * - * @generated - */ - private EDataType styleEDataType = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

    Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.apache.axis.model.soap.impl.SOAPPackageImpl#eNS_URI - * @see #init() - * @generated - */ - private SOAPPackageImpl() { - super(eNS_URI, ((EFactory)SOAPFactory.INSTANCE)); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

    This method is used to initialize {@link SOAPPackageImpl#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static SOAPPackageImpl init() { - if (isInited) return (SOAPPackageImpl)EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI); - - // Obtain or create and register package - SOAPPackageImpl theSOAPPackage = (SOAPPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SOAPPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SOAPPackageImpl()); - - isInited = true; - - // Obtain or create and register interdependencies - WSDDPackageImpl theWSDDPackage = (WSDDPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WSDDPackageImpl.eNS_URI) instanceof WSDDPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WSDDPackageImpl.eNS_URI) : WSDDPackageImpl.eINSTANCE); - XmlPackageImpl theXmlPackage = (XmlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI) instanceof XmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI) : XmlPackageImpl.eINSTANCE); - - // Create package meta-data objects - theSOAPPackage.createPackageContents(); - theWSDDPackage.createPackageContents(); - theXmlPackage.createPackageContents(); - - // Initialize created meta-data - theSOAPPackage.initializePackageContents(); - theWSDDPackage.initializePackageContents(); - theXmlPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theSOAPPackage.freeze(); - - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(SOAPPackageImpl.eNS_URI, theSOAPPackage); - return theSOAPPackage; - } - - - /** - * Returns the meta object for data type '{@link org.apache.axis.constants.Use Use}'. - * - * - * @return the meta object for data type 'Use'. - * @see org.apache.axis.constants.Use - * @model instanceClass="org.apache.axis.constants.Use" - * @generated - */ - public EDataType getUse() { - return useEDataType; - } - - /** - * Returns the meta object for data type '{@link org.apache.axis.constants.Style Style}'. - * - * - * @return the meta object for data type 'Style'. - * @see org.apache.axis.constants.Style - * @model instanceClass="org.apache.axis.constants.Style" - * @generated - */ - public EDataType getStyle() { - return styleEDataType; - } - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - public SOAPFactory getSOAPFactory() { - return (SOAPFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create data types - useEDataType = createEDataType(USE); - styleEDataType = createEDataType(STYLE); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Initialize data types - initEDataType(useEDataType, Use.class, "Use", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); - initEDataType(styleEDataType, Style.class, "Style", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); - - // Create resource - createResource(eNS_URI); - } - - /** - * - * Defines literals for the meta objects that represent - *

      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @generated - */ - public interface Literals { - /** - * The meta object literal for the 'Use' data type. - * - * - * @see org.apache.axis.constants.Use - * @see org.apache.axis.model.soap.impl.SOAPPackageImpl#getUse() - * @generated - */ - public static final EDataType USE = eINSTANCE.getUse(); - - /** - * The meta object literal for the 'Style' data type. - * - * - * @see org.apache.axis.constants.Style - * @see org.apache.axis.model.soap.impl.SOAPPackageImpl#getStyle() - * @generated - */ - public static final EDataType STYLE = eINSTANCE.getStyle(); - - } - -} //SOAPPackageImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLHelper.java b/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLHelper.java index 3b834c1c9..f383b7b75 100644 --- a/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLHelper.java +++ b/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLHelper.java @@ -22,6 +22,9 @@ import javax.xml.namespace.QName; +import org.apache.axis.constants.Style; +import org.apache.axis.constants.Use; +import org.apache.axis.model.soap.impl.SOAPPackageImpl; import org.apache.axis.model.xml.impl.XmlPackageImpl; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EFactory; @@ -51,8 +54,8 @@ public void setOptions(Map options) { ignoreNamespaceForUnqualifiedQName = (String)options.get(AxisXMLResource.OPTION_IGNORE_NAMESPACE_FOR_UNQUALIFIED_QNAME); } - protected Object createFromString(EFactory eFactory, EDataType eDataType, String value) { - if (eDataType == XmlPackageImpl.eINSTANCE.getQName()) { + protected Object createFromString(EFactory eFactory, EDataType dataType, String value) { + if (dataType == XmlPackageImpl.eINSTANCE.getQName()) { String prefix; String localName; int idx = value.indexOf(':'); @@ -77,8 +80,22 @@ protected Object createFromString(EFactory eFactory, EDataType eDataType, String namespaceURI = ""; } return new QName(namespaceURI, localName, prefix); + } else if (dataType == SOAPPackageImpl.eINSTANCE.getStyle()) { + return Style.getStyle(value); + } else if (dataType == SOAPPackageImpl.eINSTANCE.getUse()) { + return Use.getUse(value); } else { - return super.createFromString(eFactory, eDataType, value); + return super.createFromString(eFactory, dataType, value); + } + } + + public String convertToString(EFactory factory, EDataType dataType, Object value) { + if (dataType == SOAPPackageImpl.eINSTANCE.getStyle()) { + return ((Style)value).getName(); + } else if (dataType == SOAPPackageImpl.eINSTANCE.getUse()) { + return ((Use)value).getName(); + } else { + return super.convertToString(factory, dataType, value); } } diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/ArrayMapping.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/ArrayMapping.java deleted file mode 100644 index 94aa465af..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/ArrayMapping.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - - -/** - * - * A representation of the model object 'Array Mapping'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.ArrayMapping#getInnerType Inner Type}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface ArrayMapping extends Mapping { - /** - * Returns the value of the 'Inner Type' attribute. - * - *

    - * If the meaning of the 'Inner Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Inner Type' attribute. - * @see #setInnerType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getInnerType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.ArrayMapping#getInnerType Inner Type}' attribute. - * - * - * @param value the new value of the 'Inner Type' attribute. - * @see #getInnerType() - * @generated - */ - void setInnerType(QName value); - -} // ArrayMapping diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/BeanMapping.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/BeanMapping.java deleted file mode 100644 index 651df1a13..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/BeanMapping.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - - -/** - * - * A representation of the model object 'Bean Mapping'. - * - * - * - * @model - * @generated - */ -public interface BeanMapping extends Mapping { -} // BeanMapping diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java deleted file mode 100644 index 2b728cf61..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Chain.java +++ /dev/null @@ -1,97 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; -import javax.xml.namespace.QName; - - -/** - * - * A representation of the model object 'Flow'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Chain#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Chain#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Chain { - - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Chain#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Type' attribute. - * - *

    - * If the meaning of the 'Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type' attribute. - * @see #setType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Chain#getType Type}' attribute. - * - * - * @param value the new value of the 'Type' attribute. - * @see #getType() - * @generated - */ - void setType(QName value); - - /** - * Returns the value of the 'Handlers' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Handler}. - * - *

    - * If the meaning of the 'Handlers' reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Handlers' containment reference list. - * @model type="org.apache.axis.model.wsdd.Handler" containment="true" - * extendedMetaData="name='handler' kind='element' namespace='##targetNamespace'" - * @generated - */ - List getHandlers(); -} // Flow diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java deleted file mode 100644 index 9710fa3c2..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/DeployableItem.java +++ /dev/null @@ -1,78 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -/** - * - * A representation of the model object 'Deployable Item'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.DeployableItem#getRequestFlow Request Flow}
    • - *
    • {@link org.apache.axis.model.wsdd.DeployableItem#getResponseFlow Response Flow}
    • - *
    - *

    - * - * @model abstract="true" - * @generated - */ -public interface DeployableItem extends Parameterizable { - /** - * Returns the value of the 'Request Flow' containment reference. - * - *

    - * If the meaning of the 'Request Flow' reference isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Request Flow' containment reference. - * @see #setRequestFlow(Chain) - * @model containment="true" - * extendedMetaData="kind='element' name='requestFlow' namespace='##targetNamespace'" - * @generated - */ - Chain getRequestFlow(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.DeployableItem#getRequestFlow Request Flow}' containment reference. - * - * - * @param value the new value of the 'Request Flow' containment reference. - * @see #getRequestFlow() - * @generated - */ - void setRequestFlow(Chain value); - - /** - * Returns the value of the 'Response Flow' containment reference. - * - *

    - * If the meaning of the 'Response Flow' reference isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Response Flow' containment reference. - * @see #setResponseFlow(Chain) - * @model containment="true" - * extendedMetaData="kind='element' name='responseFlow' namespace='##targetNamespace'" - * @generated - */ - Chain getResponseFlow(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.DeployableItem#getResponseFlow Response Flow}' containment reference. - * - * - * @param value the new value of the 'Response Flow' containment reference. - * @see #getResponseFlow() - * @generated - */ - void setResponseFlow(Chain value); - -} // DeployableItem diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java deleted file mode 100644 index 3efe9fb8d..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Deployment.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; - -/** - * - * A representation of the model object 'Deployment'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Deployment#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Deployment#getGlobalConfiguration Global Configuration}
    • - *
    • {@link org.apache.axis.model.wsdd.Deployment#getHandlers Handlers}
    • - *
    • {@link org.apache.axis.model.wsdd.Deployment#getTransports Transports}
    • - *
    • {@link org.apache.axis.model.wsdd.Deployment#getServices Services}
    • - *
    - *

    - * - * @model extendedMetaData="name='deployment' kind='element'" - * @generated - */ -public interface Deployment extends MappingContainer { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Deployment#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Global Configuration' containment reference. - * - *

    - * If the meaning of the 'Global Configuration' containment reference isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Global Configuration' containment reference. - * @see #setGlobalConfiguration(GlobalConfiguration) - * @model containment="true" - * extendedMetaData="kind='element' name='globalConfiguration' namespace='##targetNamespace'" - * @generated - */ - GlobalConfiguration getGlobalConfiguration(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Deployment#getGlobalConfiguration Global Configuration}' containment reference. - * - * - * @param value the new value of the 'Global Configuration' containment reference. - * @see #getGlobalConfiguration() - * @generated - */ - void setGlobalConfiguration(GlobalConfiguration value); - - /** - * Returns the value of the 'Handlers' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Handler}. - * - *

    - * If the meaning of the 'Handlers' reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Handlers' containment reference list. - * @model type="org.apache.axis.model.wsdd.Handler" containment="true" - * extendedMetaData="name='handler' kind='element' namespace='##targetNamespace'" - * @generated - */ - List getHandlers(); - - /** - * Returns the value of the 'Transports' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Transport}. - * - *

    - * If the meaning of the 'Transports' reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Transports' containment reference list. - * @model type="org.apache.axis.model.wsdd.Transport" containment="true" - * extendedMetaData="name='transport' kind='element' namespace='##targetNamespace'" - * @generated - */ - List getTransports(); - - /** - * Returns the value of the 'Services' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Service}. - * - *

    - * If the meaning of the 'Services' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Services' containment reference list. - * @model type="org.apache.axis.model.wsdd.Service" containment="true" - * extendedMetaData="name='service' kind='element' namespace='##targetNamespace'" - * @generated - */ - List getServices(); - - /** - * - * - * @model otherRequired="true" - * @generated - */ - void merge(Deployment other); - -} // Deployment diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Fault.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Fault.java deleted file mode 100644 index 850353c92..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Fault.java +++ /dev/null @@ -1,130 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - -/** - * - * A representation of the model object 'Fault'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Fault#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Fault#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.Fault#getClass_ Class}
    • - *
    • {@link org.apache.axis.model.wsdd.Fault#getType Type}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Fault { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Fault#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Qname' attribute. - * - *

    - * If the meaning of the 'Qname' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Qname' attribute. - * @see #setQname(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getQname(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Fault#getQname Qname}' attribute. - * - * - * @param value the new value of the 'Qname' attribute. - * @see #getQname() - * @generated - */ - void setQname(QName value); - - /** - * Returns the value of the 'Class' attribute. - * - *

    - * If the meaning of the 'Class' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Class' attribute. - * @see #setClass(String) - * @model - * @generated - */ - String getClass_(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Fault#getClass_ Class}' attribute. - * - * - * @param value the new value of the 'Class' attribute. - * @see #getClass_() - * @generated - */ - void setClass(String value); - - /** - * Returns the value of the 'Type' attribute. - * - *

    - * If the meaning of the 'Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type' attribute. - * @see #setType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Fault#getType Type}' attribute. - * - * - * @param value the new value of the 'Type' attribute. - * @see #getType() - * @generated - */ - void setType(QName value); - -} // Fault diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/GlobalConfiguration.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/GlobalConfiguration.java deleted file mode 100644 index e4e546a77..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/GlobalConfiguration.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - - -/** - * - * A representation of the model object 'Global Configuration'. - * - * - * - * @model - * @generated - */ -public interface GlobalConfiguration extends DeployableItem { -} // GlobalConfiguration diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Handler.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Handler.java deleted file mode 100644 index 82e4fb26d..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Handler.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - - -/** - * - * A representation of the model object 'Handler'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Handler#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Handler#getType Type}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Handler extends Parameterizable { - - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Handler#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Type' attribute. - * - *

    - * If the meaning of the 'Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type' attribute. - * @see #setType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Handler#getType Type}' attribute. - * - * - * @param value the new value of the 'Type' attribute. - * @see #getType() - * @generated - */ - void setType(QName value); -} // Handler diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Mapping.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Mapping.java deleted file mode 100644 index 661d8e802..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Mapping.java +++ /dev/null @@ -1,104 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - -/** - * - * A representation of the model object 'Mapping'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Mapping#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.Mapping#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.Mapping#getEncodingStyle Encoding Style}
    • - *
    - *

    - * - * @model abstract="true" - * @generated - */ -public interface Mapping { - /** - * Returns the value of the 'Qname' attribute. - * - *

    - * If the meaning of the 'Qname' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Qname' attribute. - * @see #setQname(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getQname(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Mapping#getQname Qname}' attribute. - * - * - * @param value the new value of the 'Qname' attribute. - * @see #getQname() - * @generated - */ - void setQname(QName value); - - /** - * Returns the value of the 'Type' attribute. - * - *

    - * If the meaning of the 'Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type' attribute. - * @see #setType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Mapping#getType Type}' attribute. - * - * - * @param value the new value of the 'Type' attribute. - * @see #getType() - * @generated - */ - void setType(QName value); - - /** - * Returns the value of the 'Encoding Style' attribute. - * - *

    - * If the meaning of the 'Encoding Style' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Encoding Style' attribute. - * @see #setEncodingStyle(String) - * @model - * @generated - */ - String getEncodingStyle(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Mapping#getEncodingStyle Encoding Style}' attribute. - * - * - * @param value the new value of the 'Encoding Style' attribute. - * @see #getEncodingStyle() - * @generated - */ - void setEncodingStyle(String value); - -} // Mapping diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java deleted file mode 100644 index 93f83221e..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/MappingContainer.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; - -/** - * - * A representation of the model object 'Mapping Container'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.MappingContainer#getTypeMappings Type Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.MappingContainer#getBeanMappings Bean Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.MappingContainer#getArrayMappings Array Mappings}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface MappingContainer { - /** - * Returns the value of the 'Type Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.TypeMapping}. - * - *

    - * If the meaning of the 'Type Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.TypeMapping" containment="true" - * extendedMetaData="kind='element' name='typeMapping' namespace='##targetNamespace'" - * @generated - */ - List getTypeMappings(); - - /** - * Returns the value of the 'Bean Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.BeanMapping}. - * - *

    - * If the meaning of the 'Bean Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Bean Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.BeanMapping" containment="true" - * extendedMetaData="kind='element' name='beanMapping' namespace='##targetNamespace'" - * @generated - */ - List getBeanMappings(); - - /** - * Returns the value of the 'Array Mappings' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.ArrayMapping}. - * - *

    - * If the meaning of the 'Array Mappings' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Array Mappings' containment reference list. - * @model type="org.apache.axis.model.wsdd.ArrayMapping" containment="true" - * extendedMetaData="kind='element' name='arrayMapping' namespace='##targetNamespace'" - * @generated - */ - List getArrayMappings(); - -} // MappingContainer diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Operation.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Operation.java deleted file mode 100644 index 7769b3567..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Operation.java +++ /dev/null @@ -1,295 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; -import javax.xml.namespace.QName; - -/** - * - * A representation of the model object 'Operation'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Operation#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getReturnQName Return QName}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getReturnType Return Type}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getReturnItemQName Return Item QName}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getReturnItemType Return Item Type}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getSoapAction Soap Action}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getMep Mep}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getReturnHeader Return Header}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getParameters Parameters}
    • - *
    • {@link org.apache.axis.model.wsdd.Operation#getFaults Faults}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Operation { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Qname' attribute. - * - *

    - * If the meaning of the 'Qname' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Qname' attribute. - * @see #setQname(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getQname(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getQname Qname}' attribute. - * - * - * @param value the new value of the 'Qname' attribute. - * @see #getQname() - * @generated - */ - void setQname(QName value); - - /** - * Returns the value of the 'Return QName' attribute. - * - *

    - * If the meaning of the 'Return QName' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Return QName' attribute. - * @see #setReturnQName(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getReturnQName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getReturnQName Return QName}' attribute. - * - * - * @param value the new value of the 'Return QName' attribute. - * @see #getReturnQName() - * @generated - */ - void setReturnQName(QName value); - - /** - * Returns the value of the 'Return Type' attribute. - * - *

    - * If the meaning of the 'Return Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Return Type' attribute. - * @see #setReturnType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getReturnType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getReturnType Return Type}' attribute. - * - * - * @param value the new value of the 'Return Type' attribute. - * @see #getReturnType() - * @generated - */ - void setReturnType(QName value); - - /** - * Returns the value of the 'Return Item QName' attribute. - * - *

    - * If the meaning of the 'Return Item QName' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Return Item QName' attribute. - * @see #setReturnItemQName(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getReturnItemQName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getReturnItemQName Return Item QName}' attribute. - * - * - * @param value the new value of the 'Return Item QName' attribute. - * @see #getReturnItemQName() - * @generated - */ - void setReturnItemQName(QName value); - - /** - * Returns the value of the 'Return Item Type' attribute. - * - *

    - * If the meaning of the 'Return Item Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Return Item Type' attribute. - * @see #setReturnItemType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getReturnItemType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getReturnItemType Return Item Type}' attribute. - * - * - * @param value the new value of the 'Return Item Type' attribute. - * @see #getReturnItemType() - * @generated - */ - void setReturnItemType(QName value); - - /** - * Returns the value of the 'Soap Action' attribute. - * - *

    - * If the meaning of the 'Soap Action' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Soap Action' attribute. - * @see #setSoapAction(String) - * @model - * @generated - */ - String getSoapAction(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getSoapAction Soap Action}' attribute. - * - * - * @param value the new value of the 'Soap Action' attribute. - * @see #getSoapAction() - * @generated - */ - void setSoapAction(String value); - - /** - * Returns the value of the 'Mep' attribute. - * - *

    - * If the meaning of the 'Mep' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Mep' attribute. - * @see #setMep(String) - * @model - * @generated - */ - String getMep(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getMep Mep}' attribute. - * - * - * @param value the new value of the 'Mep' attribute. - * @see #getMep() - * @generated - */ - void setMep(String value); - - /** - * Returns the value of the 'Return Header' attribute. - * - *

    - * If the meaning of the 'Return Header' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Return Header' attribute. - * @see #setReturnHeader(Boolean) - * @model - * @generated - */ - Boolean getReturnHeader(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Operation#getReturnHeader Return Header}' attribute. - * - * - * @param value the new value of the 'Return Header' attribute. - * @see #getReturnHeader() - * @generated - */ - void setReturnHeader(Boolean value); - - /** - * Returns the value of the 'Parameters' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.OperationParameter}. - * - *

    - * If the meaning of the 'Parameters' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Parameters' containment reference list. - * @model type="org.apache.axis.model.wsdd.OperationParameter" containment="true" - * extendedMetaData="kind='element' name='parameter' namespace='##targetNamespace'" - * @generated - */ - List getParameters(); - - /** - * Returns the value of the 'Faults' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Fault}. - * - *

    - * If the meaning of the 'Faults' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Faults' containment reference list. - * @model type="org.apache.axis.model.wsdd.Fault" containment="true" - * extendedMetaData="kind='element' name='fault' namespace='##targetNamespace'" - * @generated - */ - List getFaults(); - -} // Operation diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/OperationParameter.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/OperationParameter.java deleted file mode 100644 index 0820d4f5f..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/OperationParameter.java +++ /dev/null @@ -1,211 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - -/** - * - * A representation of the model object 'Operation Parameter'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getMode Mode}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getInHeader In Header}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getOutHeader Out Header}
    • - *
    • {@link org.apache.axis.model.wsdd.OperationParameter#getItemQName Item QName}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface OperationParameter { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Qname' attribute. - * - *

    - * If the meaning of the 'Qname' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Qname' attribute. - * @see #setQname(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getQname(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getQname Qname}' attribute. - * - * - * @param value the new value of the 'Qname' attribute. - * @see #getQname() - * @generated - */ - void setQname(QName value); - - /** - * Returns the value of the 'Type' attribute. - * - *

    - * If the meaning of the 'Type' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Type' attribute. - * @see #setType(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getType(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getType Type}' attribute. - * - * - * @param value the new value of the 'Type' attribute. - * @see #getType() - * @generated - */ - void setType(QName value); - - /** - * Returns the value of the 'Mode' attribute. - * The literals are from the enumeration {@link org.apache.axis.model.wsdd.ParameterMode}. - * - *

    - * If the meaning of the 'Mode' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Mode' attribute. - * @see org.apache.axis.model.wsdd.ParameterMode - * @see #setMode(ParameterMode) - * @model - * @generated - */ - ParameterMode getMode(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getMode Mode}' attribute. - * - * - * @param value the new value of the 'Mode' attribute. - * @see org.apache.axis.model.wsdd.ParameterMode - * @see #getMode() - * @generated - */ - void setMode(ParameterMode value); - - /** - * Returns the value of the 'In Header' attribute. - * - *

    - * If the meaning of the 'In Header' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'In Header' attribute. - * @see #setInHeader(Boolean) - * @model - * @generated - */ - Boolean getInHeader(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getInHeader In Header}' attribute. - * - * - * @param value the new value of the 'In Header' attribute. - * @see #getInHeader() - * @generated - */ - void setInHeader(Boolean value); - - /** - * Returns the value of the 'Out Header' attribute. - * - *

    - * If the meaning of the 'Out Header' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Out Header' attribute. - * @see #setOutHeader(Boolean) - * @model - * @generated - */ - Boolean getOutHeader(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getOutHeader Out Header}' attribute. - * - * - * @param value the new value of the 'Out Header' attribute. - * @see #getOutHeader() - * @generated - */ - void setOutHeader(Boolean value); - - /** - * Returns the value of the 'Item QName' attribute. - * - *

    - * If the meaning of the 'Item QName' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Item QName' attribute. - * @see #setItemQName(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getItemQName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.OperationParameter#getItemQName Item QName}' attribute. - * - * - * @param value the new value of the 'Item QName' attribute. - * @see #getItemQName() - * @generated - */ - void setItemQName(QName value); - -} // OperationParameter diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameter.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameter.java deleted file mode 100644 index 475e4e368..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameter.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -/** - * - * A representation of the model object 'Parameter'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Parameter#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Parameter#getValue Value}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Parameter { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Parameter#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Value' attribute. - * - *

    - * If the meaning of the 'Value' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Value' attribute. - * @see #setValue(String) - * @model - * @generated - */ - String getValue(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Parameter#getValue Value}' attribute. - * - * - * @param value the new value of the 'Value' attribute. - * @see #getValue() - * @generated - */ - void setValue(String value); - -} // Parameter diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/ParameterMode.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/ParameterMode.java deleted file mode 100644 index 129488839..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/ParameterMode.java +++ /dev/null @@ -1,194 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -/** - * - * A representation of the literals of the enumeration 'Parameter Mode', - * and utility methods for working with them. - * - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterMode() - * @model - * @generated - */ -public final class ParameterMode extends InternalParameterMode { - /** - * The 'IN' literal value. - * - *

    - * If the meaning of 'IN' literal object isn't clear, - * there really should be more of a description here... - *

    - * - * @see #IN_LITERAL - * @model - * @generated - * @ordered - */ - public static final int IN = 1; - - /** - * The 'OUT' literal value. - * - *

    - * If the meaning of 'OUT' literal object isn't clear, - * there really should be more of a description here... - *

    - * - * @see #OUT_LITERAL - * @model - * @generated - * @ordered - */ - public static final int OUT = 2; - - /** - * The 'INOUT' literal value. - * - *

    - * If the meaning of 'INOUT' literal object isn't clear, - * there really should be more of a description here... - *

    - * - * @see #INOUT_LITERAL - * @model - * @generated - * @ordered - */ - public static final int INOUT = 3; - - /** - * The 'IN' literal object. - * - * - * @see #IN - * @generated - * @ordered - */ - public static final ParameterMode IN_LITERAL = new ParameterMode(IN, "IN", "IN"); - - /** - * The 'OUT' literal object. - * - * - * @see #OUT - * @generated - * @ordered - */ - public static final ParameterMode OUT_LITERAL = new ParameterMode(OUT, "OUT", "OUT"); - - /** - * The 'INOUT' literal object. - * - * - * @see #INOUT - * @generated - * @ordered - */ - public static final ParameterMode INOUT_LITERAL = new ParameterMode(INOUT, "INOUT", "INOUT"); - - /** - * An array of all the 'Parameter Mode' enumerators. - * - * - * @generated - */ - private static final ParameterMode[] VALUES_ARRAY = - new ParameterMode[] { - IN_LITERAL, - OUT_LITERAL, - INOUT_LITERAL, - }; - - /** - * A public read-only list of all the 'Parameter Mode' enumerators. - * - * - * @generated - */ - public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); - - /** - * Returns the 'Parameter Mode' literal with the specified literal value. - * - * - * @generated - */ - public static ParameterMode get(String literal) { - for (int i = 0; i < VALUES_ARRAY.length; ++i) { - ParameterMode result = VALUES_ARRAY[i]; - if (result.toString().equals(literal)) { - return result; - } - } - return null; - } - - /** - * Returns the 'Parameter Mode' literal with the specified name. - * - * - * @generated - */ - public static ParameterMode getByName(String name) { - for (int i = 0; i < VALUES_ARRAY.length; ++i) { - ParameterMode result = VALUES_ARRAY[i]; - if (result.getName().equals(name)) { - return result; - } - } - return null; - } - - /** - * Returns the 'Parameter Mode' literal with the specified integer value. - * - * - * @generated - */ - public static ParameterMode get(int value) { - switch (value) { - case IN: return IN_LITERAL; - case OUT: return OUT_LITERAL; - case INOUT: return INOUT_LITERAL; - } - return null; - } - - /** - * Only this class can construct instances. - * - * - * @generated - */ - private ParameterMode(int value, String name, String literal) { - super(value, name, literal); - } - -} //ParameterMode - -/** - * A private implementation class to construct the instances. - * - * - * @generated - */ -class InternalParameterMode extends org.eclipse.emf.common.util.AbstractEnumerator { - /** - * Only this class can construct instances. - * - * - * @generated - */ - protected InternalParameterMode(int value, String name, String literal) { - super(value, name, literal); - } -} diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameterizable.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameterizable.java deleted file mode 100644 index 85e607b11..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Parameterizable.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; - -/** - * - * A representation of the model object 'Parameterizable'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Parameterizable#getParameters Parameters}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Parameterizable { - /** - * Returns the value of the 'Parameters' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Parameter}. - * - *

    - * If the meaning of the 'Parameters' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Parameters' containment reference list. - * @model type="org.apache.axis.model.wsdd.Parameter" containment="true" - * extendedMetaData="kind='element' name='parameter' namespace='##targetNamespace'" - * @generated - */ - List getParameters(); - - /** - * - * - * @model nameRequired="true" valueRequired="true" - * @generated - */ - void setParameter(String name, String value); - -} // Parameterizable diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java deleted file mode 100644 index 3146ae25c..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Service.java +++ /dev/null @@ -1,166 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import java.util.List; -import javax.xml.namespace.QName; -import org.apache.axis.constants.Style; -import org.apache.axis.constants.Use; - -/** - * - * A representation of the model object 'Service'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Service#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Service#getProvider Provider}
    • - *
    • {@link org.apache.axis.model.wsdd.Service#getUse Use}
    • - *
    • {@link org.apache.axis.model.wsdd.Service#getStyle Style}
    • - *
    • {@link org.apache.axis.model.wsdd.Service#getNamespaces Namespaces}
    • - *
    • {@link org.apache.axis.model.wsdd.Service#getOperations Operations}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Service extends DeployableItem, MappingContainer { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Service#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Provider' attribute. - * - *

    - * If the meaning of the 'Provider' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Provider' attribute. - * @see #setProvider(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getProvider(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Service#getProvider Provider}' attribute. - * - * - * @param value the new value of the 'Provider' attribute. - * @see #getProvider() - * @generated - */ - void setProvider(QName value); - - /** - * Returns the value of the 'Use' attribute. - * - *

    - * If the meaning of the 'Use' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Use' attribute. - * @see #setUse(Use) - * @model dataType="org.apache.axis.model.soap.Use" - * @generated - */ - Use getUse(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Service#getUse Use}' attribute. - * - * - * @param value the new value of the 'Use' attribute. - * @see #getUse() - * @generated - */ - void setUse(Use value); - - /** - * Returns the value of the 'Style' attribute. - * - *

    - * If the meaning of the 'Style' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Style' attribute. - * @see #setStyle(Style) - * @model dataType="org.apache.axis.model.soap.Style" - * @generated - */ - Style getStyle(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Service#getStyle Style}' attribute. - * - * - * @param value the new value of the 'Style' attribute. - * @see #getStyle() - * @generated - */ - void setStyle(Style value); - - /** - * Returns the value of the 'Namespaces' attribute list. - * The list contents are of type {@link java.lang.String}. - * - *

    - * If the meaning of the 'Namespaces' attribute list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Namespaces' attribute list. - * @model extendedMetaData="kind='element' name='namespace' namespace='##targetNamespace'" - * @generated - */ - List getNamespaces(); - - /** - * Returns the value of the 'Operations' containment reference list. - * The list contents are of type {@link org.apache.axis.model.wsdd.Operation}. - * - *

    - * If the meaning of the 'Operations' containment reference list isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Operations' containment reference list. - * @model type="org.apache.axis.model.wsdd.Operation" containment="true" - * extendedMetaData="kind='element' name='operation' namespace='##targetNamespace'" - * @generated - */ - List getOperations(); - -} // Service diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/Transport.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/Transport.java deleted file mode 100644 index a05803992..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/Transport.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -import javax.xml.namespace.QName; - - -/** - * - * A representation of the model object 'Transport'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.Transport#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.Transport#getPivot Pivot}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface Transport extends DeployableItem { - /** - * Returns the value of the 'Name' attribute. - * - *

    - * If the meaning of the 'Name' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @model - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Transport#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Pivot' attribute. - * - *

    - * If the meaning of the 'Pivot' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Pivot' attribute. - * @see #setPivot(QName) - * @model dataType="org.apache.axis.model.xml.QName" - * @generated - */ - QName getPivot(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.Transport#getPivot Pivot}' attribute. - * - * - * @param value the new value of the 'Pivot' attribute. - * @see #getPivot() - * @generated - */ - void setPivot(QName value); - -} // Transport diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/TypeMapping.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/TypeMapping.java deleted file mode 100644 index a89f3ca9d..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/TypeMapping.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - - -/** - * - * A representation of the model object 'Type Mapping'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.apache.axis.model.wsdd.TypeMapping#getSerializer Serializer}
    • - *
    • {@link org.apache.axis.model.wsdd.TypeMapping#getDeserializer Deserializer}
    • - *
    - *

    - * - * @model - * @generated - */ -public interface TypeMapping extends Mapping { - /** - * Returns the value of the 'Serializer' attribute. - * - *

    - * If the meaning of the 'Serializer' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Serializer' attribute. - * @see #setSerializer(String) - * @model - * @generated - */ - String getSerializer(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.TypeMapping#getSerializer Serializer}' attribute. - * - * - * @param value the new value of the 'Serializer' attribute. - * @see #getSerializer() - * @generated - */ - void setSerializer(String value); - - /** - * Returns the value of the 'Deserializer' attribute. - * - *

    - * If the meaning of the 'Deserializer' attribute isn't clear, - * there really should be more of a description here... - *

    - * - * @return the value of the 'Deserializer' attribute. - * @see #setDeserializer(String) - * @model - * @generated - */ - String getDeserializer(); - - /** - * Sets the value of the '{@link org.apache.axis.model.wsdd.TypeMapping#getDeserializer Deserializer}' attribute. - * - * - * @param value the new value of the 'Deserializer' attribute. - * @see #getDeserializer() - * @generated - */ - void setDeserializer(String value); - -} // TypeMapping diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java deleted file mode 100644 index 7e2c46c4c..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/WSDDFactory.java +++ /dev/null @@ -1,159 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd; - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @generated - */ -public interface WSDDFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - WSDDFactory INSTANCE = org.apache.axis.model.wsdd.impl.WSDDFactoryImpl.eINSTANCE; - /** - * Returns a new object of class 'Parameter'. - * - * - * @return a new object of class 'Parameter'. - * @generated - */ - Parameter createParameter(); - - /** - * Returns a new object of class 'Type Mapping'. - * - * - * @return a new object of class 'Type Mapping'. - * @generated - */ - TypeMapping createTypeMapping(); - - /** - * Returns a new object of class 'Array Mapping'. - * - * - * @return a new object of class 'Array Mapping'. - * @generated - */ - ArrayMapping createArrayMapping(); - - /** - * Returns a new object of class 'Bean Mapping'. - * - * - * @return a new object of class 'Bean Mapping'. - * @generated - */ - BeanMapping createBeanMapping(); - - /** - * Returns a new object of class 'Mapping Container'. - * - * - * @return a new object of class 'Mapping Container'. - * @generated - */ - MappingContainer createMappingContainer(); - - /** - * Returns a new object of class 'Operation Parameter'. - * - * - * @return a new object of class 'Operation Parameter'. - * @generated - */ - OperationParameter createOperationParameter(); - - /** - * Returns a new object of class 'Fault'. - * - * - * @return a new object of class 'Fault'. - * @generated - */ - Fault createFault(); - - /** - * Returns a new object of class 'Operation'. - * - * - * @return a new object of class 'Operation'. - * @generated - */ - Operation createOperation(); - - /** - * Returns a new object of class 'Parameterizable'. - * - * - * @return a new object of class 'Parameterizable'. - * @generated - */ - Parameterizable createParameterizable(); - - /** - * Returns a new object of class 'Handler'. - * - * - * @return a new object of class 'Handler'. - * @generated - */ - Handler createHandler(); - - /** - * Returns a new object of class 'Chain'. - * - * - * @return a new object of class 'Chain'. - * @generated - */ - Chain createChain(); - - /** - * Returns a new object of class 'Global Configuration'. - * - * - * @return a new object of class 'Global Configuration'. - * @generated - */ - GlobalConfiguration createGlobalConfiguration(); - - /** - * Returns a new object of class 'Transport'. - * - * - * @return a new object of class 'Transport'. - * @generated - */ - Transport createTransport(); - - /** - * Returns a new object of class 'Service'. - * - * - * @return a new object of class 'Service'. - * @generated - */ - Service createService(); - - /** - * Returns a new object of class 'Deployment'. - * - * - * @return a new object of class 'Deployment'. - * @generated - */ - Deployment createDeployment(); - -} //WSDDFactory diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ArrayMappingImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ArrayMappingImpl.java deleted file mode 100644 index 32f2bd983..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ArrayMappingImpl.java +++ /dev/null @@ -1,153 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.ArrayMapping; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Array Mapping'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.ArrayMappingImpl#getInnerType Inner Type}
    • - *
    - *

    - * - * @generated - */ -public class ArrayMappingImpl extends MappingImpl implements ArrayMapping { - /** - * The default value of the '{@link #getInnerType() Inner Type}' attribute. - * - * - * @see #getInnerType() - * @generated - * @ordered - */ - protected static final QName INNER_TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getInnerType() Inner Type}' attribute. - * - * - * @see #getInnerType() - * @generated - * @ordered - */ - protected QName innerType = INNER_TYPE_EDEFAULT; - - /** - * - * - * @generated - */ - protected ArrayMappingImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.ARRAY_MAPPING; - } - - /** - * - * - * @generated - */ - public QName getInnerType() { - return innerType; - } - - /** - * - * - * @generated - */ - public void setInnerType(QName newInnerType) { - innerType = newInnerType; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.ARRAY_MAPPING__INNER_TYPE: - return getInnerType(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.ARRAY_MAPPING__INNER_TYPE: - setInnerType((QName)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.ARRAY_MAPPING__INNER_TYPE: - setInnerType(INNER_TYPE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.ARRAY_MAPPING__INNER_TYPE: - return INNER_TYPE_EDEFAULT == null ? innerType != null : !INNER_TYPE_EDEFAULT.equals(innerType); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (innerType: "); - result.append(innerType); - result.append(')'); - return result.toString(); - } - -} //ArrayMappingImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/BeanMappingImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/BeanMappingImpl.java deleted file mode 100644 index 9065ed225..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/BeanMappingImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.BeanMapping; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Bean Mapping'. - * - *

    - *

    - * - * @generated - */ -public class BeanMappingImpl extends MappingImpl implements BeanMapping { - /** - * - * - * @generated - */ - protected BeanMappingImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.BEAN_MAPPING; - } - -} //BeanMappingImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java deleted file mode 100644 index 76afa77b4..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ChainImpl.java +++ /dev/null @@ -1,257 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; -import java.util.List; -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Chain; - -import org.apache.axis.model.wsdd.Handler; -import org.eclipse.emf.common.notify.NotificationChain; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.InternalEObject; -import org.eclipse.emf.ecore.impl.EObjectImpl; -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Flow'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ChainImpl#getHandlers Handlers}
    • - *
    - *

    - * - * @generated - */ -public class ChainImpl extends EObjectImpl implements Chain { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - /** - * The default value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected static final QName TYPE_EDEFAULT = null; - /** - * The cached value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected QName type = TYPE_EDEFAULT; - /** - * The cached value of the '{@link #getHandlers() Handlers}' containment reference list. - * - * - * @see #getHandlers() - * @generated - * @ordered - */ - protected EList handlers; - - /** - * - * - * @generated - */ - protected ChainImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.CHAIN; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getType() { - return type; - } - - /** - * - * - * @generated - */ - public void setType(QName newType) { - type = newType; - } - - /** - * - * - * @generated - */ - public List getHandlers() { - if (handlers == null) { - handlers = new BasicInternalEList(Handler.class); - } - return handlers; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.CHAIN__HANDLERS: - return ((InternalEList)getHandlers()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.CHAIN__NAME: - return getName(); - case WSDDPackageImpl.CHAIN__TYPE: - return getType(); - case WSDDPackageImpl.CHAIN__HANDLERS: - return getHandlers(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.CHAIN__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.CHAIN__TYPE: - setType((QName)newValue); - return; - case WSDDPackageImpl.CHAIN__HANDLERS: - getHandlers().clear(); - getHandlers().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.CHAIN__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.CHAIN__TYPE: - setType(TYPE_EDEFAULT); - return; - case WSDDPackageImpl.CHAIN__HANDLERS: - getHandlers().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.CHAIN__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.CHAIN__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); - case WSDDPackageImpl.CHAIN__HANDLERS: - return handlers != null && !handlers.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", type: "); - result.append(type); - result.append(')'); - return result.toString(); - } - -} //FlowImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java deleted file mode 100644 index ae94f6b50..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeployableItemImpl.java +++ /dev/null @@ -1,222 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.DeployableItem; - -import org.apache.axis.model.wsdd.Chain; -import org.eclipse.emf.common.notify.NotificationChain; -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.InternalEObject; - -/** - * - * An implementation of the model object 'Deployable Item'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.DeployableItemImpl#getRequestFlow Request Flow}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.DeployableItemImpl#getResponseFlow Response Flow}
    • - *
    - *

    - * - * @generated - */ -public abstract class DeployableItemImpl extends ParameterizableImpl implements DeployableItem { - /** - * The cached value of the '{@link #getRequestFlow() Request Flow}' containment reference. - * - * - * @see #getRequestFlow() - * @generated - * @ordered - */ - protected Chain requestFlow; - /** - * The cached value of the '{@link #getResponseFlow() Response Flow}' containment reference. - * - * - * @see #getResponseFlow() - * @generated - * @ordered - */ - protected Chain responseFlow; - - /** - * - * - * @generated - */ - protected DeployableItemImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.DEPLOYABLE_ITEM; - } - - /** - * - * - * @generated - */ - public Chain getRequestFlow() { - return requestFlow; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetRequestFlow(Chain newRequestFlow, NotificationChain msgs) { - Chain oldRequestFlow = requestFlow; - requestFlow = newRequestFlow; - return msgs; - } - - /** - * - * - * @generated - */ - public void setRequestFlow(Chain newRequestFlow) { - if (newRequestFlow != requestFlow) { - NotificationChain msgs = null; - if (requestFlow != null) - msgs = ((InternalEObject)requestFlow).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW, null, msgs); - if (newRequestFlow != null) - msgs = ((InternalEObject)newRequestFlow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW, null, msgs); - msgs = basicSetRequestFlow(newRequestFlow, msgs); - if (msgs != null) msgs.dispatch(); - } - } - - /** - * - * - * @generated - */ - public Chain getResponseFlow() { - return responseFlow; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetResponseFlow(Chain newResponseFlow, NotificationChain msgs) { - Chain oldResponseFlow = responseFlow; - responseFlow = newResponseFlow; - return msgs; - } - - /** - * - * - * @generated - */ - public void setResponseFlow(Chain newResponseFlow) { - if (newResponseFlow != responseFlow) { - NotificationChain msgs = null; - if (responseFlow != null) - msgs = ((InternalEObject)responseFlow).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW, null, msgs); - if (newResponseFlow != null) - msgs = ((InternalEObject)newResponseFlow).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW, null, msgs); - msgs = basicSetResponseFlow(newResponseFlow, msgs); - if (msgs != null) msgs.dispatch(); - } - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - return basicSetRequestFlow(null, msgs); - case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - return basicSetResponseFlow(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - return getRequestFlow(); - case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - return getResponseFlow(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - setRequestFlow((Chain)newValue); - return; - case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - setResponseFlow((Chain)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - setRequestFlow((Chain)null); - return; - case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - setResponseFlow((Chain)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYABLE_ITEM__REQUEST_FLOW: - return requestFlow != null; - case WSDDPackageImpl.DEPLOYABLE_ITEM__RESPONSE_FLOW: - return responseFlow != null; - } - return super.eIsSet(featureID); - } - -} //DeployableItemImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java deleted file mode 100644 index 3cff4c809..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/DeploymentImpl.java +++ /dev/null @@ -1,355 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; - -import java.util.List; -import org.apache.axis.model.wsdd.Deployment; -import org.apache.axis.model.wsdd.GlobalConfiguration; -import org.apache.axis.model.wsdd.Handler; -import org.apache.axis.model.wsdd.Service; - -import org.apache.axis.model.wsdd.Transport; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Deployment'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.DeploymentImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.DeploymentImpl#getGlobalConfiguration Global Configuration}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.DeploymentImpl#getHandlers Handlers}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.DeploymentImpl#getTransports Transports}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.DeploymentImpl#getServices Services}
    • - *
    - *

    - * - * @generated - */ -public class DeploymentImpl extends MappingContainerImpl implements Deployment { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - /** - * The cached value of the '{@link #getGlobalConfiguration() Global Configuration}' containment reference. - * - * - * @see #getGlobalConfiguration() - * @generated - * @ordered - */ - protected GlobalConfiguration globalConfiguration; - /** - * The cached value of the '{@link #getHandlers() Handlers}' containment reference list. - * - * - * @see #getHandlers() - * @generated - * @ordered - */ - protected EList handlers; - /** - * The cached value of the '{@link #getTransports() Transports}' containment reference list. - * - * - * @see #getTransports() - * @generated - * @ordered - */ - protected EList transports; - /** - * The cached value of the '{@link #getServices() Services}' containment reference list. - * - * - * @see #getServices() - * @generated - * @ordered - */ - protected EList services; - - /** - * - * - * @generated - */ - protected DeploymentImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.DEPLOYMENT; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public GlobalConfiguration getGlobalConfiguration() { - return globalConfiguration; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetGlobalConfiguration(GlobalConfiguration newGlobalConfiguration, NotificationChain msgs) { - GlobalConfiguration oldGlobalConfiguration = globalConfiguration; - globalConfiguration = newGlobalConfiguration; - return msgs; - } - - /** - * - * - * @generated - */ - public void setGlobalConfiguration(GlobalConfiguration newGlobalConfiguration) { - if (newGlobalConfiguration != globalConfiguration) { - NotificationChain msgs = null; - if (globalConfiguration != null) - msgs = ((InternalEObject)globalConfiguration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION, null, msgs); - if (newGlobalConfiguration != null) - msgs = ((InternalEObject)newGlobalConfiguration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION, null, msgs); - msgs = basicSetGlobalConfiguration(newGlobalConfiguration, msgs); - if (msgs != null) msgs.dispatch(); - } - } - - /** - * - * - * @generated - */ - public List getHandlers() { - if (handlers == null) { - handlers = new BasicInternalEList(Handler.class); - } - return handlers; - } - - /** - * - * - * @generated - */ - public List getTransports() { - if (transports == null) { - transports = new BasicInternalEList(Transport.class); - } - return transports; - } - - /** - * - * - * @generated - */ - public List getServices() { - if (services == null) { - services = new BasicInternalEList(Service.class); - } - return services; - } - - public void merge(Deployment other) { - // TODO: very naive implementation; need more fine grained merging - GlobalConfiguration otherGlobalConfiguration = other.getGlobalConfiguration(); - if (otherGlobalConfiguration != null) { - setGlobalConfiguration(otherGlobalConfiguration); - } - getHandlers().addAll(other.getHandlers()); - getTransports().addAll(other.getTransports()); - getServices().addAll(other.getServices()); - getTypeMappings().addAll(other.getTypeMappings()); - getBeanMappings().addAll(other.getBeanMappings()); - getArrayMappings().addAll(other.getArrayMappings()); - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION: - return basicSetGlobalConfiguration(null, msgs); - case WSDDPackageImpl.DEPLOYMENT__HANDLERS: - return ((InternalEList)getHandlers()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.DEPLOYMENT__TRANSPORTS: - return ((InternalEList)getTransports()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.DEPLOYMENT__SERVICES: - return ((InternalEList)getServices()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYMENT__NAME: - return getName(); - case WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION: - return getGlobalConfiguration(); - case WSDDPackageImpl.DEPLOYMENT__HANDLERS: - return getHandlers(); - case WSDDPackageImpl.DEPLOYMENT__TRANSPORTS: - return getTransports(); - case WSDDPackageImpl.DEPLOYMENT__SERVICES: - return getServices(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYMENT__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION: - setGlobalConfiguration((GlobalConfiguration)newValue); - return; - case WSDDPackageImpl.DEPLOYMENT__HANDLERS: - getHandlers().clear(); - getHandlers().addAll((Collection)newValue); - return; - case WSDDPackageImpl.DEPLOYMENT__TRANSPORTS: - getTransports().clear(); - getTransports().addAll((Collection)newValue); - return; - case WSDDPackageImpl.DEPLOYMENT__SERVICES: - getServices().clear(); - getServices().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYMENT__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION: - setGlobalConfiguration((GlobalConfiguration)null); - return; - case WSDDPackageImpl.DEPLOYMENT__HANDLERS: - getHandlers().clear(); - return; - case WSDDPackageImpl.DEPLOYMENT__TRANSPORTS: - getTransports().clear(); - return; - case WSDDPackageImpl.DEPLOYMENT__SERVICES: - getServices().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.DEPLOYMENT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.DEPLOYMENT__GLOBAL_CONFIGURATION: - return globalConfiguration != null; - case WSDDPackageImpl.DEPLOYMENT__HANDLERS: - return handlers != null && !handlers.isEmpty(); - case WSDDPackageImpl.DEPLOYMENT__TRANSPORTS: - return transports != null && !transports.isEmpty(); - case WSDDPackageImpl.DEPLOYMENT__SERVICES: - return services != null && !services.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //DeploymentImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FaultImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FaultImpl.java deleted file mode 100644 index ba5b82cfc..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/FaultImpl.java +++ /dev/null @@ -1,308 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Fault; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -/** - * - * An implementation of the model object 'Fault'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.FaultImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.FaultImpl#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.FaultImpl#getClass_ Class}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.FaultImpl#getType Type}
    • - *
    - *

    - * - * @generated - */ -public class FaultImpl extends EObjectImpl implements Fault { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected static final QName QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected QName qname = QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getClass_() Class}' attribute. - * - * - * @see #getClass_() - * @generated - * @ordered - */ - protected static final String CLASS_EDEFAULT = null; - - /** - * The cached value of the '{@link #getClass_() Class}' attribute. - * - * - * @see #getClass_() - * @generated - * @ordered - */ - protected String class_ = CLASS_EDEFAULT; - - /** - * The default value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected static final QName TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected QName type = TYPE_EDEFAULT; - - /** - * - * - * @generated - */ - protected FaultImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.FAULT; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getQname() { - return qname; - } - - /** - * - * - * @generated - */ - public void setQname(QName newQname) { - qname = newQname; - } - - /** - * - * - * @generated - */ - public String getClass_() { - return class_; - } - - /** - * - * - * @generated - */ - public void setClass(String newClass) { - class_ = newClass; - } - - /** - * - * - * @generated - */ - public QName getType() { - return type; - } - - /** - * - * - * @generated - */ - public void setType(QName newType) { - type = newType; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.FAULT__NAME: - return getName(); - case WSDDPackageImpl.FAULT__QNAME: - return getQname(); - case WSDDPackageImpl.FAULT__CLASS: - return getClass_(); - case WSDDPackageImpl.FAULT__TYPE: - return getType(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.FAULT__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.FAULT__QNAME: - setQname((QName)newValue); - return; - case WSDDPackageImpl.FAULT__CLASS: - setClass((String)newValue); - return; - case WSDDPackageImpl.FAULT__TYPE: - setType((QName)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.FAULT__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.FAULT__QNAME: - setQname(QNAME_EDEFAULT); - return; - case WSDDPackageImpl.FAULT__CLASS: - setClass(CLASS_EDEFAULT); - return; - case WSDDPackageImpl.FAULT__TYPE: - setType(TYPE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.FAULT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.FAULT__QNAME: - return QNAME_EDEFAULT == null ? qname != null : !QNAME_EDEFAULT.equals(qname); - case WSDDPackageImpl.FAULT__CLASS: - return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_); - case WSDDPackageImpl.FAULT__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", qname: "); - result.append(qname); - result.append(", class: "); - result.append(class_); - result.append(", type: "); - result.append(type); - result.append(')'); - return result.toString(); - } - -} //FaultImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/GlobalConfigurationImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/GlobalConfigurationImpl.java deleted file mode 100644 index 29481371f..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/GlobalConfigurationImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.GlobalConfiguration; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Global Configuration'. - * - *

    - *

    - * - * @generated - */ -public class GlobalConfigurationImpl extends DeployableItemImpl implements GlobalConfiguration { - /** - * - * - * @generated - */ - protected GlobalConfigurationImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.GLOBAL_CONFIGURATION; - } - -} //GlobalConfigurationImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/HandlerImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/HandlerImpl.java deleted file mode 100644 index fa7620670..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/HandlerImpl.java +++ /dev/null @@ -1,201 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Handler; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Handler'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.HandlerImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.HandlerImpl#getType Type}
    • - *
    - *

    - * - * @generated - */ -public class HandlerImpl extends ParameterizableImpl implements Handler { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - /** - * The default value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected static final QName TYPE_EDEFAULT = null; - /** - * The cached value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected QName type = TYPE_EDEFAULT; - - /** - * - * - * @generated - */ - protected HandlerImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.HANDLER; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getType() { - return type; - } - - /** - * - * - * @generated - */ - public void setType(QName newType) { - type = newType; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.HANDLER__NAME: - return getName(); - case WSDDPackageImpl.HANDLER__TYPE: - return getType(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.HANDLER__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.HANDLER__TYPE: - setType((QName)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.HANDLER__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.HANDLER__TYPE: - setType(TYPE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.HANDLER__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.HANDLER__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", type: "); - result.append(type); - result.append(')'); - return result.toString(); - } - -} //HandlerImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/Helper.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/Helper.java new file mode 100644 index 000000000..620f92d39 --- /dev/null +++ b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/Helper.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.model.wsdd.impl; + +import java.util.Iterator; + +import org.apache.axis.model.wsdd.Deployment; +import org.apache.axis.model.wsdd.GlobalConfiguration; +import org.apache.axis.model.wsdd.Parameter; +import org.apache.axis.model.wsdd.Parameterizable; +import org.apache.axis.model.wsdd.WSDDFactory; + +final class Helper { + private Helper() {} + + static void merge(Deployment that, Deployment other) { + // TODO: very naive implementation; need more fine grained merging + GlobalConfiguration otherGlobalConfiguration = other.getGlobalConfiguration(); + if (otherGlobalConfiguration != null) { + that.setGlobalConfiguration(otherGlobalConfiguration); + } + that.getHandlers().addAll(other.getHandlers()); + that.getTransports().addAll(other.getTransports()); + that.getServices().addAll(other.getServices()); + that.getTypeMappings().addAll(other.getTypeMappings()); + that.getBeanMappings().addAll(other.getBeanMappings()); + that.getArrayMappings().addAll(other.getArrayMappings()); + } + + static void setParameter(Parameterizable that, String name, String value) { + for (Iterator it = that.getParameters().iterator(); it.hasNext(); ) { + Parameter param = (Parameter)it.next(); + if (name.equals(param.getName())) { + param.setValue(value); + return; + } + } + Parameter param = WSDDFactory.INSTANCE.createParameter(); + param.setName(name); + param.setValue(value); + that.getParameters().add(param); + } +} diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java deleted file mode 100644 index ec705b905..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingContainerImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; -import java.util.List; - -import org.apache.axis.model.wsdd.ArrayMapping; -import org.apache.axis.model.wsdd.BeanMapping; -import org.apache.axis.model.wsdd.MappingContainer; -import org.apache.axis.model.wsdd.TypeMapping; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Mapping Container'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getTypeMappings Type Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getBeanMappings Bean Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.MappingContainerImpl#getArrayMappings Array Mappings}
    • - *
    - *

    - * - * @generated - */ -public class MappingContainerImpl extends EObjectImpl implements MappingContainer { - /** - * The cached value of the '{@link #getTypeMappings() Type Mappings}' containment reference list. - * - * - * @see #getTypeMappings() - * @generated - * @ordered - */ - protected EList typeMappings; - - /** - * The cached value of the '{@link #getBeanMappings() Bean Mappings}' containment reference list. - * - * - * @see #getBeanMappings() - * @generated - * @ordered - */ - protected EList beanMappings; - - /** - * The cached value of the '{@link #getArrayMappings() Array Mappings}' containment reference list. - * - * - * @see #getArrayMappings() - * @generated - * @ordered - */ - protected EList arrayMappings; - - /** - * - * - * @generated - */ - protected MappingContainerImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.MAPPING_CONTAINER; - } - - /** - * - * - * @generated - */ - public List getTypeMappings() { - if (typeMappings == null) { - typeMappings = new BasicInternalEList(TypeMapping.class); - } - return typeMappings; - } - - /** - * - * - * @generated - */ - public List getBeanMappings() { - if (beanMappings == null) { - beanMappings = new BasicInternalEList(BeanMapping.class); - } - return beanMappings; - } - - /** - * - * - * @generated - */ - public List getArrayMappings() { - if (arrayMappings == null) { - arrayMappings = new BasicInternalEList(ArrayMapping.class); - } - return arrayMappings; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: - return ((InternalEList)getTypeMappings()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: - return ((InternalEList)getBeanMappings()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: - return ((InternalEList)getArrayMappings()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: - return getTypeMappings(); - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: - return getBeanMappings(); - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: - return getArrayMappings(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: - getTypeMappings().clear(); - getTypeMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: - getBeanMappings().clear(); - getBeanMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: - getArrayMappings().clear(); - getArrayMappings().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: - getTypeMappings().clear(); - return; - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: - getBeanMappings().clear(); - return; - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: - getArrayMappings().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: - return typeMappings != null && !typeMappings.isEmpty(); - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: - return beanMappings != null && !beanMappings.isEmpty(); - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: - return arrayMappings != null && !arrayMappings.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //MappingContainerImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingImpl.java deleted file mode 100644 index f626a9ad4..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/MappingImpl.java +++ /dev/null @@ -1,257 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Mapping; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -/** - * - * An implementation of the model object 'Mapping'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.MappingImpl#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.MappingImpl#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.MappingImpl#getEncodingStyle Encoding Style}
    • - *
    - *

    - * - * @generated - */ -public abstract class MappingImpl extends EObjectImpl implements Mapping { - /** - * The default value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected static final QName QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected QName qname = QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected static final QName TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected QName type = TYPE_EDEFAULT; - - /** - * The default value of the '{@link #getEncodingStyle() Encoding Style}' attribute. - * - * - * @see #getEncodingStyle() - * @generated - * @ordered - */ - protected static final String ENCODING_STYLE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getEncodingStyle() Encoding Style}' attribute. - * - * - * @see #getEncodingStyle() - * @generated - * @ordered - */ - protected String encodingStyle = ENCODING_STYLE_EDEFAULT; - - /** - * - * - * @generated - */ - protected MappingImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.MAPPING; - } - - /** - * - * - * @generated - */ - public QName getQname() { - return qname; - } - - /** - * - * - * @generated - */ - public void setQname(QName newQname) { - qname = newQname; - } - - /** - * - * - * @generated - */ - public QName getType() { - return type; - } - - /** - * - * - * @generated - */ - public void setType(QName newType) { - type = newType; - } - - /** - * - * - * @generated - */ - public String getEncodingStyle() { - return encodingStyle; - } - - /** - * - * - * @generated - */ - public void setEncodingStyle(String newEncodingStyle) { - encodingStyle = newEncodingStyle; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.MAPPING__QNAME: - return getQname(); - case WSDDPackageImpl.MAPPING__TYPE: - return getType(); - case WSDDPackageImpl.MAPPING__ENCODING_STYLE: - return getEncodingStyle(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.MAPPING__QNAME: - setQname((QName)newValue); - return; - case WSDDPackageImpl.MAPPING__TYPE: - setType((QName)newValue); - return; - case WSDDPackageImpl.MAPPING__ENCODING_STYLE: - setEncodingStyle((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.MAPPING__QNAME: - setQname(QNAME_EDEFAULT); - return; - case WSDDPackageImpl.MAPPING__TYPE: - setType(TYPE_EDEFAULT); - return; - case WSDDPackageImpl.MAPPING__ENCODING_STYLE: - setEncodingStyle(ENCODING_STYLE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.MAPPING__QNAME: - return QNAME_EDEFAULT == null ? qname != null : !QNAME_EDEFAULT.equals(qname); - case WSDDPackageImpl.MAPPING__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); - case WSDDPackageImpl.MAPPING__ENCODING_STYLE: - return ENCODING_STYLE_EDEFAULT == null ? encodingStyle != null : !ENCODING_STYLE_EDEFAULT.equals(encodingStyle); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (qname: "); - result.append(qname); - result.append(", type: "); - result.append(type); - result.append(", encodingStyle: "); - result.append(encodingStyle); - result.append(')'); - return result.toString(); - } - -} //MappingImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationImpl.java deleted file mode 100644 index 1f65151dc..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationImpl.java +++ /dev/null @@ -1,659 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; - -import java.util.List; -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Fault; -import org.apache.axis.model.wsdd.Operation; -import org.apache.axis.model.wsdd.OperationParameter; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Operation'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getReturnQName Return QName}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getReturnType Return Type}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getReturnItemQName Return Item QName}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getReturnItemType Return Item Type}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getSoapAction Soap Action}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getMep Mep}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getReturnHeader Return Header}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getParameters Parameters}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationImpl#getFaults Faults}
    • - *
    - *

    - * - * @generated - */ -public class OperationImpl extends EObjectImpl implements Operation { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected static final QName QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected QName qname = QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getReturnQName() Return QName}' attribute. - * - * - * @see #getReturnQName() - * @generated - * @ordered - */ - protected static final QName RETURN_QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getReturnQName() Return QName}' attribute. - * - * - * @see #getReturnQName() - * @generated - * @ordered - */ - protected QName returnQName = RETURN_QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getReturnType() Return Type}' attribute. - * - * - * @see #getReturnType() - * @generated - * @ordered - */ - protected static final QName RETURN_TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getReturnType() Return Type}' attribute. - * - * - * @see #getReturnType() - * @generated - * @ordered - */ - protected QName returnType = RETURN_TYPE_EDEFAULT; - - /** - * The default value of the '{@link #getReturnItemQName() Return Item QName}' attribute. - * - * - * @see #getReturnItemQName() - * @generated - * @ordered - */ - protected static final QName RETURN_ITEM_QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getReturnItemQName() Return Item QName}' attribute. - * - * - * @see #getReturnItemQName() - * @generated - * @ordered - */ - protected QName returnItemQName = RETURN_ITEM_QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getReturnItemType() Return Item Type}' attribute. - * - * - * @see #getReturnItemType() - * @generated - * @ordered - */ - protected static final QName RETURN_ITEM_TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getReturnItemType() Return Item Type}' attribute. - * - * - * @see #getReturnItemType() - * @generated - * @ordered - */ - protected QName returnItemType = RETURN_ITEM_TYPE_EDEFAULT; - - /** - * The default value of the '{@link #getSoapAction() Soap Action}' attribute. - * - * - * @see #getSoapAction() - * @generated - * @ordered - */ - protected static final String SOAP_ACTION_EDEFAULT = null; - - /** - * The cached value of the '{@link #getSoapAction() Soap Action}' attribute. - * - * - * @see #getSoapAction() - * @generated - * @ordered - */ - protected String soapAction = SOAP_ACTION_EDEFAULT; - - /** - * The default value of the '{@link #getMep() Mep}' attribute. - * - * - * @see #getMep() - * @generated - * @ordered - */ - protected static final String MEP_EDEFAULT = null; - - /** - * The cached value of the '{@link #getMep() Mep}' attribute. - * - * - * @see #getMep() - * @generated - * @ordered - */ - protected String mep = MEP_EDEFAULT; - - /** - * The default value of the '{@link #getReturnHeader() Return Header}' attribute. - * - * - * @see #getReturnHeader() - * @generated - * @ordered - */ - protected static final Boolean RETURN_HEADER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getReturnHeader() Return Header}' attribute. - * - * - * @see #getReturnHeader() - * @generated - * @ordered - */ - protected Boolean returnHeader = RETURN_HEADER_EDEFAULT; - - /** - * The cached value of the '{@link #getParameters() Parameters}' containment reference list. - * - * - * @see #getParameters() - * @generated - * @ordered - */ - protected EList parameters; - - /** - * The cached value of the '{@link #getFaults() Faults}' containment reference list. - * - * - * @see #getFaults() - * @generated - * @ordered - */ - protected EList faults; - - /** - * - * - * @generated - */ - protected OperationImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.OPERATION; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getQname() { - return qname; - } - - /** - * - * - * @generated - */ - public void setQname(QName newQname) { - qname = newQname; - } - - /** - * - * - * @generated - */ - public QName getReturnQName() { - return returnQName; - } - - /** - * - * - * @generated - */ - public void setReturnQName(QName newReturnQName) { - returnQName = newReturnQName; - } - - /** - * - * - * @generated - */ - public QName getReturnType() { - return returnType; - } - - /** - * - * - * @generated - */ - public void setReturnType(QName newReturnType) { - returnType = newReturnType; - } - - /** - * - * - * @generated - */ - public QName getReturnItemQName() { - return returnItemQName; - } - - /** - * - * - * @generated - */ - public void setReturnItemQName(QName newReturnItemQName) { - returnItemQName = newReturnItemQName; - } - - /** - * - * - * @generated - */ - public QName getReturnItemType() { - return returnItemType; - } - - /** - * - * - * @generated - */ - public void setReturnItemType(QName newReturnItemType) { - returnItemType = newReturnItemType; - } - - /** - * - * - * @generated - */ - public String getSoapAction() { - return soapAction; - } - - /** - * - * - * @generated - */ - public void setSoapAction(String newSoapAction) { - soapAction = newSoapAction; - } - - /** - * - * - * @generated - */ - public String getMep() { - return mep; - } - - /** - * - * - * @generated - */ - public void setMep(String newMep) { - mep = newMep; - } - - /** - * - * - * @generated - */ - public Boolean getReturnHeader() { - return returnHeader; - } - - /** - * - * - * @generated - */ - public void setReturnHeader(Boolean newReturnHeader) { - returnHeader = newReturnHeader; - } - - /** - * - * - * @generated - */ - public List getParameters() { - if (parameters == null) { - parameters = new BasicInternalEList(OperationParameter.class); - } - return parameters; - } - - /** - * - * - * @generated - */ - public List getFaults() { - if (faults == null) { - faults = new BasicInternalEList(Fault.class); - } - return faults; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.OPERATION__PARAMETERS: - return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.OPERATION__FAULTS: - return ((InternalEList)getFaults()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.OPERATION__NAME: - return getName(); - case WSDDPackageImpl.OPERATION__QNAME: - return getQname(); - case WSDDPackageImpl.OPERATION__RETURN_QNAME: - return getReturnQName(); - case WSDDPackageImpl.OPERATION__RETURN_TYPE: - return getReturnType(); - case WSDDPackageImpl.OPERATION__RETURN_ITEM_QNAME: - return getReturnItemQName(); - case WSDDPackageImpl.OPERATION__RETURN_ITEM_TYPE: - return getReturnItemType(); - case WSDDPackageImpl.OPERATION__SOAP_ACTION: - return getSoapAction(); - case WSDDPackageImpl.OPERATION__MEP: - return getMep(); - case WSDDPackageImpl.OPERATION__RETURN_HEADER: - return getReturnHeader(); - case WSDDPackageImpl.OPERATION__PARAMETERS: - return getParameters(); - case WSDDPackageImpl.OPERATION__FAULTS: - return getFaults(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.OPERATION__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.OPERATION__QNAME: - setQname((QName)newValue); - return; - case WSDDPackageImpl.OPERATION__RETURN_QNAME: - setReturnQName((QName)newValue); - return; - case WSDDPackageImpl.OPERATION__RETURN_TYPE: - setReturnType((QName)newValue); - return; - case WSDDPackageImpl.OPERATION__RETURN_ITEM_QNAME: - setReturnItemQName((QName)newValue); - return; - case WSDDPackageImpl.OPERATION__RETURN_ITEM_TYPE: - setReturnItemType((QName)newValue); - return; - case WSDDPackageImpl.OPERATION__SOAP_ACTION: - setSoapAction((String)newValue); - return; - case WSDDPackageImpl.OPERATION__MEP: - setMep((String)newValue); - return; - case WSDDPackageImpl.OPERATION__RETURN_HEADER: - setReturnHeader((Boolean)newValue); - return; - case WSDDPackageImpl.OPERATION__PARAMETERS: - getParameters().clear(); - getParameters().addAll((Collection)newValue); - return; - case WSDDPackageImpl.OPERATION__FAULTS: - getFaults().clear(); - getFaults().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.OPERATION__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__QNAME: - setQname(QNAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__RETURN_QNAME: - setReturnQName(RETURN_QNAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__RETURN_TYPE: - setReturnType(RETURN_TYPE_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__RETURN_ITEM_QNAME: - setReturnItemQName(RETURN_ITEM_QNAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__RETURN_ITEM_TYPE: - setReturnItemType(RETURN_ITEM_TYPE_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__SOAP_ACTION: - setSoapAction(SOAP_ACTION_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__MEP: - setMep(MEP_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__RETURN_HEADER: - setReturnHeader(RETURN_HEADER_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION__PARAMETERS: - getParameters().clear(); - return; - case WSDDPackageImpl.OPERATION__FAULTS: - getFaults().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.OPERATION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.OPERATION__QNAME: - return QNAME_EDEFAULT == null ? qname != null : !QNAME_EDEFAULT.equals(qname); - case WSDDPackageImpl.OPERATION__RETURN_QNAME: - return RETURN_QNAME_EDEFAULT == null ? returnQName != null : !RETURN_QNAME_EDEFAULT.equals(returnQName); - case WSDDPackageImpl.OPERATION__RETURN_TYPE: - return RETURN_TYPE_EDEFAULT == null ? returnType != null : !RETURN_TYPE_EDEFAULT.equals(returnType); - case WSDDPackageImpl.OPERATION__RETURN_ITEM_QNAME: - return RETURN_ITEM_QNAME_EDEFAULT == null ? returnItemQName != null : !RETURN_ITEM_QNAME_EDEFAULT.equals(returnItemQName); - case WSDDPackageImpl.OPERATION__RETURN_ITEM_TYPE: - return RETURN_ITEM_TYPE_EDEFAULT == null ? returnItemType != null : !RETURN_ITEM_TYPE_EDEFAULT.equals(returnItemType); - case WSDDPackageImpl.OPERATION__SOAP_ACTION: - return SOAP_ACTION_EDEFAULT == null ? soapAction != null : !SOAP_ACTION_EDEFAULT.equals(soapAction); - case WSDDPackageImpl.OPERATION__MEP: - return MEP_EDEFAULT == null ? mep != null : !MEP_EDEFAULT.equals(mep); - case WSDDPackageImpl.OPERATION__RETURN_HEADER: - return RETURN_HEADER_EDEFAULT == null ? returnHeader != null : !RETURN_HEADER_EDEFAULT.equals(returnHeader); - case WSDDPackageImpl.OPERATION__PARAMETERS: - return parameters != null && !parameters.isEmpty(); - case WSDDPackageImpl.OPERATION__FAULTS: - return faults != null && !faults.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", qname: "); - result.append(qname); - result.append(", returnQName: "); - result.append(returnQName); - result.append(", returnType: "); - result.append(returnType); - result.append(", returnItemQName: "); - result.append(returnItemQName); - result.append(", returnItemType: "); - result.append(returnItemType); - result.append(", soapAction: "); - result.append(soapAction); - result.append(", mep: "); - result.append(mep); - result.append(", returnHeader: "); - result.append(returnHeader); - result.append(')'); - return result.toString(); - } - -} //OperationImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationParameterImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationParameterImpl.java deleted file mode 100644 index a1d396b7d..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/OperationParameterImpl.java +++ /dev/null @@ -1,462 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.OperationParameter; -import org.apache.axis.model.wsdd.ParameterMode; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -/** - * - * An implementation of the model object 'Operation Parameter'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getQname Qname}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getType Type}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getMode Mode}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getInHeader In Header}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getOutHeader Out Header}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.OperationParameterImpl#getItemQName Item QName}
    • - *
    - *

    - * - * @generated - */ -public class OperationParameterImpl extends EObjectImpl implements OperationParameter { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected static final QName QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getQname() Qname}' attribute. - * - * - * @see #getQname() - * @generated - * @ordered - */ - protected QName qname = QNAME_EDEFAULT; - - /** - * The default value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected static final QName TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getType() Type}' attribute. - * - * - * @see #getType() - * @generated - * @ordered - */ - protected QName type = TYPE_EDEFAULT; - - /** - * The default value of the '{@link #getMode() Mode}' attribute. - * - * - * @see #getMode() - * @generated - * @ordered - */ - protected static final ParameterMode MODE_EDEFAULT = ParameterMode.IN_LITERAL; - - /** - * The cached value of the '{@link #getMode() Mode}' attribute. - * - * - * @see #getMode() - * @generated - * @ordered - */ - protected ParameterMode mode = MODE_EDEFAULT; - - /** - * The default value of the '{@link #getInHeader() In Header}' attribute. - * - * - * @see #getInHeader() - * @generated - * @ordered - */ - protected static final Boolean IN_HEADER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getInHeader() In Header}' attribute. - * - * - * @see #getInHeader() - * @generated - * @ordered - */ - protected Boolean inHeader = IN_HEADER_EDEFAULT; - - /** - * The default value of the '{@link #getOutHeader() Out Header}' attribute. - * - * - * @see #getOutHeader() - * @generated - * @ordered - */ - protected static final Boolean OUT_HEADER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getOutHeader() Out Header}' attribute. - * - * - * @see #getOutHeader() - * @generated - * @ordered - */ - protected Boolean outHeader = OUT_HEADER_EDEFAULT; - - /** - * The default value of the '{@link #getItemQName() Item QName}' attribute. - * - * - * @see #getItemQName() - * @generated - * @ordered - */ - protected static final QName ITEM_QNAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getItemQName() Item QName}' attribute. - * - * - * @see #getItemQName() - * @generated - * @ordered - */ - protected QName itemQName = ITEM_QNAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected OperationParameterImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.OPERATION_PARAMETER; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getQname() { - return qname; - } - - /** - * - * - * @generated - */ - public void setQname(QName newQname) { - qname = newQname; - } - - /** - * - * - * @generated - */ - public QName getType() { - return type; - } - - /** - * - * - * @generated - */ - public void setType(QName newType) { - type = newType; - } - - /** - * - * - * @generated - */ - public ParameterMode getMode() { - return mode; - } - - /** - * - * - * @generated - */ - public void setMode(ParameterMode newMode) { - mode = newMode == null ? MODE_EDEFAULT : newMode; - } - - /** - * - * - * @generated - */ - public Boolean getInHeader() { - return inHeader; - } - - /** - * - * - * @generated - */ - public void setInHeader(Boolean newInHeader) { - inHeader = newInHeader; - } - - /** - * - * - * @generated - */ - public Boolean getOutHeader() { - return outHeader; - } - - /** - * - * - * @generated - */ - public void setOutHeader(Boolean newOutHeader) { - outHeader = newOutHeader; - } - - /** - * - * - * @generated - */ - public QName getItemQName() { - return itemQName; - } - - /** - * - * - * @generated - */ - public void setItemQName(QName newItemQName) { - itemQName = newItemQName; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.OPERATION_PARAMETER__NAME: - return getName(); - case WSDDPackageImpl.OPERATION_PARAMETER__QNAME: - return getQname(); - case WSDDPackageImpl.OPERATION_PARAMETER__TYPE: - return getType(); - case WSDDPackageImpl.OPERATION_PARAMETER__MODE: - return getMode(); - case WSDDPackageImpl.OPERATION_PARAMETER__IN_HEADER: - return getInHeader(); - case WSDDPackageImpl.OPERATION_PARAMETER__OUT_HEADER: - return getOutHeader(); - case WSDDPackageImpl.OPERATION_PARAMETER__ITEM_QNAME: - return getItemQName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.OPERATION_PARAMETER__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__QNAME: - setQname((QName)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__TYPE: - setType((QName)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__MODE: - setMode((ParameterMode)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__IN_HEADER: - setInHeader((Boolean)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__OUT_HEADER: - setOutHeader((Boolean)newValue); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__ITEM_QNAME: - setItemQName((QName)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.OPERATION_PARAMETER__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__QNAME: - setQname(QNAME_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__TYPE: - setType(TYPE_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__MODE: - setMode(MODE_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__IN_HEADER: - setInHeader(IN_HEADER_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__OUT_HEADER: - setOutHeader(OUT_HEADER_EDEFAULT); - return; - case WSDDPackageImpl.OPERATION_PARAMETER__ITEM_QNAME: - setItemQName(ITEM_QNAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.OPERATION_PARAMETER__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.OPERATION_PARAMETER__QNAME: - return QNAME_EDEFAULT == null ? qname != null : !QNAME_EDEFAULT.equals(qname); - case WSDDPackageImpl.OPERATION_PARAMETER__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type); - case WSDDPackageImpl.OPERATION_PARAMETER__MODE: - return mode != MODE_EDEFAULT; - case WSDDPackageImpl.OPERATION_PARAMETER__IN_HEADER: - return IN_HEADER_EDEFAULT == null ? inHeader != null : !IN_HEADER_EDEFAULT.equals(inHeader); - case WSDDPackageImpl.OPERATION_PARAMETER__OUT_HEADER: - return OUT_HEADER_EDEFAULT == null ? outHeader != null : !OUT_HEADER_EDEFAULT.equals(outHeader); - case WSDDPackageImpl.OPERATION_PARAMETER__ITEM_QNAME: - return ITEM_QNAME_EDEFAULT == null ? itemQName != null : !ITEM_QNAME_EDEFAULT.equals(itemQName); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", qname: "); - result.append(qname); - result.append(", type: "); - result.append(type); - result.append(", mode: "); - result.append(mode); - result.append(", inHeader: "); - result.append(inHeader); - result.append(", outHeader: "); - result.append(outHeader); - result.append(", itemQName: "); - result.append(itemQName); - result.append(')'); - return result.toString(); - } - -} //OperationParameterImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterImpl.java deleted file mode 100644 index 13b0158cc..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterImpl.java +++ /dev/null @@ -1,205 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.Parameter; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -/** - * - * An implementation of the model object 'Parameter'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.ParameterImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ParameterImpl#getValue Value}
    • - *
    - *

    - * - * @generated - */ -public class ParameterImpl extends EObjectImpl implements Parameter { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected static final String VALUE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getValue() Value}' attribute. - * - * - * @see #getValue() - * @generated - * @ordered - */ - protected String value = VALUE_EDEFAULT; - - /** - * - * - * @generated - */ - protected ParameterImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.PARAMETER; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public String getValue() { - return value; - } - - /** - * - * - * @generated - */ - public void setValue(String newValue) { - value = newValue; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.PARAMETER__NAME: - return getName(); - case WSDDPackageImpl.PARAMETER__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.PARAMETER__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.PARAMETER__VALUE: - setValue((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.PARAMETER__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.PARAMETER__VALUE: - setValue(VALUE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.PARAMETER__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.PARAMETER__VALUE: - return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", value: "); - result.append(value); - result.append(')'); - return result.toString(); - } - -} //ParameterImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterizableImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterizableImpl.java deleted file mode 100644 index 84dabe86e..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ParameterizableImpl.java +++ /dev/null @@ -1,165 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import org.apache.axis.model.wsdd.Parameter; -import org.apache.axis.model.wsdd.Parameterizable; -import org.apache.axis.model.wsdd.WSDDFactory; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Parameterizable'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.ParameterizableImpl#getParameters Parameters}
    • - *
    - *

    - * - * @generated - */ -public class ParameterizableImpl extends EObjectImpl implements Parameterizable { - /** - * The cached value of the '{@link #getParameters() Parameters}' containment reference list. - * - * - * @see #getParameters() - * @generated - * @ordered - */ - protected EList parameters; - - /** - * - * - * @generated - */ - protected ParameterizableImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.PARAMETERIZABLE; - } - - /** - * - * - * @generated - */ - public List getParameters() { - if (parameters == null) { - parameters = new BasicInternalEList(Parameter.class); - } - return parameters; - } - - public void setParameter(String name, String value) { - for (Iterator it = getParameters().iterator(); it.hasNext(); ) { - Parameter param = (Parameter)it.next(); - if (name.equals(param.getName())) { - param.setValue(value); - return; - } - } - Parameter param = WSDDFactory.INSTANCE.createParameter(); - param.setName(name); - param.setValue(value); - getParameters().add(param); - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.PARAMETERIZABLE__PARAMETERS: - return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.PARAMETERIZABLE__PARAMETERS: - return getParameters(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.PARAMETERIZABLE__PARAMETERS: - getParameters().clear(); - getParameters().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.PARAMETERIZABLE__PARAMETERS: - getParameters().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.PARAMETERIZABLE__PARAMETERS: - return parameters != null && !parameters.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //ParameterizableImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java deleted file mode 100644 index b9e2c8506..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/ServiceImpl.java +++ /dev/null @@ -1,549 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import java.util.Collection; -import java.util.List; - -import javax.xml.namespace.QName; -import org.apache.axis.constants.Style; -import org.apache.axis.constants.Use; -import org.apache.axis.model.wsdd.ArrayMapping; -import org.apache.axis.model.wsdd.BeanMapping; -import org.apache.axis.model.wsdd.MappingContainer; -import org.apache.axis.model.wsdd.Operation; -import org.apache.axis.model.wsdd.Service; -import org.apache.axis.model.wsdd.TypeMapping; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.util.BasicInternalEList; -import org.eclipse.emf.ecore.util.InternalEList; - -/** - * - * An implementation of the model object 'Service'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getTypeMappings Type Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getBeanMappings Bean Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getArrayMappings Array Mappings}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getProvider Provider}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getUse Use}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getStyle Style}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getNamespaces Namespaces}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.ServiceImpl#getOperations Operations}
    • - *
    - *

    - * - * @generated - */ -public class ServiceImpl extends DeployableItemImpl implements Service { - /** - * The cached value of the '{@link #getTypeMappings() Type Mappings}' containment reference list. - * - * - * @see #getTypeMappings() - * @generated - * @ordered - */ - protected EList typeMappings; - - /** - * The cached value of the '{@link #getBeanMappings() Bean Mappings}' containment reference list. - * - * - * @see #getBeanMappings() - * @generated - * @ordered - */ - protected EList beanMappings; - - /** - * The cached value of the '{@link #getArrayMappings() Array Mappings}' containment reference list. - * - * - * @see #getArrayMappings() - * @generated - * @ordered - */ - protected EList arrayMappings; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getProvider() Provider}' attribute. - * - * - * @see #getProvider() - * @generated - * @ordered - */ - protected static final QName PROVIDER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getProvider() Provider}' attribute. - * - * - * @see #getProvider() - * @generated - * @ordered - */ - protected QName provider = PROVIDER_EDEFAULT; - - /** - * The default value of the '{@link #getUse() Use}' attribute. - * - * - * @see #getUse() - * @generated - * @ordered - */ - protected static final Use USE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getUse() Use}' attribute. - * - * - * @see #getUse() - * @generated - * @ordered - */ - protected Use use = USE_EDEFAULT; - - /** - * The default value of the '{@link #getStyle() Style}' attribute. - * - * - * @see #getStyle() - * @generated - * @ordered - */ - protected static final Style STYLE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getStyle() Style}' attribute. - * - * - * @see #getStyle() - * @generated - * @ordered - */ - protected Style style = STYLE_EDEFAULT; - - /** - * The cached value of the '{@link #getNamespaces() Namespaces}' attribute list. - * - * - * @see #getNamespaces() - * @generated - * @ordered - */ - protected EList namespaces; - - /** - * The cached value of the '{@link #getOperations() Operations}' containment reference list. - * - * - * @see #getOperations() - * @generated - * @ordered - */ - protected EList operations; - - /** - * - * - * @generated - */ - protected ServiceImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.SERVICE; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getProvider() { - return provider; - } - - /** - * - * - * @generated - */ - public void setProvider(QName newProvider) { - provider = newProvider; - } - - /** - * - * - * @generated - */ - public Use getUse() { - return use; - } - - /** - * - * - * @generated - */ - public void setUse(Use newUse) { - use = newUse; - } - - /** - * - * - * @generated - */ - public Style getStyle() { - return style; - } - - /** - * - * - * @generated - */ - public void setStyle(Style newStyle) { - style = newStyle; - } - - /** - * - * - * @generated - */ - public List getNamespaces() { - if (namespaces == null) { - namespaces = new BasicInternalEList(String.class); - } - return namespaces; - } - - /** - * - * - * @generated - */ - public List getOperations() { - if (operations == null) { - operations = new BasicInternalEList(Operation.class); - } - return operations; - } - - /** - * - * - * @generated - */ - public List getTypeMappings() { - if (typeMappings == null) { - typeMappings = new BasicInternalEList(TypeMapping.class); - } - return typeMappings; - } - - /** - * - * - * @generated - */ - public List getBeanMappings() { - if (beanMappings == null) { - beanMappings = new BasicInternalEList(BeanMapping.class); - } - return beanMappings; - } - - /** - * - * - * @generated - */ - public List getArrayMappings() { - if (arrayMappings == null) { - arrayMappings = new BasicInternalEList(ArrayMapping.class); - } - return arrayMappings; - } - - /** - * - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - return ((InternalEList)getTypeMappings()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - return ((InternalEList)getBeanMappings()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - return ((InternalEList)getArrayMappings()).basicRemove(otherEnd, msgs); - case WSDDPackageImpl.SERVICE__OPERATIONS: - return ((InternalEList)getOperations()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - return getTypeMappings(); - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - return getBeanMappings(); - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - return getArrayMappings(); - case WSDDPackageImpl.SERVICE__NAME: - return getName(); - case WSDDPackageImpl.SERVICE__PROVIDER: - return getProvider(); - case WSDDPackageImpl.SERVICE__USE: - return getUse(); - case WSDDPackageImpl.SERVICE__STYLE: - return getStyle(); - case WSDDPackageImpl.SERVICE__NAMESPACES: - return getNamespaces(); - case WSDDPackageImpl.SERVICE__OPERATIONS: - return getOperations(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - getTypeMappings().clear(); - getTypeMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - getBeanMappings().clear(); - getBeanMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - getArrayMappings().clear(); - getArrayMappings().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.SERVICE__PROVIDER: - setProvider((QName)newValue); - return; - case WSDDPackageImpl.SERVICE__USE: - setUse((Use)newValue); - return; - case WSDDPackageImpl.SERVICE__STYLE: - setStyle((Style)newValue); - return; - case WSDDPackageImpl.SERVICE__NAMESPACES: - getNamespaces().clear(); - getNamespaces().addAll((Collection)newValue); - return; - case WSDDPackageImpl.SERVICE__OPERATIONS: - getOperations().clear(); - getOperations().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - getTypeMappings().clear(); - return; - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - getBeanMappings().clear(); - return; - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - getArrayMappings().clear(); - return; - case WSDDPackageImpl.SERVICE__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.SERVICE__PROVIDER: - setProvider(PROVIDER_EDEFAULT); - return; - case WSDDPackageImpl.SERVICE__USE: - setUse(USE_EDEFAULT); - return; - case WSDDPackageImpl.SERVICE__STYLE: - setStyle(STYLE_EDEFAULT); - return; - case WSDDPackageImpl.SERVICE__NAMESPACES: - getNamespaces().clear(); - return; - case WSDDPackageImpl.SERVICE__OPERATIONS: - getOperations().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: - return typeMappings != null && !typeMappings.isEmpty(); - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: - return beanMappings != null && !beanMappings.isEmpty(); - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: - return arrayMappings != null && !arrayMappings.isEmpty(); - case WSDDPackageImpl.SERVICE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.SERVICE__PROVIDER: - return PROVIDER_EDEFAULT == null ? provider != null : !PROVIDER_EDEFAULT.equals(provider); - case WSDDPackageImpl.SERVICE__USE: - return USE_EDEFAULT == null ? use != null : !USE_EDEFAULT.equals(use); - case WSDDPackageImpl.SERVICE__STYLE: - return STYLE_EDEFAULT == null ? style != null : !STYLE_EDEFAULT.equals(style); - case WSDDPackageImpl.SERVICE__NAMESPACES: - return namespaces != null && !namespaces.isEmpty(); - case WSDDPackageImpl.SERVICE__OPERATIONS: - return operations != null && !operations.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) { - if (baseClass == MappingContainer.class) { - switch (derivedFeatureID) { - case WSDDPackageImpl.SERVICE__TYPE_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS; - case WSDDPackageImpl.SERVICE__BEAN_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS; - case WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS: return WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS; - default: return -1; - } - } - return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); - } - - /** - * - * - * @generated - */ - public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) { - if (baseClass == MappingContainer.class) { - switch (baseFeatureID) { - case WSDDPackageImpl.MAPPING_CONTAINER__TYPE_MAPPINGS: return WSDDPackageImpl.SERVICE__TYPE_MAPPINGS; - case WSDDPackageImpl.MAPPING_CONTAINER__BEAN_MAPPINGS: return WSDDPackageImpl.SERVICE__BEAN_MAPPINGS; - case WSDDPackageImpl.MAPPING_CONTAINER__ARRAY_MAPPINGS: return WSDDPackageImpl.SERVICE__ARRAY_MAPPINGS; - default: return -1; - } - } - return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", provider: "); - result.append(provider); - result.append(", use: "); - result.append(use); - result.append(", style: "); - result.append(style); - result.append(", namespaces: "); - result.append(namespaces); - result.append(')'); - return result.toString(); - } - -} //ServiceImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TransportImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TransportImpl.java deleted file mode 100644 index 71faa2e56..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TransportImpl.java +++ /dev/null @@ -1,204 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import javax.xml.namespace.QName; -import org.apache.axis.model.wsdd.Transport; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Transport'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.TransportImpl#getName Name}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.TransportImpl#getPivot Pivot}
    • - *
    - *

    - * - * @generated - */ -public class TransportImpl extends DeployableItemImpl implements Transport { - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getPivot() Pivot}' attribute. - * - * - * @see #getPivot() - * @generated - * @ordered - */ - protected static final QName PIVOT_EDEFAULT = null; - - /** - * The cached value of the '{@link #getPivot() Pivot}' attribute. - * - * - * @see #getPivot() - * @generated - * @ordered - */ - protected QName pivot = PIVOT_EDEFAULT; - - /** - * - * - * @generated - */ - protected TransportImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.TRANSPORT; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - name = newName; - } - - /** - * - * - * @generated - */ - public QName getPivot() { - return pivot; - } - - /** - * - * - * @generated - */ - public void setPivot(QName newPivot) { - pivot = newPivot; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.TRANSPORT__NAME: - return getName(); - case WSDDPackageImpl.TRANSPORT__PIVOT: - return getPivot(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.TRANSPORT__NAME: - setName((String)newValue); - return; - case WSDDPackageImpl.TRANSPORT__PIVOT: - setPivot((QName)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.TRANSPORT__NAME: - setName(NAME_EDEFAULT); - return; - case WSDDPackageImpl.TRANSPORT__PIVOT: - setPivot(PIVOT_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.TRANSPORT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case WSDDPackageImpl.TRANSPORT__PIVOT: - return PIVOT_EDEFAULT == null ? pivot != null : !PIVOT_EDEFAULT.equals(pivot); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(", pivot: "); - result.append(pivot); - result.append(')'); - return result.toString(); - } - -} //TransportImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TypeMappingImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TypeMappingImpl.java deleted file mode 100644 index 25125ab14..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/TypeMappingImpl.java +++ /dev/null @@ -1,203 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.TypeMapping; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * An implementation of the model object 'Type Mapping'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.apache.axis.model.wsdd.impl.TypeMappingImpl#getSerializer Serializer}
    • - *
    • {@link org.apache.axis.model.wsdd.impl.TypeMappingImpl#getDeserializer Deserializer}
    • - *
    - *

    - * - * @generated - */ -public class TypeMappingImpl extends MappingImpl implements TypeMapping { - /** - * The default value of the '{@link #getSerializer() Serializer}' attribute. - * - * - * @see #getSerializer() - * @generated - * @ordered - */ - protected static final String SERIALIZER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getSerializer() Serializer}' attribute. - * - * - * @see #getSerializer() - * @generated - * @ordered - */ - protected String serializer = SERIALIZER_EDEFAULT; - - /** - * The default value of the '{@link #getDeserializer() Deserializer}' attribute. - * - * - * @see #getDeserializer() - * @generated - * @ordered - */ - protected static final String DESERIALIZER_EDEFAULT = null; - - /** - * The cached value of the '{@link #getDeserializer() Deserializer}' attribute. - * - * - * @see #getDeserializer() - * @generated - * @ordered - */ - protected String deserializer = DESERIALIZER_EDEFAULT; - - /** - * - * - * @generated - */ - protected TypeMappingImpl() { - super(); - } - - /** - * - * - * @generated - */ - protected EClass eStaticClass() { - return WSDDPackageImpl.Literals.TYPE_MAPPING; - } - - /** - * - * - * @generated - */ - public String getSerializer() { - return serializer; - } - - /** - * - * - * @generated - */ - public void setSerializer(String newSerializer) { - serializer = newSerializer; - } - - /** - * - * - * @generated - */ - public String getDeserializer() { - return deserializer; - } - - /** - * - * - * @generated - */ - public void setDeserializer(String newDeserializer) { - deserializer = newDeserializer; - } - - /** - * - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case WSDDPackageImpl.TYPE_MAPPING__SERIALIZER: - return getSerializer(); - case WSDDPackageImpl.TYPE_MAPPING__DESERIALIZER: - return getDeserializer(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case WSDDPackageImpl.TYPE_MAPPING__SERIALIZER: - setSerializer((String)newValue); - return; - case WSDDPackageImpl.TYPE_MAPPING__DESERIALIZER: - setDeserializer((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case WSDDPackageImpl.TYPE_MAPPING__SERIALIZER: - setSerializer(SERIALIZER_EDEFAULT); - return; - case WSDDPackageImpl.TYPE_MAPPING__DESERIALIZER: - setDeserializer(DESERIALIZER_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case WSDDPackageImpl.TYPE_MAPPING__SERIALIZER: - return SERIALIZER_EDEFAULT == null ? serializer != null : !SERIALIZER_EDEFAULT.equals(serializer); - case WSDDPackageImpl.TYPE_MAPPING__DESERIALIZER: - return DESERIALIZER_EDEFAULT == null ? deserializer != null : !DESERIALIZER_EDEFAULT.equals(deserializer); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (serializer: "); - result.append(serializer); - result.append(", deserializer: "); - result.append(deserializer); - result.append(')'); - return result.toString(); - } - -} //TypeMappingImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java deleted file mode 100644 index de0680aa6..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDFactoryImpl.java +++ /dev/null @@ -1,308 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.wsdd.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class WSDDFactoryImpl extends EFactoryImpl implements WSDDFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - public static final WSDDFactoryImpl eINSTANCE = init(); - - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static WSDDFactoryImpl init() { - try { - WSDDFactoryImpl theWSDDFactory = (WSDDFactoryImpl)EPackage.Registry.INSTANCE.getEFactory("http://xml.apache.org/axis/wsdd/"); - if (theWSDDFactory != null) { - return theWSDDFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new WSDDFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public WSDDFactoryImpl() { - super(); - } - - /** - * - * - * @generated - */ - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - case WSDDPackageImpl.PARAMETER: return (EObject)createParameter(); - case WSDDPackageImpl.TYPE_MAPPING: return (EObject)createTypeMapping(); - case WSDDPackageImpl.ARRAY_MAPPING: return (EObject)createArrayMapping(); - case WSDDPackageImpl.BEAN_MAPPING: return (EObject)createBeanMapping(); - case WSDDPackageImpl.MAPPING_CONTAINER: return (EObject)createMappingContainer(); - case WSDDPackageImpl.OPERATION_PARAMETER: return (EObject)createOperationParameter(); - case WSDDPackageImpl.FAULT: return (EObject)createFault(); - case WSDDPackageImpl.OPERATION: return (EObject)createOperation(); - case WSDDPackageImpl.PARAMETERIZABLE: return (EObject)createParameterizable(); - case WSDDPackageImpl.HANDLER: return (EObject)createHandler(); - case WSDDPackageImpl.CHAIN: return (EObject)createChain(); - case WSDDPackageImpl.GLOBAL_CONFIGURATION: return (EObject)createGlobalConfiguration(); - case WSDDPackageImpl.TRANSPORT: return (EObject)createTransport(); - case WSDDPackageImpl.SERVICE: return (EObject)createService(); - case WSDDPackageImpl.DEPLOYMENT: return (EObject)createDeployment(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case WSDDPackageImpl.PARAMETER_MODE: - return createParameterModeFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case WSDDPackageImpl.PARAMETER_MODE: - return convertParameterModeToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public Parameter createParameter() { - ParameterImpl parameter = new ParameterImpl(); - return parameter; - } - - /** - * - * - * @generated - */ - public TypeMapping createTypeMapping() { - TypeMappingImpl typeMapping = new TypeMappingImpl(); - return typeMapping; - } - - /** - * - * - * @generated - */ - public ArrayMapping createArrayMapping() { - ArrayMappingImpl arrayMapping = new ArrayMappingImpl(); - return arrayMapping; - } - - /** - * - * - * @generated - */ - public BeanMapping createBeanMapping() { - BeanMappingImpl beanMapping = new BeanMappingImpl(); - return beanMapping; - } - - /** - * - * - * @generated - */ - public MappingContainer createMappingContainer() { - MappingContainerImpl mappingContainer = new MappingContainerImpl(); - return mappingContainer; - } - - /** - * - * - * @generated - */ - public OperationParameter createOperationParameter() { - OperationParameterImpl operationParameter = new OperationParameterImpl(); - return operationParameter; - } - - /** - * - * - * @generated - */ - public Fault createFault() { - FaultImpl fault = new FaultImpl(); - return fault; - } - - /** - * - * - * @generated - */ - public Operation createOperation() { - OperationImpl operation = new OperationImpl(); - return operation; - } - - /** - * - * - * @generated - */ - public Parameterizable createParameterizable() { - ParameterizableImpl parameterizable = new ParameterizableImpl(); - return parameterizable; - } - - /** - * - * - * @generated - */ - public Handler createHandler() { - HandlerImpl handler = new HandlerImpl(); - return handler; - } - - /** - * - * - * @generated - */ - public Chain createChain() { - ChainImpl chain = new ChainImpl(); - return chain; - } - - /** - * - * - * @generated - */ - public GlobalConfiguration createGlobalConfiguration() { - GlobalConfigurationImpl globalConfiguration = new GlobalConfigurationImpl(); - return globalConfiguration; - } - - /** - * - * - * @generated - */ - public Transport createTransport() { - TransportImpl transport = new TransportImpl(); - return transport; - } - - /** - * - * - * @generated - */ - public Service createService() { - ServiceImpl service = new ServiceImpl(); - return service; - } - - /** - * - * - * @generated - */ - public Deployment createDeployment() { - DeploymentImpl deployment = new DeploymentImpl(); - return deployment; - } - - /** - * - * - * @generated - */ - public ParameterMode createParameterModeFromString(EDataType eDataType, String initialValue) { - ParameterMode result = ParameterMode.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertParameterModeToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public WSDDPackageImpl getWSDDPackage() { - return (WSDDPackageImpl)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - public static WSDDPackageImpl getPackage() { - return WSDDPackageImpl.eINSTANCE; - } - -} //WSDDFactoryImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java deleted file mode 100644 index c59c699e6..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/wsdd/impl/WSDDPackageImpl.java +++ /dev/null @@ -1,3283 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.wsdd.impl; - -import org.apache.axis.model.soap.impl.SOAPPackageImpl; -import org.apache.axis.model.wsdd.ArrayMapping; -import org.apache.axis.model.wsdd.BeanMapping; -import org.apache.axis.model.wsdd.DeployableItem; -import org.apache.axis.model.wsdd.Deployment; -import org.apache.axis.model.wsdd.Fault; -import org.apache.axis.model.wsdd.Chain; -import org.apache.axis.model.wsdd.GlobalConfiguration; -import org.apache.axis.model.wsdd.Handler; -import org.apache.axis.model.wsdd.Mapping; -import org.apache.axis.model.wsdd.MappingContainer; -import org.apache.axis.model.wsdd.Operation; -import org.apache.axis.model.wsdd.OperationParameter; -import org.apache.axis.model.wsdd.Parameter; -import org.apache.axis.model.wsdd.ParameterMode; -import org.apache.axis.model.wsdd.Parameterizable; -import org.apache.axis.model.wsdd.Service; -import org.apache.axis.model.wsdd.Transport; -import org.apache.axis.model.wsdd.TypeMapping; -import org.apache.axis.model.wsdd.WSDDFactory; - -import org.apache.axis.model.xml.impl.XmlPackageImpl; -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EFactory; -import org.eclipse.emf.ecore.EOperation; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -/** - * - * An implementation of the model Package. - * - * @see org.apache.axis.model.wsdd.WSDDFactory - * @model kind="package" - * @generated - */ -public class WSDDPackageImpl extends EPackageImpl { - /** - * The package name. - * - * - * @generated - */ - public static final String eNAME = "wsdd"; - - /** - * The package namespace URI. - * - * - * @generated - */ - public static final String eNS_URI = "http://xml.apache.org/axis/wsdd/"; - - /** - * The package namespace name. - * - * - * @generated - */ - public static final String eNS_PREFIX = "wsdd"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - public static final WSDDPackageImpl eINSTANCE = org.apache.axis.model.wsdd.impl.WSDDPackageImpl.init(); - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ParameterImpl Parameter}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ParameterImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameter() - * @generated - */ - public static final int PARAMETER = 0; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int PARAMETER__NAME = 0; - - /** - * The feature id for the 'Value' attribute. - * - * - * @generated - * @ordered - */ - public static final int PARAMETER__VALUE = 1; - - /** - * The number of structural features of the 'Parameter' class. - * - * - * @generated - * @ordered - */ - public static final int PARAMETER_FEATURE_COUNT = 2; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.MappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMapping() - * @generated - */ - public static final int MAPPING = 1; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int MAPPING__QNAME = 0; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int MAPPING__TYPE = 1; - - /** - * The feature id for the 'Encoding Style' attribute. - * - * - * @generated - * @ordered - */ - public static final int MAPPING__ENCODING_STYLE = 2; - - /** - * The number of structural features of the 'Mapping' class. - * - * - * @generated - * @ordered - */ - public static final int MAPPING_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.TypeMappingImpl Type Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.TypeMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTypeMapping() - * @generated - */ - public static final int TYPE_MAPPING = 2; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING__QNAME = MAPPING__QNAME; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING__TYPE = MAPPING__TYPE; - - /** - * The feature id for the 'Encoding Style' attribute. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING__ENCODING_STYLE = MAPPING__ENCODING_STYLE; - - /** - * The feature id for the 'Serializer' attribute. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING__SERIALIZER = MAPPING_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Deserializer' attribute. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING__DESERIALIZER = MAPPING_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Type Mapping' class. - * - * - * @generated - * @ordered - */ - public static final int TYPE_MAPPING_FEATURE_COUNT = MAPPING_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ArrayMappingImpl Array Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ArrayMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getArrayMapping() - * @generated - */ - public static final int ARRAY_MAPPING = 3; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int ARRAY_MAPPING__QNAME = MAPPING__QNAME; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int ARRAY_MAPPING__TYPE = MAPPING__TYPE; - - /** - * The feature id for the 'Encoding Style' attribute. - * - * - * @generated - * @ordered - */ - public static final int ARRAY_MAPPING__ENCODING_STYLE = MAPPING__ENCODING_STYLE; - - /** - * The feature id for the 'Inner Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int ARRAY_MAPPING__INNER_TYPE = MAPPING_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Array Mapping' class. - * - * - * @generated - * @ordered - */ - public static final int ARRAY_MAPPING_FEATURE_COUNT = MAPPING_FEATURE_COUNT + 1; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.BeanMappingImpl Bean Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.BeanMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getBeanMapping() - * @generated - */ - public static final int BEAN_MAPPING = 4; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int BEAN_MAPPING__QNAME = MAPPING__QNAME; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int BEAN_MAPPING__TYPE = MAPPING__TYPE; - - /** - * The feature id for the 'Encoding Style' attribute. - * - * - * @generated - * @ordered - */ - public static final int BEAN_MAPPING__ENCODING_STYLE = MAPPING__ENCODING_STYLE; - - /** - * The number of structural features of the 'Bean Mapping' class. - * - * - * @generated - * @ordered - */ - public static final int BEAN_MAPPING_FEATURE_COUNT = MAPPING_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl Mapping Container}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer() - * @generated - */ - public static final int MAPPING_CONTAINER = 5; - - /** - * The feature id for the 'Type Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int MAPPING_CONTAINER__TYPE_MAPPINGS = 0; - - /** - * The feature id for the 'Bean Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int MAPPING_CONTAINER__BEAN_MAPPINGS = 1; - - /** - * The feature id for the 'Array Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int MAPPING_CONTAINER__ARRAY_MAPPINGS = 2; - - /** - * The number of structural features of the 'Mapping Container' class. - * - * - * @generated - * @ordered - */ - public static final int MAPPING_CONTAINER_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl Operation Parameter}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.OperationParameterImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperationParameter() - * @generated - */ - public static final int OPERATION_PARAMETER = 6; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__NAME = 0; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__QNAME = 1; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__TYPE = 2; - - /** - * The feature id for the 'Mode' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__MODE = 3; - - /** - * The feature id for the 'In Header' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__IN_HEADER = 4; - - /** - * The feature id for the 'Out Header' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__OUT_HEADER = 5; - - /** - * The feature id for the 'Item QName' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER__ITEM_QNAME = 6; - - /** - * The number of structural features of the 'Operation Parameter' class. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_PARAMETER_FEATURE_COUNT = 7; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.FaultImpl Fault}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.FaultImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFault() - * @generated - */ - public static final int FAULT = 7; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int FAULT__NAME = 0; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int FAULT__QNAME = 1; - - /** - * The feature id for the 'Class' attribute. - * - * - * @generated - * @ordered - */ - public static final int FAULT__CLASS = 2; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int FAULT__TYPE = 3; - - /** - * The number of structural features of the 'Fault' class. - * - * - * @generated - * @ordered - */ - public static final int FAULT_FEATURE_COUNT = 4; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.OperationImpl Operation}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.OperationImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperation() - * @generated - */ - public static final int OPERATION = 8; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__NAME = 0; - - /** - * The feature id for the 'Qname' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__QNAME = 1; - - /** - * The feature id for the 'Return QName' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__RETURN_QNAME = 2; - - /** - * The feature id for the 'Return Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__RETURN_TYPE = 3; - - /** - * The feature id for the 'Return Item QName' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__RETURN_ITEM_QNAME = 4; - - /** - * The feature id for the 'Return Item Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__RETURN_ITEM_TYPE = 5; - - /** - * The feature id for the 'Soap Action' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__SOAP_ACTION = 6; - - /** - * The feature id for the 'Mep' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__MEP = 7; - - /** - * The feature id for the 'Return Header' attribute. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__RETURN_HEADER = 8; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__PARAMETERS = 9; - - /** - * The feature id for the 'Faults' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int OPERATION__FAULTS = 10; - - /** - * The number of structural features of the 'Operation' class. - * - * - * @generated - * @ordered - */ - public static final int OPERATION_FEATURE_COUNT = 11; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ParameterizableImpl Parameterizable}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ParameterizableImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterizable() - * @generated - */ - public static final int PARAMETERIZABLE = 9; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int PARAMETERIZABLE__PARAMETERS = 0; - - /** - * The number of structural features of the 'Parameterizable' class. - * - * - * @generated - * @ordered - */ - public static final int PARAMETERIZABLE_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.HandlerImpl Handler}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.HandlerImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getHandler() - * @generated - */ - public static final int HANDLER = 10; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int HANDLER__PARAMETERS = PARAMETERIZABLE__PARAMETERS; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int HANDLER__NAME = PARAMETERIZABLE_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int HANDLER__TYPE = PARAMETERIZABLE_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Handler' class. - * - * - * @generated - * @ordered - */ - public static final int HANDLER_FEATURE_COUNT = PARAMETERIZABLE_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl Chain}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ChainImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain() - * @generated - */ - public static final int CHAIN = 11; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int CHAIN__NAME = 0; - - /** - * The feature id for the 'Type' attribute. - * - * - * @generated - * @ordered - */ - public static final int CHAIN__TYPE = 1; - - /** - * The feature id for the 'Handlers' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int CHAIN__HANDLERS = 2; - - /** - * The number of structural features of the 'Chain' class. - * - * - * @generated - * @ordered - */ - public static final int CHAIN_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl Deployable Item}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.DeployableItemImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployableItem() - * @generated - */ - public static final int DEPLOYABLE_ITEM = 12; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYABLE_ITEM__PARAMETERS = PARAMETERIZABLE__PARAMETERS; - - /** - * The feature id for the 'Request Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYABLE_ITEM__REQUEST_FLOW = PARAMETERIZABLE_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Response Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYABLE_ITEM__RESPONSE_FLOW = PARAMETERIZABLE_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Deployable Item' class. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYABLE_ITEM_FEATURE_COUNT = PARAMETERIZABLE_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.GlobalConfigurationImpl Global Configuration}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.GlobalConfigurationImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getGlobalConfiguration() - * @generated - */ - public static final int GLOBAL_CONFIGURATION = 13; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int GLOBAL_CONFIGURATION__PARAMETERS = DEPLOYABLE_ITEM__PARAMETERS; - - /** - * The feature id for the 'Request Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int GLOBAL_CONFIGURATION__REQUEST_FLOW = DEPLOYABLE_ITEM__REQUEST_FLOW; - - /** - * The feature id for the 'Response Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int GLOBAL_CONFIGURATION__RESPONSE_FLOW = DEPLOYABLE_ITEM__RESPONSE_FLOW; - - /** - * The number of structural features of the 'Global Configuration' class. - * - * - * @generated - * @ordered - */ - public static final int GLOBAL_CONFIGURATION_FEATURE_COUNT = DEPLOYABLE_ITEM_FEATURE_COUNT + 0; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.TransportImpl Transport}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.TransportImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTransport() - * @generated - */ - public static final int TRANSPORT = 14; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT__PARAMETERS = DEPLOYABLE_ITEM__PARAMETERS; - - /** - * The feature id for the 'Request Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT__REQUEST_FLOW = DEPLOYABLE_ITEM__REQUEST_FLOW; - - /** - * The feature id for the 'Response Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT__RESPONSE_FLOW = DEPLOYABLE_ITEM__RESPONSE_FLOW; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Pivot' attribute. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT__PIVOT = DEPLOYABLE_ITEM_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Transport' class. - * - * - * @generated - * @ordered - */ - public static final int TRANSPORT_FEATURE_COUNT = DEPLOYABLE_ITEM_FEATURE_COUNT + 2; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.ServiceImpl Service}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ServiceImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getService() - * @generated - */ - public static final int SERVICE = 15; - - /** - * The feature id for the 'Parameters' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__PARAMETERS = DEPLOYABLE_ITEM__PARAMETERS; - - /** - * The feature id for the 'Request Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__REQUEST_FLOW = DEPLOYABLE_ITEM__REQUEST_FLOW; - - /** - * The feature id for the 'Response Flow' containment reference. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__RESPONSE_FLOW = DEPLOYABLE_ITEM__RESPONSE_FLOW; - - /** - * The feature id for the 'Type Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__TYPE_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Bean Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__BEAN_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Array Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__ARRAY_MAPPINGS = DEPLOYABLE_ITEM_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__NAME = DEPLOYABLE_ITEM_FEATURE_COUNT + 3; - - /** - * The feature id for the 'Provider' attribute. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__PROVIDER = DEPLOYABLE_ITEM_FEATURE_COUNT + 4; - - /** - * The feature id for the 'Use' attribute. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__USE = DEPLOYABLE_ITEM_FEATURE_COUNT + 5; - - /** - * The feature id for the 'Style' attribute. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__STYLE = DEPLOYABLE_ITEM_FEATURE_COUNT + 6; - - /** - * The feature id for the 'Namespaces' attribute list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__NAMESPACES = DEPLOYABLE_ITEM_FEATURE_COUNT + 7; - - /** - * The feature id for the 'Operations' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int SERVICE__OPERATIONS = DEPLOYABLE_ITEM_FEATURE_COUNT + 8; - - /** - * The number of structural features of the 'Service' class. - * - * - * @generated - * @ordered - */ - public static final int SERVICE_FEATURE_COUNT = DEPLOYABLE_ITEM_FEATURE_COUNT + 9; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.impl.DeploymentImpl Deployment}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.DeploymentImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployment() - * @generated - */ - public static final int DEPLOYMENT = 16; - - /** - * The feature id for the 'Type Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__TYPE_MAPPINGS = MAPPING_CONTAINER__TYPE_MAPPINGS; - - /** - * The feature id for the 'Bean Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__BEAN_MAPPINGS = MAPPING_CONTAINER__BEAN_MAPPINGS; - - /** - * The feature id for the 'Array Mappings' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__ARRAY_MAPPINGS = MAPPING_CONTAINER__ARRAY_MAPPINGS; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__NAME = MAPPING_CONTAINER_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Global Configuration' containment reference. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__GLOBAL_CONFIGURATION = MAPPING_CONTAINER_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Handlers' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__HANDLERS = MAPPING_CONTAINER_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Transports' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__TRANSPORTS = MAPPING_CONTAINER_FEATURE_COUNT + 3; - - /** - * The feature id for the 'Services' containment reference list. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT__SERVICES = MAPPING_CONTAINER_FEATURE_COUNT + 4; - - /** - * The number of structural features of the 'Deployment' class. - * - * - * @generated - * @ordered - */ - public static final int DEPLOYMENT_FEATURE_COUNT = MAPPING_CONTAINER_FEATURE_COUNT + 5; - - /** - * The meta object id for the '{@link org.apache.axis.model.wsdd.ParameterMode Parameter Mode}' enum. - * - * - * @see org.apache.axis.model.wsdd.ParameterMode - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterMode() - * @generated - */ - public static final int PARAMETER_MODE = 17; - - /** - * - * - * @generated - */ - private EClass parameterEClass = null; - - /** - * - * - * @generated - */ - private EClass mappingEClass = null; - - /** - * - * - * @generated - */ - private EClass typeMappingEClass = null; - - /** - * - * - * @generated - */ - private EClass arrayMappingEClass = null; - - /** - * - * - * @generated - */ - private EClass beanMappingEClass = null; - - /** - * - * - * @generated - */ - private EClass mappingContainerEClass = null; - - /** - * - * - * @generated - */ - private EClass operationParameterEClass = null; - - /** - * - * - * @generated - */ - private EClass faultEClass = null; - - /** - * - * - * @generated - */ - private EClass operationEClass = null; - - /** - * - * - * @generated - */ - private EClass parameterizableEClass = null; - - /** - * - * - * @generated - */ - private EClass handlerEClass = null; - - /** - * - * - * @generated - */ - private EClass chainEClass = null; - - /** - * - * - * @generated - */ - private EClass deployableItemEClass = null; - - /** - * - * - * @generated - */ - private EClass globalConfigurationEClass = null; - - /** - * - * - * @generated - */ - private EClass transportEClass = null; - - /** - * - * - * @generated - */ - private EClass serviceEClass = null; - - /** - * - * - * @generated - */ - private EClass deploymentEClass = null; - - /** - * - * - * @generated - */ - private EEnum parameterModeEEnum = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

    Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#eNS_URI - * @see #init() - * @generated - */ - private WSDDPackageImpl() { - super(eNS_URI, ((EFactory)WSDDFactory.INSTANCE)); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

    This method is used to initialize {@link WSDDPackageImpl#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static WSDDPackageImpl init() { - if (isInited) return (WSDDPackageImpl)EPackage.Registry.INSTANCE.getEPackage(WSDDPackageImpl.eNS_URI); - - // Obtain or create and register package - WSDDPackageImpl theWSDDPackage = (WSDDPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof WSDDPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new WSDDPackageImpl()); - - isInited = true; - - // Obtain or create and register interdependencies - XmlPackageImpl theXmlPackage = (XmlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI) instanceof XmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI) : XmlPackageImpl.eINSTANCE); - SOAPPackageImpl theSOAPPackage = (SOAPPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI) instanceof SOAPPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI) : SOAPPackageImpl.eINSTANCE); - - // Create package meta-data objects - theWSDDPackage.createPackageContents(); - theXmlPackage.createPackageContents(); - theSOAPPackage.createPackageContents(); - - // Initialize created meta-data - theWSDDPackage.initializePackageContents(); - theXmlPackage.initializePackageContents(); - theSOAPPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theWSDDPackage.freeze(); - - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(WSDDPackageImpl.eNS_URI, theWSDDPackage); - return theWSDDPackage; - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Parameter Parameter}'. - * - * - * @return the meta object for class 'Parameter'. - * @see org.apache.axis.model.wsdd.Parameter - * @generated - */ - public EClass getParameter() { - return parameterEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Parameter#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Parameter#getName() - * @see #getParameter() - * @generated - */ - public EAttribute getParameter_Name() { - return (EAttribute)parameterEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Parameter#getValue Value}'. - * - * - * @return the meta object for the attribute 'Value'. - * @see org.apache.axis.model.wsdd.Parameter#getValue() - * @see #getParameter() - * @generated - */ - public EAttribute getParameter_Value() { - return (EAttribute)parameterEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Mapping Mapping}'. - * - * - * @return the meta object for class 'Mapping'. - * @see org.apache.axis.model.wsdd.Mapping - * @generated - */ - public EClass getMapping() { - return mappingEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Mapping#getQname Qname}'. - * - * - * @return the meta object for the attribute 'Qname'. - * @see org.apache.axis.model.wsdd.Mapping#getQname() - * @see #getMapping() - * @generated - */ - public EAttribute getMapping_Qname() { - return (EAttribute)mappingEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Mapping#getType Type}'. - * - * - * @return the meta object for the attribute 'Type'. - * @see org.apache.axis.model.wsdd.Mapping#getType() - * @see #getMapping() - * @generated - */ - public EAttribute getMapping_Type() { - return (EAttribute)mappingEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Mapping#getEncodingStyle Encoding Style}'. - * - * - * @return the meta object for the attribute 'Encoding Style'. - * @see org.apache.axis.model.wsdd.Mapping#getEncodingStyle() - * @see #getMapping() - * @generated - */ - public EAttribute getMapping_EncodingStyle() { - return (EAttribute)mappingEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.TypeMapping Type Mapping}'. - * - * - * @return the meta object for class 'Type Mapping'. - * @see org.apache.axis.model.wsdd.TypeMapping - * @generated - */ - public EClass getTypeMapping() { - return typeMappingEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.TypeMapping#getSerializer Serializer}'. - * - * - * @return the meta object for the attribute 'Serializer'. - * @see org.apache.axis.model.wsdd.TypeMapping#getSerializer() - * @see #getTypeMapping() - * @generated - */ - public EAttribute getTypeMapping_Serializer() { - return (EAttribute)typeMappingEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.TypeMapping#getDeserializer Deserializer}'. - * - * - * @return the meta object for the attribute 'Deserializer'. - * @see org.apache.axis.model.wsdd.TypeMapping#getDeserializer() - * @see #getTypeMapping() - * @generated - */ - public EAttribute getTypeMapping_Deserializer() { - return (EAttribute)typeMappingEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.ArrayMapping Array Mapping}'. - * - * - * @return the meta object for class 'Array Mapping'. - * @see org.apache.axis.model.wsdd.ArrayMapping - * @generated - */ - public EClass getArrayMapping() { - return arrayMappingEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.ArrayMapping#getInnerType Inner Type}'. - * - * - * @return the meta object for the attribute 'Inner Type'. - * @see org.apache.axis.model.wsdd.ArrayMapping#getInnerType() - * @see #getArrayMapping() - * @generated - */ - public EAttribute getArrayMapping_InnerType() { - return (EAttribute)arrayMappingEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.BeanMapping Bean Mapping}'. - * - * - * @return the meta object for class 'Bean Mapping'. - * @see org.apache.axis.model.wsdd.BeanMapping - * @generated - */ - public EClass getBeanMapping() { - return beanMappingEClass; - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.MappingContainer Mapping Container}'. - * - * - * @return the meta object for class 'Mapping Container'. - * @see org.apache.axis.model.wsdd.MappingContainer - * @generated - */ - public EClass getMappingContainer() { - return mappingContainerEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getTypeMappings Type Mappings}'. - * - * - * @return the meta object for the containment reference list 'Type Mappings'. - * @see org.apache.axis.model.wsdd.MappingContainer#getTypeMappings() - * @see #getMappingContainer() - * @generated - */ - public EReference getMappingContainer_TypeMappings() { - return (EReference)mappingContainerEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getBeanMappings Bean Mappings}'. - * - * - * @return the meta object for the containment reference list 'Bean Mappings'. - * @see org.apache.axis.model.wsdd.MappingContainer#getBeanMappings() - * @see #getMappingContainer() - * @generated - */ - public EReference getMappingContainer_BeanMappings() { - return (EReference)mappingContainerEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.MappingContainer#getArrayMappings Array Mappings}'. - * - * - * @return the meta object for the containment reference list 'Array Mappings'. - * @see org.apache.axis.model.wsdd.MappingContainer#getArrayMappings() - * @see #getMappingContainer() - * @generated - */ - public EReference getMappingContainer_ArrayMappings() { - return (EReference)mappingContainerEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.OperationParameter Operation Parameter}'. - * - * - * @return the meta object for class 'Operation Parameter'. - * @see org.apache.axis.model.wsdd.OperationParameter - * @generated - */ - public EClass getOperationParameter() { - return operationParameterEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.OperationParameter#getName() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_Name() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getQname Qname}'. - * - * - * @return the meta object for the attribute 'Qname'. - * @see org.apache.axis.model.wsdd.OperationParameter#getQname() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_Qname() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getType Type}'. - * - * - * @return the meta object for the attribute 'Type'. - * @see org.apache.axis.model.wsdd.OperationParameter#getType() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_Type() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getMode Mode}'. - * - * - * @return the meta object for the attribute 'Mode'. - * @see org.apache.axis.model.wsdd.OperationParameter#getMode() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_Mode() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getInHeader In Header}'. - * - * - * @return the meta object for the attribute 'In Header'. - * @see org.apache.axis.model.wsdd.OperationParameter#getInHeader() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_InHeader() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(4); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getOutHeader Out Header}'. - * - * - * @return the meta object for the attribute 'Out Header'. - * @see org.apache.axis.model.wsdd.OperationParameter#getOutHeader() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_OutHeader() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(5); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.OperationParameter#getItemQName Item QName}'. - * - * - * @return the meta object for the attribute 'Item QName'. - * @see org.apache.axis.model.wsdd.OperationParameter#getItemQName() - * @see #getOperationParameter() - * @generated - */ - public EAttribute getOperationParameter_ItemQName() { - return (EAttribute)operationParameterEClass.getEStructuralFeatures().get(6); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Fault Fault}'. - * - * - * @return the meta object for class 'Fault'. - * @see org.apache.axis.model.wsdd.Fault - * @generated - */ - public EClass getFault() { - return faultEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Fault#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Fault#getName() - * @see #getFault() - * @generated - */ - public EAttribute getFault_Name() { - return (EAttribute)faultEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Fault#getQname Qname}'. - * - * - * @return the meta object for the attribute 'Qname'. - * @see org.apache.axis.model.wsdd.Fault#getQname() - * @see #getFault() - * @generated - */ - public EAttribute getFault_Qname() { - return (EAttribute)faultEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Fault#getClass_ Class}'. - * - * - * @return the meta object for the attribute 'Class'. - * @see org.apache.axis.model.wsdd.Fault#getClass_() - * @see #getFault() - * @generated - */ - public EAttribute getFault_Class() { - return (EAttribute)faultEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Fault#getType Type}'. - * - * - * @return the meta object for the attribute 'Type'. - * @see org.apache.axis.model.wsdd.Fault#getType() - * @see #getFault() - * @generated - */ - public EAttribute getFault_Type() { - return (EAttribute)faultEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Operation Operation}'. - * - * - * @return the meta object for class 'Operation'. - * @see org.apache.axis.model.wsdd.Operation - * @generated - */ - public EClass getOperation() { - return operationEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Operation#getName() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_Name() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getQname Qname}'. - * - * - * @return the meta object for the attribute 'Qname'. - * @see org.apache.axis.model.wsdd.Operation#getQname() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_Qname() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getReturnQName Return QName}'. - * - * - * @return the meta object for the attribute 'Return QName'. - * @see org.apache.axis.model.wsdd.Operation#getReturnQName() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_ReturnQName() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getReturnType Return Type}'. - * - * - * @return the meta object for the attribute 'Return Type'. - * @see org.apache.axis.model.wsdd.Operation#getReturnType() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_ReturnType() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getReturnItemQName Return Item QName}'. - * - * - * @return the meta object for the attribute 'Return Item QName'. - * @see org.apache.axis.model.wsdd.Operation#getReturnItemQName() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_ReturnItemQName() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(4); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getReturnItemType Return Item Type}'. - * - * - * @return the meta object for the attribute 'Return Item Type'. - * @see org.apache.axis.model.wsdd.Operation#getReturnItemType() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_ReturnItemType() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(5); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getSoapAction Soap Action}'. - * - * - * @return the meta object for the attribute 'Soap Action'. - * @see org.apache.axis.model.wsdd.Operation#getSoapAction() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_SoapAction() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(6); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getMep Mep}'. - * - * - * @return the meta object for the attribute 'Mep'. - * @see org.apache.axis.model.wsdd.Operation#getMep() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_Mep() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(7); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Operation#getReturnHeader Return Header}'. - * - * - * @return the meta object for the attribute 'Return Header'. - * @see org.apache.axis.model.wsdd.Operation#getReturnHeader() - * @see #getOperation() - * @generated - */ - public EAttribute getOperation_ReturnHeader() { - return (EAttribute)operationEClass.getEStructuralFeatures().get(8); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Operation#getParameters Parameters}'. - * - * - * @return the meta object for the containment reference list 'Parameters'. - * @see org.apache.axis.model.wsdd.Operation#getParameters() - * @see #getOperation() - * @generated - */ - public EReference getOperation_Parameters() { - return (EReference)operationEClass.getEStructuralFeatures().get(9); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Operation#getFaults Faults}'. - * - * - * @return the meta object for the containment reference list 'Faults'. - * @see org.apache.axis.model.wsdd.Operation#getFaults() - * @see #getOperation() - * @generated - */ - public EReference getOperation_Faults() { - return (EReference)operationEClass.getEStructuralFeatures().get(10); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Parameterizable Parameterizable}'. - * - * - * @return the meta object for class 'Parameterizable'. - * @see org.apache.axis.model.wsdd.Parameterizable - * @generated - */ - public EClass getParameterizable() { - return parameterizableEClass; - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Parameterizable#getParameters Parameters}'. - * - * - * @return the meta object for the containment reference list 'Parameters'. - * @see org.apache.axis.model.wsdd.Parameterizable#getParameters() - * @see #getParameterizable() - * @generated - */ - public EReference getParameterizable_Parameters() { - return (EReference)parameterizableEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Handler Handler}'. - * - * - * @return the meta object for class 'Handler'. - * @see org.apache.axis.model.wsdd.Handler - * @generated - */ - public EClass getHandler() { - return handlerEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Handler#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Handler#getName() - * @see #getHandler() - * @generated - */ - public EAttribute getHandler_Name() { - return (EAttribute)handlerEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Handler#getType Type}'. - * - * - * @return the meta object for the attribute 'Type'. - * @see org.apache.axis.model.wsdd.Handler#getType() - * @see #getHandler() - * @generated - */ - public EAttribute getHandler_Type() { - return (EAttribute)handlerEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Chain Chain}'. - * - * - * @return the meta object for class 'Chain'. - * @see org.apache.axis.model.wsdd.Chain - * @generated - */ - public EClass getChain() { - return chainEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Chain#getName() - * @see #getChain() - * @generated - */ - public EAttribute getChain_Name() { - return (EAttribute)chainEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Chain#getType Type}'. - * - * - * @return the meta object for the attribute 'Type'. - * @see org.apache.axis.model.wsdd.Chain#getType() - * @see #getChain() - * @generated - */ - public EAttribute getChain_Type() { - return (EAttribute)chainEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Chain#getHandlers Handlers}'. - * - * - * @return the meta object for the containment reference list 'Handlers'. - * @see org.apache.axis.model.wsdd.Chain#getHandlers() - * @see #getChain() - * @generated - */ - public EReference getChain_Handlers() { - return (EReference)chainEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.DeployableItem Deployable Item}'. - * - * - * @return the meta object for class 'Deployable Item'. - * @see org.apache.axis.model.wsdd.DeployableItem - * @generated - */ - public EClass getDeployableItem() { - return deployableItemEClass; - } - - /** - * Returns the meta object for the containment reference '{@link org.apache.axis.model.wsdd.DeployableItem#getRequestFlow Request Flow}'. - * - * - * @return the meta object for the containment reference 'Request Flow'. - * @see org.apache.axis.model.wsdd.DeployableItem#getRequestFlow() - * @see #getDeployableItem() - * @generated - */ - public EReference getDeployableItem_RequestFlow() { - return (EReference)deployableItemEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the containment reference '{@link org.apache.axis.model.wsdd.DeployableItem#getResponseFlow Response Flow}'. - * - * - * @return the meta object for the containment reference 'Response Flow'. - * @see org.apache.axis.model.wsdd.DeployableItem#getResponseFlow() - * @see #getDeployableItem() - * @generated - */ - public EReference getDeployableItem_ResponseFlow() { - return (EReference)deployableItemEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.GlobalConfiguration Global Configuration}'. - * - * - * @return the meta object for class 'Global Configuration'. - * @see org.apache.axis.model.wsdd.GlobalConfiguration - * @generated - */ - public EClass getGlobalConfiguration() { - return globalConfigurationEClass; - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Transport Transport}'. - * - * - * @return the meta object for class 'Transport'. - * @see org.apache.axis.model.wsdd.Transport - * @generated - */ - public EClass getTransport() { - return transportEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Transport#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Transport#getName() - * @see #getTransport() - * @generated - */ - public EAttribute getTransport_Name() { - return (EAttribute)transportEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Transport#getPivot Pivot}'. - * - * - * @return the meta object for the attribute 'Pivot'. - * @see org.apache.axis.model.wsdd.Transport#getPivot() - * @see #getTransport() - * @generated - */ - public EAttribute getTransport_Pivot() { - return (EAttribute)transportEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Service Service}'. - * - * - * @return the meta object for class 'Service'. - * @see org.apache.axis.model.wsdd.Service - * @generated - */ - public EClass getService() { - return serviceEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Service#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Service#getName() - * @see #getService() - * @generated - */ - public EAttribute getService_Name() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Service#getProvider Provider}'. - * - * - * @return the meta object for the attribute 'Provider'. - * @see org.apache.axis.model.wsdd.Service#getProvider() - * @see #getService() - * @generated - */ - public EAttribute getService_Provider() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Service#getUse Use}'. - * - * - * @return the meta object for the attribute 'Use'. - * @see org.apache.axis.model.wsdd.Service#getUse() - * @see #getService() - * @generated - */ - public EAttribute getService_Use() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Service#getStyle Style}'. - * - * - * @return the meta object for the attribute 'Style'. - * @see org.apache.axis.model.wsdd.Service#getStyle() - * @see #getService() - * @generated - */ - public EAttribute getService_Style() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for the attribute list '{@link org.apache.axis.model.wsdd.Service#getNamespaces Namespaces}'. - * - * - * @return the meta object for the attribute list 'Namespaces'. - * @see org.apache.axis.model.wsdd.Service#getNamespaces() - * @see #getService() - * @generated - */ - public EAttribute getService_Namespaces() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(4); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Service#getOperations Operations}'. - * - * - * @return the meta object for the containment reference list 'Operations'. - * @see org.apache.axis.model.wsdd.Service#getOperations() - * @see #getService() - * @generated - */ - public EReference getService_Operations() { - return (EReference)serviceEClass.getEStructuralFeatures().get(5); - } - - /** - * Returns the meta object for class '{@link org.apache.axis.model.wsdd.Deployment Deployment}'. - * - * - * @return the meta object for class 'Deployment'. - * @see org.apache.axis.model.wsdd.Deployment - * @generated - */ - public EClass getDeployment() { - return deploymentEClass; - } - - /** - * Returns the meta object for the attribute '{@link org.apache.axis.model.wsdd.Deployment#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see org.apache.axis.model.wsdd.Deployment#getName() - * @see #getDeployment() - * @generated - */ - public EAttribute getDeployment_Name() { - return (EAttribute)deploymentEClass.getEStructuralFeatures().get(0); - } - - /** - * Returns the meta object for the containment reference '{@link org.apache.axis.model.wsdd.Deployment#getGlobalConfiguration Global Configuration}'. - * - * - * @return the meta object for the containment reference 'Global Configuration'. - * @see org.apache.axis.model.wsdd.Deployment#getGlobalConfiguration() - * @see #getDeployment() - * @generated - */ - public EReference getDeployment_GlobalConfiguration() { - return (EReference)deploymentEClass.getEStructuralFeatures().get(1); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Deployment#getHandlers Handlers}'. - * - * - * @return the meta object for the containment reference list 'Handlers'. - * @see org.apache.axis.model.wsdd.Deployment#getHandlers() - * @see #getDeployment() - * @generated - */ - public EReference getDeployment_Handlers() { - return (EReference)deploymentEClass.getEStructuralFeatures().get(2); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Deployment#getTransports Transports}'. - * - * - * @return the meta object for the containment reference list 'Transports'. - * @see org.apache.axis.model.wsdd.Deployment#getTransports() - * @see #getDeployment() - * @generated - */ - public EReference getDeployment_Transports() { - return (EReference)deploymentEClass.getEStructuralFeatures().get(3); - } - - /** - * Returns the meta object for the containment reference list '{@link org.apache.axis.model.wsdd.Deployment#getServices Services}'. - * - * - * @return the meta object for the containment reference list 'Services'. - * @see org.apache.axis.model.wsdd.Deployment#getServices() - * @see #getDeployment() - * @generated - */ - public EReference getDeployment_Services() { - return (EReference)deploymentEClass.getEStructuralFeatures().get(4); - } - - /** - * Returns the meta object for enum '{@link org.apache.axis.model.wsdd.ParameterMode Parameter Mode}'. - * - * - * @return the meta object for enum 'Parameter Mode'. - * @see org.apache.axis.model.wsdd.ParameterMode - * @generated - */ - public EEnum getParameterMode() { - return parameterModeEEnum; - } - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - public WSDDFactory getWSDDFactory() { - return (WSDDFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - parameterEClass = createEClass(PARAMETER); - createEAttribute(parameterEClass, PARAMETER__NAME); - createEAttribute(parameterEClass, PARAMETER__VALUE); - - mappingEClass = createEClass(MAPPING); - createEAttribute(mappingEClass, MAPPING__QNAME); - createEAttribute(mappingEClass, MAPPING__TYPE); - createEAttribute(mappingEClass, MAPPING__ENCODING_STYLE); - - typeMappingEClass = createEClass(TYPE_MAPPING); - createEAttribute(typeMappingEClass, TYPE_MAPPING__SERIALIZER); - createEAttribute(typeMappingEClass, TYPE_MAPPING__DESERIALIZER); - - arrayMappingEClass = createEClass(ARRAY_MAPPING); - createEAttribute(arrayMappingEClass, ARRAY_MAPPING__INNER_TYPE); - - beanMappingEClass = createEClass(BEAN_MAPPING); - - mappingContainerEClass = createEClass(MAPPING_CONTAINER); - createEReference(mappingContainerEClass, MAPPING_CONTAINER__TYPE_MAPPINGS); - createEReference(mappingContainerEClass, MAPPING_CONTAINER__BEAN_MAPPINGS); - createEReference(mappingContainerEClass, MAPPING_CONTAINER__ARRAY_MAPPINGS); - - operationParameterEClass = createEClass(OPERATION_PARAMETER); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__NAME); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__QNAME); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__TYPE); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__MODE); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__IN_HEADER); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__OUT_HEADER); - createEAttribute(operationParameterEClass, OPERATION_PARAMETER__ITEM_QNAME); - - faultEClass = createEClass(FAULT); - createEAttribute(faultEClass, FAULT__NAME); - createEAttribute(faultEClass, FAULT__QNAME); - createEAttribute(faultEClass, FAULT__CLASS); - createEAttribute(faultEClass, FAULT__TYPE); - - operationEClass = createEClass(OPERATION); - createEAttribute(operationEClass, OPERATION__NAME); - createEAttribute(operationEClass, OPERATION__QNAME); - createEAttribute(operationEClass, OPERATION__RETURN_QNAME); - createEAttribute(operationEClass, OPERATION__RETURN_TYPE); - createEAttribute(operationEClass, OPERATION__RETURN_ITEM_QNAME); - createEAttribute(operationEClass, OPERATION__RETURN_ITEM_TYPE); - createEAttribute(operationEClass, OPERATION__SOAP_ACTION); - createEAttribute(operationEClass, OPERATION__MEP); - createEAttribute(operationEClass, OPERATION__RETURN_HEADER); - createEReference(operationEClass, OPERATION__PARAMETERS); - createEReference(operationEClass, OPERATION__FAULTS); - - parameterizableEClass = createEClass(PARAMETERIZABLE); - createEReference(parameterizableEClass, PARAMETERIZABLE__PARAMETERS); - - handlerEClass = createEClass(HANDLER); - createEAttribute(handlerEClass, HANDLER__NAME); - createEAttribute(handlerEClass, HANDLER__TYPE); - - chainEClass = createEClass(CHAIN); - createEAttribute(chainEClass, CHAIN__NAME); - createEAttribute(chainEClass, CHAIN__TYPE); - createEReference(chainEClass, CHAIN__HANDLERS); - - deployableItemEClass = createEClass(DEPLOYABLE_ITEM); - createEReference(deployableItemEClass, DEPLOYABLE_ITEM__REQUEST_FLOW); - createEReference(deployableItemEClass, DEPLOYABLE_ITEM__RESPONSE_FLOW); - - globalConfigurationEClass = createEClass(GLOBAL_CONFIGURATION); - - transportEClass = createEClass(TRANSPORT); - createEAttribute(transportEClass, TRANSPORT__NAME); - createEAttribute(transportEClass, TRANSPORT__PIVOT); - - serviceEClass = createEClass(SERVICE); - createEAttribute(serviceEClass, SERVICE__NAME); - createEAttribute(serviceEClass, SERVICE__PROVIDER); - createEAttribute(serviceEClass, SERVICE__USE); - createEAttribute(serviceEClass, SERVICE__STYLE); - createEAttribute(serviceEClass, SERVICE__NAMESPACES); - createEReference(serviceEClass, SERVICE__OPERATIONS); - - deploymentEClass = createEClass(DEPLOYMENT); - createEAttribute(deploymentEClass, DEPLOYMENT__NAME); - createEReference(deploymentEClass, DEPLOYMENT__GLOBAL_CONFIGURATION); - createEReference(deploymentEClass, DEPLOYMENT__HANDLERS); - createEReference(deploymentEClass, DEPLOYMENT__TRANSPORTS); - createEReference(deploymentEClass, DEPLOYMENT__SERVICES); - - // Create enums - parameterModeEEnum = createEEnum(PARAMETER_MODE); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Obtain other dependent packages - XmlPackageImpl theXmlPackage = (XmlPackageImpl)EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI); - SOAPPackageImpl theSOAPPackage = (SOAPPackageImpl)EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI); - - // Add supertypes to classes - typeMappingEClass.getESuperTypes().add(this.getMapping()); - arrayMappingEClass.getESuperTypes().add(this.getMapping()); - beanMappingEClass.getESuperTypes().add(this.getMapping()); - handlerEClass.getESuperTypes().add(this.getParameterizable()); - deployableItemEClass.getESuperTypes().add(this.getParameterizable()); - globalConfigurationEClass.getESuperTypes().add(this.getDeployableItem()); - transportEClass.getESuperTypes().add(this.getDeployableItem()); - serviceEClass.getESuperTypes().add(this.getDeployableItem()); - serviceEClass.getESuperTypes().add(this.getMappingContainer()); - deploymentEClass.getESuperTypes().add(this.getMappingContainer()); - - // Initialize classes and features; add operations and parameters - initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getParameter_Name(), ecorePackage.getEString(), "name", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getParameter_Value(), ecorePackage.getEString(), "value", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(mappingEClass, Mapping.class, "Mapping", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getMapping_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, Mapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getMapping_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Mapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getMapping_EncodingStyle(), ecorePackage.getEString(), "encodingStyle", null, 0, 1, Mapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(typeMappingEClass, TypeMapping.class, "TypeMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getTypeMapping_Serializer(), ecorePackage.getEString(), "serializer", null, 0, 1, TypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getTypeMapping_Deserializer(), ecorePackage.getEString(), "deserializer", null, 0, 1, TypeMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(arrayMappingEClass, ArrayMapping.class, "ArrayMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getArrayMapping_InnerType(), theXmlPackage.getQName(), "innerType", null, 0, 1, ArrayMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(beanMappingEClass, BeanMapping.class, "BeanMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(mappingContainerEClass, MappingContainer.class, "MappingContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getMappingContainer_TypeMappings(), this.getTypeMapping(), null, "typeMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getMappingContainer_BeanMappings(), this.getBeanMapping(), null, "beanMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getMappingContainer_ArrayMappings(), this.getArrayMapping(), null, "arrayMappings", null, 0, -1, MappingContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(operationParameterEClass, OperationParameter.class, "OperationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getOperationParameter_Name(), ecorePackage.getEString(), "name", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_Type(), theXmlPackage.getQName(), "type", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_Mode(), this.getParameterMode(), "mode", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_InHeader(), ecorePackage.getEBooleanObject(), "inHeader", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_OutHeader(), ecorePackage.getEBooleanObject(), "outHeader", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperationParameter_ItemQName(), theXmlPackage.getQName(), "itemQName", null, 0, 1, OperationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(faultEClass, Fault.class, "Fault", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getFault_Name(), ecorePackage.getEString(), "name", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getFault_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getFault_Class(), ecorePackage.getEString(), "class", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getFault_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Fault.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getOperation_Name(), ecorePackage.getEString(), "name", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_Qname(), theXmlPackage.getQName(), "qname", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_ReturnQName(), theXmlPackage.getQName(), "returnQName", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_ReturnType(), theXmlPackage.getQName(), "returnType", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_ReturnItemQName(), theXmlPackage.getQName(), "returnItemQName", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_ReturnItemType(), theXmlPackage.getQName(), "returnItemType", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_SoapAction(), ecorePackage.getEString(), "soapAction", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_Mep(), ecorePackage.getEString(), "mep", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getOperation_ReturnHeader(), ecorePackage.getEBooleanObject(), "returnHeader", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getOperation_Parameters(), this.getOperationParameter(), null, "parameters", null, 0, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getOperation_Faults(), this.getFault(), null, "faults", null, 0, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(parameterizableEClass, Parameterizable.class, "Parameterizable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getParameterizable_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Parameterizable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - EOperation op = addEOperation(parameterizableEClass, null, "setParameter"); - addEParameter(op, ecorePackage.getEString(), "name", 1, 1); - addEParameter(op, ecorePackage.getEString(), "value", 1, 1); - - initEClass(handlerEClass, Handler.class, "Handler", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getHandler_Name(), ecorePackage.getEString(), "name", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getHandler_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Handler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(chainEClass, Chain.class, "Chain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getChain_Name(), ecorePackage.getEString(), "name", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getChain_Type(), theXmlPackage.getQName(), "type", null, 0, 1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getChain_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Chain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(deployableItemEClass, DeployableItem.class, "DeployableItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDeployableItem_RequestFlow(), this.getChain(), null, "requestFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployableItem_ResponseFlow(), this.getChain(), null, "responseFlow", null, 0, 1, DeployableItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(globalConfigurationEClass, GlobalConfiguration.class, "GlobalConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(transportEClass, Transport.class, "Transport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getTransport_Name(), ecorePackage.getEString(), "name", null, 0, 1, Transport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getTransport_Pivot(), theXmlPackage.getQName(), "pivot", null, 0, 1, Transport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(serviceEClass, Service.class, "Service", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getService_Name(), ecorePackage.getEString(), "name", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getService_Provider(), theXmlPackage.getQName(), "provider", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getService_Use(), theSOAPPackage.getUse(), "use", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getService_Style(), theSOAPPackage.getStyle(), "style", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getService_Namespaces(), ecorePackage.getEString(), "namespaces", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getService_Operations(), this.getOperation(), null, "operations", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(deploymentEClass, Deployment.class, "Deployment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getDeployment_Name(), ecorePackage.getEString(), "name", null, 0, 1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployment_GlobalConfiguration(), this.getGlobalConfiguration(), null, "globalConfiguration", null, 0, 1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployment_Handlers(), this.getHandler(), null, "handlers", null, 0, -1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployment_Transports(), this.getTransport(), null, "transports", null, 0, -1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDeployment_Services(), this.getService(), null, "services", null, 0, -1, Deployment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - op = addEOperation(deploymentEClass, null, "merge"); - addEParameter(op, this.getDeployment(), "other", 1, 1); - - // Initialize enums and add enum literals - initEEnum(parameterModeEEnum, ParameterMode.class, "ParameterMode"); - addEEnumLiteral(parameterModeEEnum, ParameterMode.IN_LITERAL); - addEEnumLiteral(parameterModeEEnum, ParameterMode.OUT_LITERAL); - addEEnumLiteral(parameterModeEEnum, ParameterMode.INOUT_LITERAL); - - // Create resource - createResource(eNS_URI); - - // Create annotations - // http:///org/eclipse/emf/ecore/util/ExtendedMetaData - createExtendedMetaDataAnnotations(); - } - - /** - * Initializes the annotations for http:///org/eclipse/emf/ecore/util/ExtendedMetaData. - * - * - * @generated - */ - protected void createExtendedMetaDataAnnotations() { - String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; - addAnnotation - (getMappingContainer_TypeMappings(), - source, - new String[] { - "kind", "element", - "name", "typeMapping", - "namespace", "##targetNamespace" - }); - addAnnotation - (getMappingContainer_BeanMappings(), - source, - new String[] { - "kind", "element", - "name", "beanMapping", - "namespace", "##targetNamespace" - }); - addAnnotation - (getMappingContainer_ArrayMappings(), - source, - new String[] { - "kind", "element", - "name", "arrayMapping", - "namespace", "##targetNamespace" - }); - addAnnotation - (getOperation_Parameters(), - source, - new String[] { - "kind", "element", - "name", "parameter", - "namespace", "##targetNamespace" - }); - addAnnotation - (getOperation_Faults(), - source, - new String[] { - "kind", "element", - "name", "fault", - "namespace", "##targetNamespace" - }); - addAnnotation - (getParameterizable_Parameters(), - source, - new String[] { - "kind", "element", - "name", "parameter", - "namespace", "##targetNamespace" - }); - addAnnotation - (getChain_Handlers(), - source, - new String[] { - "name", "handler", - "kind", "element", - "namespace", "##targetNamespace" - }); - addAnnotation - (getDeployableItem_RequestFlow(), - source, - new String[] { - "kind", "element", - "name", "requestFlow", - "namespace", "##targetNamespace" - }); - addAnnotation - (getDeployableItem_ResponseFlow(), - source, - new String[] { - "kind", "element", - "name", "responseFlow", - "namespace", "##targetNamespace" - }); - addAnnotation - (getService_Namespaces(), - source, - new String[] { - "kind", "element", - "name", "namespace", - "namespace", "##targetNamespace" - }); - addAnnotation - (getService_Operations(), - source, - new String[] { - "kind", "element", - "name", "operation", - "namespace", "##targetNamespace" - }); - addAnnotation - (deploymentEClass, - source, - new String[] { - "name", "deployment", - "kind", "element" - }); - addAnnotation - (getDeployment_GlobalConfiguration(), - source, - new String[] { - "kind", "element", - "name", "globalConfiguration", - "namespace", "##targetNamespace" - }); - addAnnotation - (getDeployment_Handlers(), - source, - new String[] { - "name", "handler", - "kind", "element", - "namespace", "##targetNamespace" - }); - addAnnotation - (getDeployment_Transports(), - source, - new String[] { - "name", "transport", - "kind", "element", - "namespace", "##targetNamespace" - }); - addAnnotation - (getDeployment_Services(), - source, - new String[] { - "name", "service", - "kind", "element", - "namespace", "##targetNamespace" - }); - } - - /** - * - * Defines literals for the meta objects that represent - *

      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @generated - */ - public interface Literals { - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ParameterImpl Parameter}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ParameterImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameter() - * @generated - */ - public static final EClass PARAMETER = eINSTANCE.getParameter(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute PARAMETER__NAME = eINSTANCE.getParameter_Name(); - - /** - * The meta object literal for the 'Value' attribute feature. - * - * - * @generated - */ - public static final EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingImpl Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.MappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMapping() - * @generated - */ - public static final EClass MAPPING = eINSTANCE.getMapping(); - - /** - * The meta object literal for the 'Qname' attribute feature. - * - * - * @generated - */ - public static final EAttribute MAPPING__QNAME = eINSTANCE.getMapping_Qname(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute MAPPING__TYPE = eINSTANCE.getMapping_Type(); - - /** - * The meta object literal for the 'Encoding Style' attribute feature. - * - * - * @generated - */ - public static final EAttribute MAPPING__ENCODING_STYLE = eINSTANCE.getMapping_EncodingStyle(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.TypeMappingImpl Type Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.TypeMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTypeMapping() - * @generated - */ - public static final EClass TYPE_MAPPING = eINSTANCE.getTypeMapping(); - - /** - * The meta object literal for the 'Serializer' attribute feature. - * - * - * @generated - */ - public static final EAttribute TYPE_MAPPING__SERIALIZER = eINSTANCE.getTypeMapping_Serializer(); - - /** - * The meta object literal for the 'Deserializer' attribute feature. - * - * - * @generated - */ - public static final EAttribute TYPE_MAPPING__DESERIALIZER = eINSTANCE.getTypeMapping_Deserializer(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ArrayMappingImpl Array Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ArrayMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getArrayMapping() - * @generated - */ - public static final EClass ARRAY_MAPPING = eINSTANCE.getArrayMapping(); - - /** - * The meta object literal for the 'Inner Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute ARRAY_MAPPING__INNER_TYPE = eINSTANCE.getArrayMapping_InnerType(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.BeanMappingImpl Bean Mapping}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.BeanMappingImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getBeanMapping() - * @generated - */ - public static final EClass BEAN_MAPPING = eINSTANCE.getBeanMapping(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.MappingContainerImpl Mapping Container}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.MappingContainerImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getMappingContainer() - * @generated - */ - public static final EClass MAPPING_CONTAINER = eINSTANCE.getMappingContainer(); - - /** - * The meta object literal for the 'Type Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference MAPPING_CONTAINER__TYPE_MAPPINGS = eINSTANCE.getMappingContainer_TypeMappings(); - - /** - * The meta object literal for the 'Bean Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference MAPPING_CONTAINER__BEAN_MAPPINGS = eINSTANCE.getMappingContainer_BeanMappings(); - - /** - * The meta object literal for the 'Array Mappings' containment reference list feature. - * - * - * @generated - */ - public static final EReference MAPPING_CONTAINER__ARRAY_MAPPINGS = eINSTANCE.getMappingContainer_ArrayMappings(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.OperationParameterImpl Operation Parameter}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.OperationParameterImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperationParameter() - * @generated - */ - public static final EClass OPERATION_PARAMETER = eINSTANCE.getOperationParameter(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__NAME = eINSTANCE.getOperationParameter_Name(); - - /** - * The meta object literal for the 'Qname' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__QNAME = eINSTANCE.getOperationParameter_Qname(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__TYPE = eINSTANCE.getOperationParameter_Type(); - - /** - * The meta object literal for the 'Mode' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__MODE = eINSTANCE.getOperationParameter_Mode(); - - /** - * The meta object literal for the 'In Header' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__IN_HEADER = eINSTANCE.getOperationParameter_InHeader(); - - /** - * The meta object literal for the 'Out Header' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__OUT_HEADER = eINSTANCE.getOperationParameter_OutHeader(); - - /** - * The meta object literal for the 'Item QName' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION_PARAMETER__ITEM_QNAME = eINSTANCE.getOperationParameter_ItemQName(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.FaultImpl Fault}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.FaultImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getFault() - * @generated - */ - public static final EClass FAULT = eINSTANCE.getFault(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute FAULT__NAME = eINSTANCE.getFault_Name(); - - /** - * The meta object literal for the 'Qname' attribute feature. - * - * - * @generated - */ - public static final EAttribute FAULT__QNAME = eINSTANCE.getFault_Qname(); - - /** - * The meta object literal for the 'Class' attribute feature. - * - * - * @generated - */ - public static final EAttribute FAULT__CLASS = eINSTANCE.getFault_Class(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute FAULT__TYPE = eINSTANCE.getFault_Type(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.OperationImpl Operation}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.OperationImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getOperation() - * @generated - */ - public static final EClass OPERATION = eINSTANCE.getOperation(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__NAME = eINSTANCE.getOperation_Name(); - - /** - * The meta object literal for the 'Qname' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__QNAME = eINSTANCE.getOperation_Qname(); - - /** - * The meta object literal for the 'Return QName' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__RETURN_QNAME = eINSTANCE.getOperation_ReturnQName(); - - /** - * The meta object literal for the 'Return Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__RETURN_TYPE = eINSTANCE.getOperation_ReturnType(); - - /** - * The meta object literal for the 'Return Item QName' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__RETURN_ITEM_QNAME = eINSTANCE.getOperation_ReturnItemQName(); - - /** - * The meta object literal for the 'Return Item Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__RETURN_ITEM_TYPE = eINSTANCE.getOperation_ReturnItemType(); - - /** - * The meta object literal for the 'Soap Action' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__SOAP_ACTION = eINSTANCE.getOperation_SoapAction(); - - /** - * The meta object literal for the 'Mep' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__MEP = eINSTANCE.getOperation_Mep(); - - /** - * The meta object literal for the 'Return Header' attribute feature. - * - * - * @generated - */ - public static final EAttribute OPERATION__RETURN_HEADER = eINSTANCE.getOperation_ReturnHeader(); - - /** - * The meta object literal for the 'Parameters' containment reference list feature. - * - * - * @generated - */ - public static final EReference OPERATION__PARAMETERS = eINSTANCE.getOperation_Parameters(); - - /** - * The meta object literal for the 'Faults' containment reference list feature. - * - * - * @generated - */ - public static final EReference OPERATION__FAULTS = eINSTANCE.getOperation_Faults(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ParameterizableImpl Parameterizable}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ParameterizableImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterizable() - * @generated - */ - public static final EClass PARAMETERIZABLE = eINSTANCE.getParameterizable(); - - /** - * The meta object literal for the 'Parameters' containment reference list feature. - * - * - * @generated - */ - public static final EReference PARAMETERIZABLE__PARAMETERS = eINSTANCE.getParameterizable_Parameters(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.HandlerImpl Handler}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.HandlerImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getHandler() - * @generated - */ - public static final EClass HANDLER = eINSTANCE.getHandler(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute HANDLER__NAME = eINSTANCE.getHandler_Name(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute HANDLER__TYPE = eINSTANCE.getHandler_Type(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ChainImpl Chain}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ChainImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getChain() - * @generated - */ - public static final EClass CHAIN = eINSTANCE.getChain(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute CHAIN__NAME = eINSTANCE.getChain_Name(); - - /** - * The meta object literal for the 'Type' attribute feature. - * - * - * @generated - */ - public static final EAttribute CHAIN__TYPE = eINSTANCE.getChain_Type(); - - /** - * The meta object literal for the 'Handlers' containment reference list feature. - * - * - * @generated - */ - public static final EReference CHAIN__HANDLERS = eINSTANCE.getChain_Handlers(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeployableItemImpl Deployable Item}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.DeployableItemImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployableItem() - * @generated - */ - public static final EClass DEPLOYABLE_ITEM = eINSTANCE.getDeployableItem(); - - /** - * The meta object literal for the 'Request Flow' containment reference feature. - * - * - * @generated - */ - public static final EReference DEPLOYABLE_ITEM__REQUEST_FLOW = eINSTANCE.getDeployableItem_RequestFlow(); - - /** - * The meta object literal for the 'Response Flow' containment reference feature. - * - * - * @generated - */ - public static final EReference DEPLOYABLE_ITEM__RESPONSE_FLOW = eINSTANCE.getDeployableItem_ResponseFlow(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.GlobalConfigurationImpl Global Configuration}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.GlobalConfigurationImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getGlobalConfiguration() - * @generated - */ - public static final EClass GLOBAL_CONFIGURATION = eINSTANCE.getGlobalConfiguration(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.TransportImpl Transport}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.TransportImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getTransport() - * @generated - */ - public static final EClass TRANSPORT = eINSTANCE.getTransport(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute TRANSPORT__NAME = eINSTANCE.getTransport_Name(); - - /** - * The meta object literal for the 'Pivot' attribute feature. - * - * - * @generated - */ - public static final EAttribute TRANSPORT__PIVOT = eINSTANCE.getTransport_Pivot(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.ServiceImpl Service}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.ServiceImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getService() - * @generated - */ - public static final EClass SERVICE = eINSTANCE.getService(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute SERVICE__NAME = eINSTANCE.getService_Name(); - - /** - * The meta object literal for the 'Provider' attribute feature. - * - * - * @generated - */ - public static final EAttribute SERVICE__PROVIDER = eINSTANCE.getService_Provider(); - - /** - * The meta object literal for the 'Use' attribute feature. - * - * - * @generated - */ - public static final EAttribute SERVICE__USE = eINSTANCE.getService_Use(); - - /** - * The meta object literal for the 'Style' attribute feature. - * - * - * @generated - */ - public static final EAttribute SERVICE__STYLE = eINSTANCE.getService_Style(); - - /** - * The meta object literal for the 'Namespaces' attribute list feature. - * - * - * @generated - */ - public static final EAttribute SERVICE__NAMESPACES = eINSTANCE.getService_Namespaces(); - - /** - * The meta object literal for the 'Operations' containment reference list feature. - * - * - * @generated - */ - public static final EReference SERVICE__OPERATIONS = eINSTANCE.getService_Operations(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.impl.DeploymentImpl Deployment}' class. - * - * - * @see org.apache.axis.model.wsdd.impl.DeploymentImpl - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getDeployment() - * @generated - */ - public static final EClass DEPLOYMENT = eINSTANCE.getDeployment(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - public static final EAttribute DEPLOYMENT__NAME = eINSTANCE.getDeployment_Name(); - - /** - * The meta object literal for the 'Global Configuration' containment reference feature. - * - * - * @generated - */ - public static final EReference DEPLOYMENT__GLOBAL_CONFIGURATION = eINSTANCE.getDeployment_GlobalConfiguration(); - - /** - * The meta object literal for the 'Handlers' containment reference list feature. - * - * - * @generated - */ - public static final EReference DEPLOYMENT__HANDLERS = eINSTANCE.getDeployment_Handlers(); - - /** - * The meta object literal for the 'Transports' containment reference list feature. - * - * - * @generated - */ - public static final EReference DEPLOYMENT__TRANSPORTS = eINSTANCE.getDeployment_Transports(); - - /** - * The meta object literal for the 'Services' containment reference list feature. - * - * - * @generated - */ - public static final EReference DEPLOYMENT__SERVICES = eINSTANCE.getDeployment_Services(); - - /** - * The meta object literal for the '{@link org.apache.axis.model.wsdd.ParameterMode Parameter Mode}' enum. - * - * - * @see org.apache.axis.model.wsdd.ParameterMode - * @see org.apache.axis.model.wsdd.impl.WSDDPackageImpl#getParameterMode() - * @generated - */ - public static final EEnum PARAMETER_MODE = eINSTANCE.getParameterMode(); - - } - -} //WSDDPackageImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/xml/XmlFactory.java b/axis-model/src/main/java/org/apache/axis/model/xml/XmlFactory.java deleted file mode 100644 index 26276a52a..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/xml/XmlFactory.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.xml; - - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @generated - */ -public interface XmlFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - XmlFactory INSTANCE = org.apache.axis.model.xml.impl.XmlFactoryImpl.eINSTANCE; - -} //XmlFactory diff --git a/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlFactoryImpl.java b/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlFactoryImpl.java deleted file mode 100644 index cde19fabd..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlFactoryImpl.java +++ /dev/null @@ -1,134 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.xml.impl; - -import javax.xml.namespace.QName; - -import org.apache.axis.model.util.AxisXMLResource; -import org.apache.axis.model.xml.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class XmlFactoryImpl extends EFactoryImpl implements XmlFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - public static final XmlFactoryImpl eINSTANCE = init(); - - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static XmlFactoryImpl init() { - try { - XmlFactoryImpl theXmlFactory = (XmlFactoryImpl)EPackage.Registry.INSTANCE.getEFactory("http://axis.apache.org/emf/xml"); - if (theXmlFactory != null) { - return theXmlFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new XmlFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public XmlFactoryImpl() { - super(); - } - - /** - * - * - * @generated - */ - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case XmlPackageImpl.QNAME: - return createQNameFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case XmlPackageImpl.QNAME: - return convertQNameToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - public QName createQNameFromString(EDataType eDataType, String initialValue) { - throw new UnsupportedOperationException("Please use " + AxisXMLResource.class.getName() + " to load the model from XML"); - } - - public String convertQNameToString(EDataType eDataType, Object instanceValue) { - throw new UnsupportedOperationException("Please use " + AxisXMLResource.class.getName() + " to save the model to XML"); - } - - /** - * - * - * @generated - */ - public XmlPackageImpl getXmlPackage() { - return (XmlPackageImpl)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - public static XmlPackageImpl getPackage() { - return XmlPackageImpl.eINSTANCE; - } - -} //XmlFactoryImpl diff --git a/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlPackageImpl.java b/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlPackageImpl.java deleted file mode 100644 index e6d436e7f..000000000 --- a/axis-model/src/main/java/org/apache/axis/model/xml/impl/XmlPackageImpl.java +++ /dev/null @@ -1,258 +0,0 @@ -/** - * - * - * - * $Id$ - */ -package org.apache.axis.model.xml.impl; - -import javax.xml.namespace.QName; - -import org.apache.axis.model.soap.impl.SOAPPackageImpl; -import org.apache.axis.model.wsdd.impl.WSDDPackageImpl; - -import org.apache.axis.model.xml.XmlFactory; - -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EFactory; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @see org.apache.axis.model.xml.XmlFactory - * @model kind="package" - * @generated - */ -public class XmlPackageImpl extends EPackageImpl { - /** - * The package name. - * - * - * @generated - */ - public static final String eNAME = "xml"; - - /** - * The package namespace URI. - * - * - * @generated - */ - public static final String eNS_URI = "http://axis.apache.org/emf/xml"; - - /** - * The package namespace name. - * - * - * @generated - */ - public static final String eNS_PREFIX = "xsd"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - public static final XmlPackageImpl eINSTANCE = org.apache.axis.model.xml.impl.XmlPackageImpl.init(); - - /** - * The meta object id for the 'QName' data type. - * - * - * @see javax.xml.namespace.QName - * @see org.apache.axis.model.xml.impl.XmlPackageImpl#getQName() - * @generated - */ - public static final int QNAME = 0; - - /** - * - * - * @generated - */ - private EDataType qNameEDataType = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

    Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.apache.axis.model.xml.impl.XmlPackageImpl#eNS_URI - * @see #init() - * @generated - */ - private XmlPackageImpl() { - super(eNS_URI, ((EFactory)XmlFactory.INSTANCE)); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

    This method is used to initialize {@link XmlPackageImpl#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static XmlPackageImpl init() { - if (isInited) return (XmlPackageImpl)EPackage.Registry.INSTANCE.getEPackage(XmlPackageImpl.eNS_URI); - - // Obtain or create and register package - XmlPackageImpl theXmlPackage = (XmlPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof XmlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new XmlPackageImpl()); - - isInited = true; - - // Obtain or create and register interdependencies - WSDDPackageImpl theWSDDPackage = (WSDDPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WSDDPackageImpl.eNS_URI) instanceof WSDDPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WSDDPackageImpl.eNS_URI) : WSDDPackageImpl.eINSTANCE); - SOAPPackageImpl theSOAPPackage = (SOAPPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI) instanceof SOAPPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SOAPPackageImpl.eNS_URI) : SOAPPackageImpl.eINSTANCE); - - // Create package meta-data objects - theXmlPackage.createPackageContents(); - theWSDDPackage.createPackageContents(); - theSOAPPackage.createPackageContents(); - - // Initialize created meta-data - theXmlPackage.initializePackageContents(); - theWSDDPackage.initializePackageContents(); - theSOAPPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theXmlPackage.freeze(); - - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(XmlPackageImpl.eNS_URI, theXmlPackage); - return theXmlPackage; - } - - - /** - * Returns the meta object for data type '{@link javax.xml.namespace.QName QName}'. - * - * - * @return the meta object for data type 'QName'. - * @see javax.xml.namespace.QName - * @model instanceClass="javax.xml.namespace.QName" - * @generated - */ - public EDataType getQName() { - return qNameEDataType; - } - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - public XmlFactory getXmlFactory() { - return (XmlFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create data types - qNameEDataType = createEDataType(QNAME); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Initialize data types - initEDataType(qNameEDataType, QName.class, "QName", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); - - // Create resource - createResource(eNS_URI); - } - - /** - * - * Defines literals for the meta objects that represent - *

      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @generated - */ - public interface Literals { - /** - * The meta object literal for the 'QName' data type. - * - * - * @see javax.xml.namespace.QName - * @see org.apache.axis.model.xml.impl.XmlPackageImpl#getQName() - * @generated - */ - public static final EDataType QNAME = eINSTANCE.getQName(); - - } - -} //XmlPackageImpl From 9750d80a7bcc9873152ca07d6b634e949313c7b6 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 7 May 2018 21:30:00 +0000 Subject: [PATCH 078/133] Fix Javadoc issues in axis-model. --- .../apache/axis/model/util/AxisXMLResource.java | 16 ++++++++-------- pom.xml | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLResource.java b/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLResource.java index f5a87116e..071fdf1b4 100644 --- a/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLResource.java +++ b/axis-model/src/main/java/org/apache/axis/model/util/AxisXMLResource.java @@ -40,14 +40,14 @@ public class AxisXMLResource extends XMLResourceImpl { * *
          * <deployment xmlns="http://xml.apache.org/axis/wsdd/"
    -     *             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    -     *   <transport name="http">
    -     *     <requestFlow>
    -     *       <handler type="URLMapper"/>
    -     *       <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
    -     *     </requestFlow>
    -     *   </transport>
    -     * </deployment>
    +     *             xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    +     *   <transport name="http">
    +     *     <requestFlow>
    +     *       <handler type="URLMapper"/>
    +     *       <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
    +     *     </requestFlow>
    +     *   </transport>
    +     * </deployment>
          * 
    * * If the type attribute is assumed to be of type xsd:QName, then the diff --git a/pom.xml b/pom.xml index becc3a07c..38a52a1a7 100644 --- a/pom.xml +++ b/pom.xml @@ -187,6 +187,21 @@ 3.0.0 1.4 + + + + generated + X + + + model + X + + + ordered + X + +
    From 6ab300d859209368a0464420bd4b589b9d697f93 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 06:50:54 +0000 Subject: [PATCH 079/133] Ignore HTML problems in Javadoc generated by EMF. --- axis-model/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/axis-model/pom.xml b/axis-model/pom.xml index d0bc463e0..f0217351c 100644 --- a/axis-model/pom.xml +++ b/axis-model/pom.xml @@ -128,6 +128,13 @@ + + maven-javadoc-plugin + + + all,-html + +
    From 9f2fb33272d0e168e27ee6428a7000deeb0256f5 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 19:23:32 +0000 Subject: [PATCH 080/133] Set up Travis-CI. --- .travis.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..07a6b7699 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +dist: trusty +language: java +jdk: + - openjdk8 +install: echo NOOP Skipping pre-fetch of Maven dependencies +cache: + directories: + - $HOME/.m2 +script: mvn clean verify -Papache-release -Dgpg.skip=true From af832ace842f3fd8b570f7e69a6e693efb8590f4 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 20:25:23 +0000 Subject: [PATCH 081/133] Use the javax.tools API in axis-rt-jws. --- axis-rt-jws/pom.xml | 4 + .../components/compiler/AbstractCompiler.java | 189 ----------- .../axis/components/compiler/Compiler.java | 86 ----- .../components/compiler/CompilerError.java | 162 --------- .../components/compiler/CompilerFactory.java | 57 ---- .../axis/components/compiler/Javac.java | 318 ------------------ .../axis/components/compiler/Jikes.java | 256 -------------- .../org/apache/axis/handlers/JWSHandler.java | 53 +-- .../org/apache/axis/utils/ClasspathUtils.java | 56 ++- pom.xml | 2 + src/site/apt/changelogs/1_4_1.apt | 2 + 11 files changed, 62 insertions(+), 1123 deletions(-) delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/AbstractCompiler.java delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Compiler.java delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerError.java delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerFactory.java delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Javac.java delete mode 100644 axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Jikes.java diff --git a/axis-rt-jws/pom.xml b/axis-rt-jws/pom.xml index fb885b1f0..1a8c26619 100644 --- a/axis-rt-jws/pom.xml +++ b/axis-rt-jws/pom.xml @@ -34,6 +34,10 @@ ${baseSiteUrl}/jws + + + 1.6 + ${project.groupId} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/AbstractCompiler.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/AbstractCompiler.java deleted file mode 100644 index e15961920..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/AbstractCompiler.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -/** - * This class implements the functionality common to all Java compilers. - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ -public abstract class AbstractCompiler implements Compiler { - - /** - * The source program filenames - */ - protected ArrayList fileList = new ArrayList(); - - /** - * The name of the directory containing the source program file - */ - protected String srcDir; - - /** - * The name of the directory to contain the resulting object program file - */ - protected String destDir; - - /** - * The classpath to be used for compilation - */ - protected String classpath; - - /** - * The encoding of the source program or null to use the - * platform's default encoding - */ - protected String encoding = null; - - /** - * The input stream to output compilation errors - */ - protected InputStream errors; - - /** - * Add the name of the file containing the source program to the file list - * - * @param file The name of the file containing the source program - */ - public void addFile(String file) { - this.fileList.add(file); - } - - /** - * Set the name of the directory containing the source program file - * - * @param srcDir The name of the directory containing the source program file - */ - public void setSource(String srcDir) { - this.srcDir = srcDir; - } - - /** - * Set the name of the directory to contain the resulting object program file - * - * @param destDir The name of the directory to contain the resulting object - * program file - */ - public void setDestination(String destDir) { - this.destDir = destDir; - } - - /** - * Set the classpath to be used for this compilation - * - * @param classpath The classpath to be used for this compilation - */ - public void setClasspath(String classpath) { - this.classpath = classpath; - } - - /** - * Set the encoding of the input source file or null to use the - * platform's default encoding - * - * @param encoding The encoding of the input source file or null - * to use the platform's default encoding - */ - public void setEncoding(String encoding) { - this.encoding = encoding; - } - - /** - * Return the list of errors generated by this compilation - * - * @return The list of errors generated by this compilation - * @exception IOException If an error occurs during message collection - */ - public List getErrors() throws IOException { - return parseStream(new BufferedReader(new InputStreamReader(errors))); - } - - /** - * Parse the compiler error stream to produce a list of - * CompilerErrors - * - * @param errors The error stream - * @return The list of compiler error messages - * @exception IOException If an error occurs during message collection - */ - protected abstract List parseStream(BufferedReader errors) - throws IOException; - - /** - * Fill the arguments taken by the Java compiler - * - * @param arguments The list of compilation arguments - * @return The prepared list of compilation arguments - */ - protected List fillArguments(List arguments) { - // destination directory - arguments.add("-d"); - arguments.add(destDir); - - // classpath - arguments.add("-classpath"); - arguments.add(classpath); - - // sourcepath - if(srcDir != null) { - arguments.add("-sourcepath"); - arguments.add(srcDir); - } - - // add optimization (for what is worth) - arguments.add("-O"); - - // add debug option - arguments.add("-g"); - - // add encoding if set - if (encoding != null) { - arguments.add("-encoding"); - arguments.add(encoding); - } - - return arguments; - } - - /** - * Copy arguments to a string array - * - * @param arguments The compiler arguments - * @return A string array containing compilation arguments - */ - protected String[] toStringArray(List arguments) { - int i; - String[] args = new String[arguments.size() + fileList.size()]; - - for (i = 0; i < arguments.size(); i++) { - args[i] = (String) arguments.get(i); - } - - for (int j=0; j < fileList.size(); i++,j++) { - args[i] = (String)fileList.get(j); - } - return args; - } -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Compiler.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Compiler.java deleted file mode 100644 index 92f34f5a7..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Compiler.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -import java.io.IOException; -import java.util.List; - -/** - * This interface defines a compiler's functionality for all - * (Java-based) compiled languages - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ -public interface Compiler { - /** - * Set the name of the file containing the source program - * - * @param file The name of the file containing the source program - */ - void addFile(String file); - - /** - * Set the name of the directory containing the source program file - * - * @param srcDir The name of the directory containing the source program file - */ - void setSource(String srcDir); - - /** - * Set the name of the directory to contain the resulting object program file - * - * @param destDir The name of the directory to contain the resulting object - * program file - */ - void setDestination(String destDir); - - /** - * Set the classpath to be used for this compilation - * - * @param classpath The classpath to be used for this compilation - */ - void setClasspath(String classpath); - - /** - * Set the encoding of the input source file or null to use the - * platform's default encoding - * - * @param encoding The encoding of the input source file or null - * to use the platform's default encoding - */ - void setEncoding(String encoding); - - /** - * Compile a source file yielding a loadable program file. - * - * @param filename The object program base file name - * @param baseDirectory The directory containing the object program file - * @param encoding The encoding expected in the source file or - * null if it is the platform's default encoding - * @exception LanguageException If an error occurs during compilation - */ - boolean compile() throws IOException; - - /** - * Return the list of errors generated by this compilation - * - * @return The list of errors generated by this compilation - * @exception IOException If an error occurs during message collection - */ - List getErrors() throws IOException; -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerError.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerError.java deleted file mode 100644 index bb006fd85..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerError.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -/** - * This class encapsulates an error message produced by a programming language - * processor (whether interpreted or compiled) - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ - -public class CompilerError { - /** - * Is this a severe error or a warning? - */ - private boolean error; - /** - * The start line number of the offending program text - */ - private int startline; - /** - * The start column number of the offending program text - */ - private int startcolumn; - /** - * The end line number of the offending program text - */ - private int endline; - /** - * The end column number of the offending program text - */ - private int endcolumn; - /** - * The name of the file containing the offending program text - */ - private String file; - /** - * The actual error text produced by the language processor - */ - private String message; - - /** - * The error message constructor. - * - * @param file The name of the file containing the offending program text - * @param error The actual error text produced by the language processor - * @param startline The start line number of the offending program text - * @param startcolumn The start column number of the offending program text - * @param endline The end line number of the offending program text - * @param endcolumn The end column number of the offending program text - * @param message The actual error text produced by the language processor - */ - public CompilerError( - String file, - boolean error, - int startline, - int startcolumn, - int endline, - int endcolumn, - String message - ) - { - this.file = file; - this.error = error; - this.startline = startline; - this.startcolumn = startcolumn; - this.endline = endline; - this.endcolumn = endcolumn; - this.message = message; - } - - /** - * The error message constructor. - * - * @param message The actual error text produced by the language processor - */ - public CompilerError(String message) { - this.message = message; - } - - /** - * Return the filename associated with this compiler error. - * - * @return The filename associated with this compiler error - */ - public String getFile() { - return file; - } - - /** - * Assert whether this is a severe error or a warning - * - * @return Whether the error is severe - */ - public boolean isError() { - return error; - } - - /** - * Return the starting line number of the program text originating this error - * - * @return The starting line number of the program text originating this error - */ - public int getStartLine() { - return startline; - } - - /** - * Return the starting column number of the program text originating this - * error - * - * @return The starting column number of the program text originating this - * error - */ - public int getStartColumn() { - return startcolumn; - } - - /** - * Return the ending line number of the program text originating this error - * - * @return The ending line number of the program text originating this error - */ - public int getEndLine() { - return endline; - } - - /** - * Return the ending column number of the program text originating this - * error - * - * @return The ending column number of the program text originating this - * error - */ - public int getEndColumn() { - return endcolumn; - } - - /** - * Return the message produced by the language processor - * - * @return The message produced by the language processor - */ - public String getMessage() { - return message; - } -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerFactory.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerFactory.java deleted file mode 100644 index e2db8d8fb..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/CompilerFactory.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -import org.apache.axis.AxisProperties; -import org.apache.axis.components.logger.LogFactory; -import org.apache.axis.utils.Messages; -import org.apache.commons.logging.Log; - - -/** - * This class implements a factory to instantiate a Compiler. - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ -public class CompilerFactory { - protected static Log log = - LogFactory.getLog(CompilerFactory.class.getName()); - - static { - AxisProperties.setClassOverrideProperty(Compiler.class, "axis.Compiler"); - - AxisProperties.setClassDefault(Compiler.class, - "org.apache.axis.components.compiler.Javac"); - } - - public static Compiler getCompiler() { - Compiler compiler = (Compiler)AxisProperties.newInstance(Compiler.class); - - /** - * This shouldn't be needed, but seems to be a common feel-good: - */ - if (compiler == null) { - log.debug(Messages.getMessage("defaultCompiler")); - compiler = new Javac(); - } - - log.debug("axis.Compiler:" + compiler.getClass().getName()); - - return compiler; - } -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Javac.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Javac.java deleted file mode 100644 index db20ee011..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Javac.java +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -import org.apache.axis.components.logger.LogFactory; -import org.apache.axis.utils.ClassUtils; -import org.apache.axis.utils.Messages; -import org.apache.commons.logging.Log; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.StringTokenizer; -import java.net.URL; -import java.net.MalformedURLException; -import java.net.URLClassLoader; - -/** - * This class wraps the Sun's Javac Compiler. - * - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ - -public class Javac extends AbstractCompiler -{ - protected static Log log = - LogFactory.getLog(Javac.class.getName()); - - public static final String CLASSIC_CLASS = "sun.tools.javac.Main"; - public static final String MODERN_CLASS = "com.sun.tools.javac.main.Main"; - - private boolean modern = false; - - public Javac() { - ClassLoader cl = getClassLoader(); - try { - ClassUtils.forName(MODERN_CLASS, true, cl); - modern = true; - } catch (ClassNotFoundException e) { - log.debug(Messages.getMessage("noModernCompiler")); - try { - ClassUtils.forName(CLASSIC_CLASS, true, cl); - modern = false; - } catch (Exception ex) { - log.error(Messages.getMessage("noCompiler00"), ex); - throw new RuntimeException(Messages.getMessage("noCompiler00")); - } - } - log.debug(Messages.getMessage("compilerClass", - (modern ? MODERN_CLASS : CLASSIC_CLASS))); - } - - private ClassLoader getClassLoader() { - // Use reflection to be able to build on all JDKs - ClassLoader cl = Thread.currentThread().getContextClassLoader(); - - URL toolsURL = null; - String tools = System.getProperty("java.home"); - if (tools != null) { - File f = new File(tools + "/../lib/tools.jar"); - if (f.exists()) { - try { - toolsURL = f.toURL(); - cl = new URLClassLoader(new URL[]{toolsURL}, cl); - } catch (MalformedURLException e) { - } - } - } - - return cl; - } - - /** - * Compile a source file yielding a loadable class file. - * - * @exception IOException If an error occurs during compilation - */ - public boolean compile() throws IOException { - ByteArrayOutputStream err = new ByteArrayOutputStream(); - boolean result = false; - - try { - // Create an instance of the compiler, redirecting output to err - Class c = ClassUtils.forName(modern ? MODERN_CLASS : CLASSIC_CLASS, - true, - getClassLoader()); - - Constructor cons; - Object compiler; - if (modern) { - PrintWriter pw = new PrintWriter(new OutputStreamWriter(err)); - cons = - c.getConstructor(new Class[] { String.class, - PrintWriter.class}); - - compiler = cons.newInstance(new Object[] { "javac", pw }); - } - else { - cons = - c.getConstructor(new Class[] { OutputStream.class, - String.class }); - compiler = cons.newInstance(new Object[] { err, "javac" }); - - } - - // Call the compile() method - Method compile = c.getMethod("compile", - new Class [] { String[].class }); - - if (modern) { - int compilationResult = - ((Integer)compile.invoke(compiler, new Object[] - { - toStringArray(fillArguments - (new ArrayList()))})).intValue(); - - result = (compilationResult == 0); - log.debug("Compilation Returned: " - + Integer.toString(compilationResult)); - } - else { - Boolean ok = - (Boolean)compile.invoke(compiler, new Object[] - {toStringArray(fillArguments(new ArrayList()))}); - - result = ok.booleanValue(); - } - } catch (Exception cnfe){ - log.error(Messages.getMessage("noCompiler00"), cnfe); - throw new RuntimeException(Messages.getMessage("noCompiler00")); - } - - this.errors = new ByteArrayInputStream(err.toByteArray()); - return result; - } - - /** - * Parse the compiler error stream to produce a list of - * CompilerErrors - * - * @param input The error stream - * @return The list of compiler error messages - * @exception IOException If an error occurs during message collection - */ - protected List parseStream(BufferedReader input) throws IOException { - if (modern) { - return parseModernStream(input); - } else { - return parseClassicStream(input); - } - } - - /** - * Parse the compiler error stream to produce a list of - * CompilerErrors - * - * @param input The error stream - * @return The list of compiler error messages - * @exception IOException If an error occurs during message collection - */ - protected List parseModernStream(BufferedReader input) throws IOException { - List errors = new ArrayList(); - String line = null; - StringBuffer buffer = null; - - while (true) { - // cleanup the buffer - buffer = new StringBuffer(); // this is quicker than clearing it - - // most errors terminate with the '^' char - do { - if ((line = input.readLine()) == null) - { - if (buffer.length() > 0) { - // There's an error which doesn't end with a '^' - errors.add(new CompilerError("\n" + buffer.toString())); - } - return errors; - } - log.debug(line); - buffer.append(line); - buffer.append('\n'); - } while (!line.endsWith("^")); - - // add the error bean - errors.add(parseModernError(buffer.toString())); - } - } - - /** - * Parse an individual compiler error message with modern style. - * - * @param error The error text - * @return A messaged CompilerError - */ - private CompilerError parseModernError(String error) { - StringTokenizer tokens = new StringTokenizer(error, ":"); - try { - String file = tokens.nextToken(); - if (file.length() == 1) file = new StringBuffer(file).append(":").append(tokens.nextToken()).toString(); - int line = Integer.parseInt(tokens.nextToken()); - - String message = tokens.nextToken("\n").substring(1); - String context = tokens.nextToken("\n"); - String pointer = tokens.nextToken("\n"); - int startcolumn = pointer.indexOf("^"); - int endcolumn = context.indexOf(" ", startcolumn); - if (endcolumn == -1) endcolumn = context.length(); - return new CompilerError(file, false, line, startcolumn, line, endcolumn, message); - } catch(NoSuchElementException nse) { - return new CompilerError(Messages.getMessage("noMoreTokens", error)); - } catch(Exception nse) { - return new CompilerError(Messages.getMessage("cantParse", error)); - } - } - - /** - * Parse the compiler error stream to produce a list of - * CompilerErrors - * - * @param input The error stream - * @return The list of compiler error messages - * @exception IOException If an error occurs during message collection - */ - protected List parseClassicStream(BufferedReader input) throws IOException { - List errors = null; - String line = null; - StringBuffer buffer = null; - - while (true) { - // cleanup the buffer - buffer = new StringBuffer(); // this is faster than clearing it - - // each error has 3 lines - for (int i = 0; i < 3 ; i++) { - if ((line = input.readLine()) == null) return errors; - log.debug(line); - buffer.append(line); - buffer.append('\n'); - } - - // if error is found create the vector - if (errors == null) errors = new ArrayList(); - - // add the error bean - errors.add(parseClassicError(buffer.toString())); - } - } - - /** - * Parse an individual compiler error message with classic style. - * - * @param error The error text - * @return A messaged CompilerError - */ - private CompilerError parseClassicError(String error) { - StringTokenizer tokens = new StringTokenizer(error, ":"); - try { - String file = tokens.nextToken(); - if (file.length() == 1) { - file = new StringBuffer(file).append(":"). - append(tokens.nextToken()).toString(); - } - int line = Integer.parseInt(tokens.nextToken()); - - String last = tokens.nextToken(); - // In case the message contains ':', it should be reassembled - while (tokens.hasMoreElements()) { - last += tokens.nextToken(); - } - tokens = new StringTokenizer(last.trim(), "\n"); - String message = tokens.nextToken(); - String context = tokens.nextToken(); - String pointer = tokens.nextToken(); - int startcolumn = pointer.indexOf("^"); - int endcolumn = context.indexOf(" ", startcolumn); - if (endcolumn == -1) endcolumn = context.length(); - - return new CompilerError(srcDir + File.separator + file, true, - line, startcolumn, line, endcolumn, message); - } catch(NoSuchElementException nse) { - return new CompilerError(Messages.getMessage("noMoreTokens", - error)); - } catch(Exception nse) { - return new CompilerError(Messages.getMessage("cantParse", error)); - } - } - - public String toString() { - return Messages.getMessage("sunJavac"); - } -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Jikes.java b/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Jikes.java deleted file mode 100644 index d4937019b..000000000 --- a/axis-rt-jws/src/main/java/org/apache/axis/components/compiler/Jikes.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.compiler; - -import org.apache.axis.components.logger.LogFactory; -import org.apache.axis.utils.Messages; -import org.apache.commons.logging.Log; - -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -/** - * This class wraps IBM's Jikes Java compiler - * NOTE: inspired by the Apache Jasper implementation. - * @author Davanum Srinivas - * @author Stefano Mazzocchi - * @since 2.0 - */ - -public class Jikes extends AbstractCompiler -{ - protected static Log log = - LogFactory.getLog(Jikes.class.getName()); - - static final int OUTPUT_BUFFER_SIZE = 1024; - static final int BUFFER_SIZE = 512; - - private class StreamPumper extends Thread { - - private BufferedInputStream stream; - private boolean endOfStream = false; - private boolean stopSignal = false; - private int SLEEP_TIME = 5; - private OutputStream out; - - public StreamPumper(BufferedInputStream is, OutputStream out) { - this.stream = is; - this.out = out; - } - - public void pumpStream() throws IOException { - byte[] buf = new byte[BUFFER_SIZE]; - if (!endOfStream) { - int bytesRead = stream.read(buf, 0, BUFFER_SIZE); - - if (bytesRead > 0) { - out.write(buf, 0, bytesRead); - } else if (bytesRead == -1) { - endOfStream = true; - } - } - } - - public void run() { - try { - while (!endOfStream) { - pumpStream(); - sleep(SLEEP_TIME); - } - } catch (Exception e) { - // getLogger().warn("Jikes.run()", e); - } - } - } - - /** - * Copy arguments to a string array - * - * @param arguments The compiler arguments - * @return A string array containing compilation arguments - */ - protected String[] toStringArray(List arguments) { - int i; - - for (i = 0; i < arguments.size(); i++) { - String arg = (String) arguments.get(i); - if (arg.equals("-sourcepath")) { - // Remove -sourcepath option. Jikes does not understand that. - arguments.remove(i); - arguments.remove(i); - break; - } - } - - String[] args = new String[arguments.size() + fileList.size()]; - for (i = 0; i < arguments.size(); i++) { - args[i] = (String) arguments.get(i); - } - - for (int j=0; j < fileList.size(); i++,j++) { - args[i] = (String)fileList.get(j); - } - - return args; - } - - /** - * Execute the compiler - */ - public boolean compile() throws IOException { - - List args = new ArrayList(); - // command line name - args.add("jikes"); - // indicate Emacs output mode must be used - args.add("+E"); - // avoid warnings - // Option nowarn with one hyphen only - args.add("-nowarn"); - - int exitValue; - ByteArrayOutputStream tmpErr = new ByteArrayOutputStream(OUTPUT_BUFFER_SIZE); - - try { - Process p = Runtime.getRuntime().exec(toStringArray(fillArguments(args))); - - BufferedInputStream compilerErr = new BufferedInputStream(p.getErrorStream()); - - StreamPumper errPumper = new StreamPumper(compilerErr, tmpErr); - - errPumper.start(); - - p.waitFor(); - exitValue = p.exitValue(); - - // Wait until the complete error stream has been read - errPumper.join(); - compilerErr.close(); - - p.destroy(); - - tmpErr.close(); - this.errors = new ByteArrayInputStream(tmpErr.toByteArray()); - - } catch (InterruptedException somethingHappened) { - log.debug("Jikes.compile():SomethingHappened", somethingHappened); - return false; - } - - // Jikes returns 0 even when there are some types of errors. - // Check if any error output as well - // Return should be OK when both exitValue and - // tmpErr.size() are 0 ?! - return ((exitValue == 0) && (tmpErr.size() == 0)); - } - - /** - * Parse the compiler error stream to produce a list of - * CompilerErrors - * - * @param input The error stream - * @return The list of compiler error messages - * @exception IOException If an error occurs during message collection - */ - protected List parseStream(BufferedReader input) throws IOException { - List errors = null; - String line = null; - StringBuffer buffer = null; - - while (true) { - // cleanup the buffer - buffer = new StringBuffer(); // this is faster than clearing it - - // first line is not space-starting - if (line == null) line = input.readLine(); - if (line == null) return errors; - log.debug(line); - buffer.append(line); - - // all other space-starting lines are one error - while (true) { - line = input.readLine(); - // EOF - if (line == null) - break; - // Continuation of previous error starts with ' ' - if (line.length() > 0 && line.charAt(0) != ' ') - break; - log.debug(line); - buffer.append('\n'); - buffer.append(line); - } - - // if error is found create the vector - if (errors == null) errors = new ArrayList(); - - // add the error bean - errors.add(parseError(buffer.toString())); - } - } - - /** - * Parse an individual compiler error message - * - * @param error The error text - * @return A mssaged CompilerError - */ - private CompilerError parseError(String error) { - StringTokenizer tokens = new StringTokenizer(error, ":"); - String file = tokens.nextToken(); - if (file.length() == 1) file = new StringBuffer(file).append(":").append(tokens.nextToken()).toString(); - StringBuffer message = new StringBuffer(); - String type = ""; - int startline = 0; - int startcolumn = 0; - int endline = 0; - int endcolumn = 0; - - try { - startline = Integer.parseInt(tokens.nextToken()); - startcolumn = Integer.parseInt(tokens.nextToken()); - endline = Integer.parseInt(tokens.nextToken()); - endcolumn = Integer.parseInt(tokens.nextToken()); - } catch (Exception e) { - // FIXME: VG: This is not needed anymore? - message.append(Messages.getMessage("compilerFail00")); - type="error"; - log.error(Messages.getMessage("compilerFail00"), e); - } - - if ("".equals(message)) { - type = tokens.nextToken().trim().toLowerCase(); - message.append(tokens.nextToken("\n").substring(1).trim()); - - while (tokens.hasMoreTokens()) - message.append("\n").append(tokens.nextToken()); - } - - return new CompilerError(file, type.equals("error"), startline, startcolumn, endline, endcolumn, message.toString()); - } - - public String toString() { - return Messages.getMessage("ibmJikes"); - } -} diff --git a/axis-rt-jws/src/main/java/org/apache/axis/handlers/JWSHandler.java b/axis-rt-jws/src/main/java/org/apache/axis/handlers/JWSHandler.java index cede9feca..6626e0520 100644 --- a/axis-rt-jws/src/main/java/org/apache/axis/handlers/JWSHandler.java +++ b/axis-rt-jws/src/main/java/org/apache/axis/handlers/JWSHandler.java @@ -19,9 +19,6 @@ import org.apache.axis.AxisFault; import org.apache.axis.Constants; import org.apache.axis.MessageContext; -import org.apache.axis.components.compiler.Compiler; -import org.apache.axis.components.compiler.CompilerError; -import org.apache.axis.components.compiler.CompilerFactory; import org.apache.axis.components.logger.LogFactory; import org.apache.axis.constants.Scope; import org.apache.axis.handlers.soap.SOAPService; @@ -38,11 +35,21 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; +import java.util.Collections; import java.util.HashMap; import java.util.Hashtable; -import java.util.List; import java.util.Map; +import javax.tools.Diagnostic; +import javax.tools.Diagnostic.Kind; +import javax.tools.DiagnosticCollector; +import javax.tools.JavaCompiler; +import javax.tools.JavaCompiler.CompilationTask; +import javax.tools.JavaFileObject; +import javax.tools.StandardJavaFileManager; +import javax.tools.StandardLocation; +import javax.tools.ToolProvider; + /** A JWSHandler sets the target service and JWS filename * in the context depending on the JWS configuration and the target URL. * @@ -192,13 +199,17 @@ protected void setupService(MessageContext msgContext) throws Exception { log.debug("javac " + jFile ); // Process proc = rt.exec( "javac " + jFile ); // proc.waitFor(); - Compiler compiler = CompilerFactory.getCompiler(); + JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); + + fileManager.setLocation(StandardLocation.CLASS_PATH, ClasspathUtils.getDefaultClasspath(msgContext)); + fileManager.setLocation(StandardLocation.CLASS_OUTPUT, Collections.singletonList(new File(outdir))); - compiler.setClasspath(ClasspathUtils.getDefaultClasspath(msgContext)); - compiler.setDestination(outdir); - compiler.addFile(jFile); + DiagnosticCollector diagnosticCollector = new DiagnosticCollector(); + CompilationTask task = compiler.getTask(null, fileManager, diagnosticCollector, null, null, + fileManager.getJavaFileObjectsFromFiles(Collections.singletonList(new File(jFile)))); - boolean result = compiler.compile(); + boolean result = task.call(); /* Delete the temporary *.java file and check return code */ /**********************************************************/ @@ -216,19 +227,17 @@ protected void setupService(MessageContext msgContext) throws Exception { Element root = doc.createElementNS("", "Errors"); StringBuffer message = new StringBuffer("Error compiling "); message.append(jFile); - message.append(":\n"); - - List errors = compiler.getErrors(); - int count = errors.size(); - for (int i = 0; i < count; i++) { - CompilerError error = (CompilerError) errors.get(i); - if (i > 0) message.append("\n"); - message.append("Line "); - message.append(error.getStartLine()); - message.append(", column "); - message.append(error.getStartColumn()); - message.append(": "); - message.append(error.getMessage()); + message.append(":"); + + for (Diagnostic diagnostic : diagnosticCollector.getDiagnostics()) { + if (diagnostic.getKind() == Kind.ERROR) { + message.append("\nLine "); + message.append(diagnostic.getLineNumber()); + message.append(", column "); + message.append(diagnostic.getStartPosition()); + message.append(": "); + message.append(diagnostic.getMessage(null)); + } } root.appendChild( doc.createTextNode( message.toString() ) ); throw new AxisFault( "Server.compileError", diff --git a/axis-rt-jws/src/main/java/org/apache/axis/utils/ClasspathUtils.java b/axis-rt-jws/src/main/java/org/apache/axis/utils/ClasspathUtils.java index 1858b9a6d..350262816 100644 --- a/axis-rt-jws/src/main/java/org/apache/axis/utils/ClasspathUtils.java +++ b/axis-rt-jws/src/main/java/org/apache/axis/utils/ClasspathUtils.java @@ -27,6 +27,9 @@ import java.net.URL; import java.net.URLClassLoader; import java.net.URLDecoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.StringTokenizer; import java.util.jar.Attributes; import java.util.jar.JarFile; @@ -50,23 +53,19 @@ public class ClasspathUtils { * @param dirPaths The string containing the directory path or list of * directory paths. * @return The file paths of the jar files in the directories. This is an - * empty string if no files were found, and is terminated by an - * additional pathSeparator in all other cases. + * empty list if no files were found. */ - public static String expandDirs(String dirPaths) { + public static List expandDirs(String dirPaths) { StringTokenizer st = new StringTokenizer(dirPaths, File.pathSeparator); - StringBuffer buffer = new StringBuffer(); + List files = new ArrayList(); while (st.hasMoreTokens()) { String d = st.nextToken(); File dir = new File(d); if (dir.isDirectory()) { - File[] files = dir.listFiles(new JavaArchiveFilter()); - for (int i = 0; i < files.length; i++) { - buffer.append(files[i]).append(File.pathSeparator); - } + files.addAll(Arrays.asList(dir.listFiles(new JavaArchiveFilter()))); } } - return buffer.toString(); + return files; } /** @@ -90,8 +89,8 @@ public static boolean isJar(InputStream is) { * @param msgContext * @return default classpath */ - public static String getDefaultClasspath(MessageContext msgContext) { - StringBuffer classpath = new StringBuffer(); + public static List getDefaultClasspath(MessageContext msgContext) { + List classpath = new ArrayList(); ClassLoader cl = Thread.currentThread().getContextClassLoader(); fillClassPath(cl, classpath); @@ -100,8 +99,7 @@ public static String getDefaultClasspath(MessageContext msgContext) { String webBase = (String) msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETLOCATION); if (webBase != null) { - classpath.append(webBase + File.separatorChar + "classes" + - File.pathSeparatorChar); + classpath.add(new File(webBase, "classes")); try { String libBase = webBase + File.separatorChar + "lib"; File libDir = new File(libBase); @@ -109,10 +107,7 @@ public static String getDefaultClasspath(MessageContext msgContext) { for (int i = 0; i < jarFiles.length; i++) { String jarFile = jarFiles[i]; if (jarFile.endsWith(".jar")) { - classpath.append(libBase + - File.separatorChar + - jarFile + - File.pathSeparatorChar); + classpath.add(new File(libBase, jarFile)); } } } catch (Exception e) { @@ -138,7 +133,8 @@ public static String getDefaultClasspath(MessageContext msgContext) { // boot classpath isn't found in above search getClassPathFromProperty(classpath, "sun.boot.class.path"); - return classpath.toString(); + + return classpath; } /** @@ -146,18 +142,13 @@ public static String getDefaultClasspath(MessageContext msgContext) { * @param classpath * @param property */ - private static void getClassPathFromDirectoryProperty(StringBuffer classpath, String property) { + private static void getClassPathFromDirectoryProperty(List classpath, String property) { String dirs = AxisProperties.getProperty(property); - String path = null; try { - path = ClasspathUtils.expandDirs(dirs); + classpath.addAll(ClasspathUtils.expandDirs(dirs)); } catch (Exception e) { // Oh well. No big deal. } - if (path != null) { - classpath.append(path); - classpath.append(File.pathSeparatorChar); - } } /** @@ -165,11 +156,12 @@ private static void getClassPathFromDirectoryProperty(StringBuffer classpath, St * @param classpath * @param property */ - private static void getClassPathFromProperty(StringBuffer classpath, String property) { + private static void getClassPathFromProperty(List classpath, String property) { String path = AxisProperties.getProperty(property); if (path != null) { - classpath.append(path); - classpath.append(File.pathSeparatorChar); + for (String item : path.split(File.pathSeparator)) { + classpath.add(new File(item)); + } } } @@ -178,7 +170,7 @@ private static void getClassPathFromProperty(StringBuffer classpath, String prop * @param cl * @param classpath */ - private static void fillClassPath(ClassLoader cl, StringBuffer classpath) { + private static void fillClassPath(ClassLoader cl, List classpath) { while (cl != null) { if (cl instanceof URLClassLoader) { URL[] urls = ((URLClassLoader) cl).getURLs(); @@ -187,8 +179,7 @@ private static void fillClassPath(ClassLoader cl, StringBuffer classpath) { //If it is a drive letter, adjust accordingly. if (path.length() >= 3 && path.charAt(0) == '/' && path.charAt(2) == ':') path = path.substring(1); - classpath.append(URLDecoder.decode(path)); - classpath.append(File.pathSeparatorChar); + classpath.add(new File(URLDecoder.decode(path))); // if its a jar extract Class-Path entries from manifest File file = new File(urls[i].getFile()); @@ -208,8 +199,7 @@ private static void fillClassPath(ClassLoader cl, StringBuffer classpath) { StringTokenizer st = new StringTokenizer(s, " "); while (st.hasMoreTokens()) { String t = st.nextToken(); - classpath.append(base + File.separatorChar + t); - classpath.append(File.pathSeparatorChar); + classpath.add(new File(base, t)); } } } diff --git a/pom.xml b/pom.xml index 38a52a1a7..7ed626d58 100644 --- a/pom.xml +++ b/pom.xml @@ -330,6 +330,8 @@ artifactId = 'java14-sun' } else if (javaVersion == '1.5') { artifactId = 'java15-sun' + } else if (javaVersion == '1.6') { + artifactId = 'java16-sun' } project.properties['signatureArtifactId'] = artifactId project.properties['signatureVersion'] = '1.0' diff --git a/src/site/apt/changelogs/1_4_1.apt b/src/site/apt/changelogs/1_4_1.apt index d9184ad21..13ab1e888 100644 --- a/src/site/apt/changelogs/1_4_1.apt +++ b/src/site/apt/changelogs/1_4_1.apt @@ -51,3 +51,5 @@ Changes from 1.4 final * <<>> no longer attempts to register the Axis MBeans automatically. To enable them, add <<>> as a dependency and register <<>> as a listener in <<>>. + + * The JWS support was updated to use the <<>> API, which requires Java 6. From 9221cade02473e0d4b74691b1f5442089ffb3110 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 20:59:43 +0000 Subject: [PATCH 082/133] Correctly set the source version for Javadoc. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7ed626d58..266776d7b 100644 --- a/pom.xml +++ b/pom.xml @@ -186,7 +186,7 @@ maven-javadoc-plugin 3.0.0 - 1.4 + ${javaVersion} From 6607aec460f3777aa8b274070c08ad60d0ac56f8 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 22:12:21 +0000 Subject: [PATCH 083/133] Fix packaging of apidocs module. --- apidocs/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/apidocs/pom.xml b/apidocs/pom.xml index 141a70c3c..3862ee5e2 100644 --- a/apidocs/pom.xml +++ b/apidocs/pom.xml @@ -26,6 +26,7 @@ ../pom.xml apidocs + pom Javadoc ${baseUrl}/apiDocs From 83e4c366568ddae5499f10741037e7a6ba60e5a5 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 23:18:17 +0000 Subject: [PATCH 084/133] Switch to Oracle JDK. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 07a6b7699..9b8e48058 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,8 @@ dist: trusty language: java +# There are test cases that use ImageIO with JPEG and that only work on Oracle JDK. jdk: - - openjdk8 + - oraclejdk8 install: echo NOOP Skipping pre-fetch of Maven dependencies cache: directories: From 4f758aa4cc6aec2c61d2f39c141a5fbfdc25a29f Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 8 May 2018 23:45:49 +0000 Subject: [PATCH 085/133] Fix Javadoc problems. --- .../org/apache/axis/wsdl/toJava/Emitter.java | 6 ++-- .../axis/wsdl/toJava/GeneratedFileInfo.java | 6 ++-- .../axis/wsdl/toJava/JavaBeanFaultWriter.java | 6 ++-- .../wsdl/toJava/JavaBeanHelperWriter.java | 4 +-- .../axis/wsdl/toJava/JavaBeanWriter.java | 6 ++-- .../axis/wsdl/toJava/JavaBindingWriter.java | 2 +- .../axis/wsdl/toJava/JavaClassWriter.java | 11 +++----- .../axis/wsdl/toJava/JavaDeployWriter.java | 10 +++---- .../axis/wsdl/toJava/JavaEnumTypeWriter.java | 2 +- .../axis/wsdl/toJava/JavaFaultWriter.java | 4 +-- .../wsdl/toJava/JavaGeneratorFactory.java | 28 +++++++++---------- .../axis/wsdl/toJava/JavaHolderWriter.java | 2 +- .../axis/wsdl/toJava/JavaImplWriter.java | 6 ++-- .../axis/wsdl/toJava/JavaInterfaceWriter.java | 4 +-- .../wsdl/toJava/JavaServiceIfaceWriter.java | 2 +- .../wsdl/toJava/JavaServiceImplWriter.java | 10 +++---- .../axis/wsdl/toJava/JavaServiceWriter.java | 2 +- .../axis/wsdl/toJava/JavaSkelWriter.java | 6 ++-- .../axis/wsdl/toJava/JavaStubWriter.java | 6 ++-- .../axis/wsdl/toJava/JavaTestCaseWriter.java | 2 +- .../axis/wsdl/toJava/JavaTypeWriter.java | 2 +- .../apache/axis/wsdl/toJava/JavaWriter.java | 5 +--- .../apache/axis/wsdl/toJava/Namespaces.java | 2 +- .../org/apache/axis/wsdl/toJava/Utils.java | 6 ++-- 24 files changed, 66 insertions(+), 74 deletions(-) diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java index 89879bded..59476ee6a 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java @@ -349,7 +349,7 @@ public void setNStoPkg(String NStoPkgFilename) { } // setNStoPkg /** - * Set a map of namespace -> Java package names + * Set a map of namespace -> Java package names * * @param map */ @@ -358,7 +358,7 @@ public void setNamespaceMap(HashMap map) { } /** - * Get the map of namespace -> Java package names + * Get the map of namespace -> Java package names * * @return */ @@ -583,7 +583,7 @@ protected String getJavaVariableNameHook(QName typeQName, QName xmlName, boolean /** * Emit appropriate Java files for a WSDL at a given URL. - *

    + *

    * This method will time out after the number of milliseconds specified * by our timeoutms member. * diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/GeneratedFileInfo.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/GeneratedFileInfo.java index 2eb2ff895..cc1871ca5 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/GeneratedFileInfo.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/GeneratedFileInfo.java @@ -145,8 +145,7 @@ public List findType(String type) { /** * Lookup an entry by file name * - * @param file name you want info about - * @param fileName + * @param fileName name you want info about * @return The entry for the file name specified. Null if not found */ public Entry findName(String fileName) { @@ -166,8 +165,7 @@ public Entry findName(String fileName) { /** * Lookup an entry by class name * - * @param class name you want info about - * @param className + * @param className name you want info about * @return The entry for the class specified. Null if not found */ public Entry findClass(String className) { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java index 04c102346..8548dbf33 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanFaultWriter.java @@ -36,7 +36,7 @@ public class JavaBeanFaultWriter extends JavaBeanWriter { * that may potentially conflict with those that would be generated by * this class for an XSD complex type used as a fault. The following * immutable object contains all property names that must be excluded - * when generating a service specific exception. Note: + * when generating a service specific exception. Note: * {@link org.apache.axis.encoding.ser.BeanSerializer} always excludes * Throwable's and AxisFault's properties * when marshalling a service Java exception. @@ -95,7 +95,7 @@ protected JavaBeanFaultWriter(Emitter emitter, TypeEntry type, /** * Returns the appropriate extends text * - * @return "" or " extends " + * @return "" or " extends <class> " */ protected String getExtendsText() { @@ -114,7 +114,7 @@ protected String getExtendsText() { /** * Write the Exception serialization code - *

    + *

    * NOTE: This function is written in JavaFaultWriter.java also. * * @param pw diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java index 61343ecbb..368279557 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanHelperWriter.java @@ -32,7 +32,7 @@ import java.util.Set; /** - * This is Wsdl2java's Helper Type Writer. It writes the .java file. + * This is Wsdl2java's Helper Type Writer. It writes the <typeName>.java file. */ public class JavaBeanHelperWriter extends JavaClassWriter { @@ -143,7 +143,7 @@ protected void registerFile(String file) { } // registerFile /** - * Return the string: "Generating ". + * Return the string: "Generating <file>". * only if we are going to generate a new file. * * @param file diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java index fd931b4b9..26cf30e99 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java @@ -34,7 +34,7 @@ import java.util.Vector; /** - * This is Wsdl2java's Complex Type Writer. It writes the .java file. + * This is Wsdl2java's Complex Type Writer. It writes the <typeName>.java file. */ public class JavaBeanWriter extends JavaClassWriter { @@ -535,7 +535,7 @@ protected String getClassModifiers() { /** * Returns the appropriate extends text * - * @return "" or " extends " + * @return "" or " extends <class> " */ protected String getExtendsText() { @@ -554,7 +554,7 @@ protected String getExtendsText() { /** * Returns the appropriate implements text * - * @return " implements " + * @return " implements <classes> " */ protected String getImplementsText() { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBindingWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBindingWriter.java index b80fe221e..7daca6c16 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBindingWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaBindingWriter.java @@ -26,7 +26,7 @@ /** * This is Wsdl2java's Binding Writer. It writes the following files, as appropriate: - * Stub.java, Skeleton.java, Impl.java. + * <bindingName>Stub.java, <bindingName>Skeleton.java, <bindingName>Impl.java. */ public class JavaBindingWriter implements Generator { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaClassWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaClassWriter.java index 01a9606af..e789cf0f5 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaClassWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaClassWriter.java @@ -29,16 +29,13 @@ * JavaWriter. So the Java WSDL writers (JavaPortTypeWriter, JavaBindingWriter, * etc.) each calls a file writer (JavaStubWriter, JavaSkelWriter, etc.) for * each file that that WSDL generates. - *

    *

    For example, when Emitter calls JavaWriterFactory for a Binding Writer, it * returns a JavaBindingWriter. JavaBindingWriter, in turn, contains a * JavaStubWriter, JavaSkelWriter, and JavaImplWriter since a Binding may cause * a stub, skeleton, and impl template to be generated. - *

    *

    Note that the writers that are given to Emitter by JavaWriterFactory DO NOT * extend JavaWriter. They simply implement Writer and delegate the actual * task of writing to extensions of JavaWriter. - *

    *

    All of Wsdl2java's Writer implementations follow a common behaviour. * JavaWriter is the abstract base class that dictates this common behaviour. * Many of the files generated are .java files, so this abstract class - @@ -79,7 +76,7 @@ *

    You should not need to override this method. It simply closes the * PrintWriter. * - *

    + *

    * Additional behaviour that JavaClassWriter introduces beyond JavaWriter is * related to the class header and definition: *

    @@ -136,7 +133,7 @@ protected JavaClassWriter(Emitter emitter, String fullClassName, /** * Return the file name as a string of the form: - * ".java" + * "<directory-ized fully-qualified classname>.java" * * @return */ @@ -246,7 +243,7 @@ protected String getClassText() { /** * Returns the appropriate extends clause. This default implementation - * simply returns "", but if you want "extends " + * simply returns "", but if you want "extends <class/interface list> " * then you must override this method. * * @return "" @@ -257,7 +254,7 @@ protected String getExtendsText() { /** * Returns the appropriate implements clause. This default implementation - * simply returns "", but if you want "implements " then + * simply returns "", but if you want "implements <interface list> " then * you must override this method. * * @return "" diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java index 2a2168753..5a8f1c269 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaDeployWriter.java @@ -161,7 +161,7 @@ protected void writeFileBody(PrintWriter pw) throws IOException { /** * Write out deployment and undeployment instructions for each WSDL service * - * @param pw + * @param deployment * @throws IOException */ protected void writeDeployServices(Deployment deployment) throws IOException { @@ -192,7 +192,7 @@ protected void writeDeployServices(Deployment deployment) throws IOException { /** * Write out bean mappings for each type * - * @param pw + * @param service * @param binding * @param hasLiteral * @param hasMIME @@ -301,7 +301,7 @@ protected void writeDeployTypes( /** * Write out deployment and undeployment instructions for given WSDL port * - * @param pw + * @param deployment * @param port * @param service * @param bEntry @@ -375,7 +375,7 @@ protected void writeDeployPort( /** * Write out deployment instructions for given WSDL binding * - * @param pw + * @param service * @param bEntry * @throws IOException */ @@ -498,7 +498,7 @@ protected void writeDeployBinding(org.apache.axis.model.wsdd.Service service, Bi /** * Raw routine that writes out the operation and parameters. * - * @param pw + * @param service * @param javaOperName * @param elementQName * @param returnQName diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaEnumTypeWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaEnumTypeWriter.java index ba4cc3849..a3422a71c 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaEnumTypeWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaEnumTypeWriter.java @@ -24,7 +24,7 @@ import java.util.Vector; /** - * This is Wsdl2java's Complex Type Writer. It writes the .java file. + * This is Wsdl2java's Complex Type Writer. It writes the <typeName>.java file. */ public class JavaEnumTypeWriter extends JavaClassWriter { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java index 1e06e31e6..6b7fe807f 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java @@ -27,8 +27,8 @@ import java.util.Vector; /** - * This is Wsdl2java's Fault Writer. It writes the .java file. - *

    + * This is Wsdl2java's Fault Writer. It writes the <faultName>.java file. + *

    * NOTE: This only writes simple type faults, the JavaTypeWriter emits * faults that are complex types. */ diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java index 7676c7817..8b67fa6d0 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java @@ -1624,20 +1624,20 @@ public String getBaseName(QName qNameIn) { /** * Determines whether the QName supplied should be generated by comparing * the namespace for the QName against the included and excluded names. -

    -

      -
    • if both the includes and excludes are both empty, - the element is generated
    • -
    • if the namespace is in the includes, - the element is generated
    • -
    • if the namespace is not in the excludes and the includes are empty, - the element will be generated. -
    • if the namespace is only in the excludes, - the element is not generated
    • -
    • if the namespace is not in the includes and the includes are not - empty, the element is not generated
    • - @param qName - @return + *
        + *
      • if both the includes and excludes are both empty, + * the element is generated
      • + *
      • if the namespace is in the includes, + * the element is generated
      • + *
      • if the namespace is not in the excludes and the includes are empty, + * the element will be generated. + *
      • if the namespace is only in the excludes, + * the element is not generated
      • + *
      • if the namespace is not in the includes and the includes are not + * empty, the element is not generated
      • + *
      + * @param qName + * @return */ protected boolean include(QName qName) { String namespace = diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaHolderWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaHolderWriter.java index 636b13b69..08e5e41a5 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaHolderWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaHolderWriter.java @@ -23,7 +23,7 @@ import java.io.PrintWriter; /** - * This is Wsdl2java's Holder Writer. It writes the Holder.java file. + * This is Wsdl2java's Holder Writer. It writes the <typeName>Holder.java file. */ public class JavaHolderWriter extends JavaClassWriter { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java index c93c3c48e..bb3854141 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java @@ -33,8 +33,8 @@ import java.util.List; /** - * This is Wsdl2java's implementation template writer. It writes the Impl.java - * file which contains the Impl class. + * This is Wsdl2java's implementation template writer. It writes the <BindingName>Impl.java + * file which contains the <bindingName>Impl class. */ public class JavaImplWriter extends JavaClassWriter { @@ -98,7 +98,7 @@ protected void writeFileBody(PrintWriter pw) throws IOException { /** * Returns the appropriate implements text * - * @return " implements " + * @return " implements <classes>" */ protected String getImplementsText() { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java index 76000bb16..fda2a8af3 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java @@ -27,8 +27,8 @@ import java.util.Iterator; /** - * This is Wsdl2java's PortType Writer. It writes the .java file - * which contains the interface. + * This is Wsdl2java's PortType Writer. It writes the <portTypeName>.java file + * which contains the <portTypeName> interface. */ public class JavaInterfaceWriter extends JavaClassWriter { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java index 6b9acb014..89dca2de2 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java @@ -31,7 +31,7 @@ import java.util.Map; /** - * This is Wsdl2java's service writer. It writes the .java file. + * This is Wsdl2java's service writer. It writes the <serviceName>.java file. */ public class JavaServiceIfaceWriter extends JavaClassWriter { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java index 1bfaa7b6b..ad6008ed4 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java @@ -38,7 +38,7 @@ /** * This is Wsdl2java's service implementation writer. - * It writes the Locator.java file. + * It writes the <serviceName>Locator.java file. */ public class JavaServiceImplWriter extends JavaClassWriter { @@ -74,7 +74,7 @@ protected String getExtendsText() { } // getExtendsText /** - * Returns "implements ". + * Returns "implements <serviceInterface>". * * @return */ @@ -354,7 +354,7 @@ protected void writeWSDDServiceNameInfo(PrintWriter pw, } // writeWSDDServiceNameInfo /** - * Write the get() method. + * Write the get<portName>() method. * * @param pw * @param bindingType @@ -380,7 +380,7 @@ protected void writeGetPortName(PrintWriter pw, String bindingType, } // writeGetPortName /** - * Write the get(URL) method. + * Write the get<portName>(URL) method. * * @param pw * @param bindingType @@ -410,7 +410,7 @@ protected void writeGetPortNameURL(PrintWriter pw, String bindingType, } // writeGetPortNameURL /** - * Write the setEndpointAddress(String) method. + * Write the set<portName>EndpointAddress(String) method. * * @param pw * @param portName diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceWriter.java index f30f08e31..85d712e77 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaServiceWriter.java @@ -24,7 +24,7 @@ /** * This is Wsdl2java's Service Writer. It writes the following files, as appropriate: - * .java, TestCase.java. + * <serviceName>.java, <serviceName>TestCase.java. */ public class JavaServiceWriter implements Generator { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java index 6ef64f727..b2a281aa9 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java @@ -41,8 +41,8 @@ import java.util.List; /** - * This is Wsdl2java's skeleton writer. It writes the Skeleton.java - * file which contains the Skeleton class. + * This is Wsdl2java's skeleton writer. It writes the <BindingName>Skeleton.java + * file which contains the <bindingName>Skeleton class. */ public class JavaSkelWriter extends JavaClassWriter { @@ -73,7 +73,7 @@ protected JavaSkelWriter(Emitter emitter, BindingEntry bEntry, } // ctor /** - * Returns "implements , org.apache.axis.wsdl.Skeleton ". + * Returns "implements <SEI>, org.apache.axis.wsdl.Skeleton ". * * @return */ diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java index a93cd9864..b48c5bb1f 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java @@ -61,8 +61,8 @@ import java.util.Collections; /** - * This is Wsdl2java's stub writer. It writes the Stub.java - * file which contains the Stub class. + * This is Wsdl2java's stub writer. It writes the <BindingName>Stub.java + * file which contains the <bindingName>Stub class. */ public class JavaStubWriter extends JavaClassWriter { @@ -137,7 +137,7 @@ protected String getExtendsText() { } // getExtendsText /** - * Returns "implements ". + * Returns "implements <SEI> ". * * @return */ diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java index 98f4d628f..22ba7c9be 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java @@ -37,7 +37,7 @@ import java.util.Map; /** - * This is Wsdl2java's TestCase writer. It writes the TestCase.java file. + * This is Wsdl2java's TestCase writer. It writes the <serviceName>TestCase.java file. */ public class JavaTestCaseWriter extends JavaClassWriter { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java index 775cf080c..c917362bc 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaTypeWriter.java @@ -30,7 +30,7 @@ /** * This is Wsdl2java's Type Writer. It writes the following files, as appropriate: - * .java, Holder.java. + * <typeName>.java, <typeName>Holder.java. */ public class JavaTypeWriter implements Generator { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java index 8d9d7b3e8..7cc1211a6 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/JavaWriter.java @@ -32,16 +32,13 @@ * JavaWriter. So the Java WSDL writers (JavaPortTypeWriter, JavaBindingWriter, * etc.) each calls a file writer (JavaStubWriter, JavaSkelWriter, etc.) for * each file that that WSDL generates. - *

      *

      For example, when Emitter calls JavaWriterFactory for a Binding Writer, it * returns a JavaBindingWriter. JavaBindingWriter, in turn, contains a * JavaStubWriter, JavaSkelWriter, and JavaImplWriter since a Binding may cause * a stub, skeleton, and impl template to be generated. - *

      *

      Note that the writers that are given to Emitter by JavaWriterFactory DO NOT * extend JavaWriter. They simply implement Writer and delegate the actual * task of writing to extensions of JavaWriter. - *

      *

      All of Wsdl2java's Writer implementations follow a common behaviour. * JavaWriter is the abstract base class that dictates this common behaviour. * This behaviour is primarily placed within the generate method. The generate @@ -169,7 +166,7 @@ protected void registerFile(String file) { } // registerFile /** - * Return the string: "Generating ". Override this + * Return the string: "Generating <file>". Override this * method if you want to provide more information. * * @param file diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Namespaces.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Namespaces.java index bf5693114..042393b06 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Namespaces.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Namespaces.java @@ -25,7 +25,7 @@ import java.util.Vector; /** - * This class is essentially a HashMap of pairs with + * This class is essentially a HashMap of <namespace, package name> pairs with * a few extra wizzbangs. */ public class Namespaces extends HashMap { diff --git a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java index ee66b107d..e1e94c710 100644 --- a/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java +++ b/axis-codegen/src/main/java/org/apache/axis/wsdl/toJava/Utils.java @@ -913,13 +913,13 @@ public static String getParameterTypeName(Parameter parm) { /** * Return a constructor for the provided Parameter * This string will be suitable for assignment: - *

      + *

      * Foo var = string returned - *

      + *

      * Handles basic java types (int, float, etc), wrapper types (Integer, etc) * and certain java.math (BigDecimal, BigInteger) types. * Will also handle all Axis specific types (org.apache.axis.types.*) - *

      + *

      * Caller should expect to wrap the construction in a try/catch block * if bThrow is set to true. * From b7780e9b5704890f6b1fbe7edf4f07ffddde6533 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 9 May 2018 19:26:07 +0000 Subject: [PATCH 086/133] Fix Javadoc problems. --- axis-ant/pom.xml | 11 +++++++++++ .../axis/tools/ant/axis/AdminClientTask.java | 4 ++-- .../apache/axis/tools/ant/foreach/ParamItem.java | 2 +- .../apache/axis/tools/ant/foreach/ParamSet.java | 4 ++-- .../axis/tools/ant/wsdl/Wsdl2javaAntTask.java | 2 +- axis-model/pom.xml | 14 ++++++++++++++ pom.xml | 15 --------------- 7 files changed, 31 insertions(+), 21 deletions(-) diff --git a/axis-ant/pom.xml b/axis-ant/pom.xml index 6f99b869a..5f86fd6ea 100644 --- a/axis-ant/pom.xml +++ b/axis-ant/pom.xml @@ -287,6 +287,17 @@ + + maven-javadoc-plugin + + + + ant.task + X + + + + diff --git a/axis-ant/src/main/java/org/apache/axis/tools/ant/axis/AdminClientTask.java b/axis-ant/src/main/java/org/apache/axis/tools/ant/axis/AdminClientTask.java index 3f6ced409..d2d008dbe 100644 --- a/axis-ant/src/main/java/org/apache/axis/tools/ant/axis/AdminClientTask.java +++ b/axis-ant/src/main/java/org/apache/axis/tools/ant/axis/AdminClientTask.java @@ -245,8 +245,8 @@ public void traceParams(int logLevel) { *

    *

    If -l or -h -p -s are not set, the * AdminClient will invoke - * http://localhost:8080/axis/servlet/AxisServlet.

    - *

    + * http://localhost:8080/axis/servlet/AxisServlet. + *

    * outputs XML result or null in case of failure. In the case of multiple * commands, the XML results will be concatenated, separated by \n * diff --git a/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamItem.java b/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamItem.java index 35de41cfe..6051cac5b 100644 --- a/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamItem.java +++ b/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamItem.java @@ -16,7 +16,7 @@ package org.apache.axis.tools.ant.foreach; /** - * Inner class stores s with lists + * Inner class stores <item>s with <param> lists * * @author Tim Vernum * @author Davanum Srinivas diff --git a/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamSet.java b/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamSet.java index 9bc7cb867..13c0e806b 100644 --- a/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamSet.java +++ b/axis-ant/src/main/java/org/apache/axis/tools/ant/foreach/ParamSet.java @@ -25,8 +25,8 @@ import java.util.Vector; /** - * Inner class stores sets of s. - * It can hold s or s or both. + * Inner class stores sets of <param>s. + * It can hold <fileset>s or <item>s or both. * * @author Tim Vernum * @author Davanum Srinivas diff --git a/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Wsdl2javaAntTask.java b/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Wsdl2javaAntTask.java index dac5dca09..efa0adeed 100644 --- a/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Wsdl2javaAntTask.java +++ b/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Wsdl2javaAntTask.java @@ -59,7 +59,7 @@ * classes are generated overwriting anything that exists. *

    * The safe way to use this task is to have it generate the java source in - * a build directory, then have a <copy> task selectively copy the + * a build directory, then have a <copy> task selectively copy the * files you need into a safe location. Again, copying into the source tree * is dangerous, but a separate build/src tree is safe. Then include this * separate tree in the <javac> task's src attribute to include it in the diff --git a/axis-model/pom.xml b/axis-model/pom.xml index f0217351c..370d2fb51 100644 --- a/axis-model/pom.xml +++ b/axis-model/pom.xml @@ -131,6 +131,20 @@ maven-javadoc-plugin + + + generated + X + + + model + X + + + ordered + X + + all,-html diff --git a/pom.xml b/pom.xml index 266776d7b..25abc43ae 100644 --- a/pom.xml +++ b/pom.xml @@ -187,21 +187,6 @@ 3.0.0 ${javaVersion} - - - - generated - X - - - model - X - - - ordered - X - - From 7f4edd1e18f358a91f78f13c371cc0c14b583b6b Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 9 May 2018 21:25:47 +0000 Subject: [PATCH 087/133] Set up notifications for Travis. --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 9b8e48058..ac4ca71ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,3 +8,6 @@ cache: directories: - $HOME/.m2 script: mvn clean verify -Papache-release -Dgpg.skip=true +notifications: + email: + - java-dev@axis.apache.org From ce008b8c0129186e69375b39e9d4bc8bc1c721c3 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 9 May 2018 21:58:10 +0000 Subject: [PATCH 088/133] Fix Javadoc problems. --- .../DefaultSOAP12TypeMappingImpl.java | 2 +- .../org/apache/axis/management/Registrar.java | 4 ++-- .../servlet/AxisServerMBeanExporter.java | 6 +++--- .../axis/monitor/SOAPMonitorService.java | 4 ---- .../net/CommonsHTTPClientProperties.java | 10 +++++----- .../DefaultCommonsHTTPClientProperties.java | 6 +++--- .../transport/http/CommonsHTTPSender.java | 1 - .../tools/maven/server/StartServerMojo.java | 2 +- maven/pom.xml | 19 +++++++++++++++++++ 9 files changed, 34 insertions(+), 20 deletions(-) diff --git a/axis-rt-compat/src/main/java/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java b/axis-rt-compat/src/main/java/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java index 3b2983cc9..060162cdc 100644 --- a/axis-rt-compat/src/main/java/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java +++ b/axis-rt-compat/src/main/java/org/apache/axis/encoding/DefaultSOAP12TypeMappingImpl.java @@ -1,7 +1,7 @@ package org.apache.axis.encoding; /** - * @author James M Snell + * @author James M Snell <jasnell@us.ibm.com> * @deprecated Please use DefaultSOAPEncodingTypeMappingImpl.java * @see org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl */ diff --git a/axis-rt-management/src/main/java/org/apache/axis/management/Registrar.java b/axis-rt-management/src/main/java/org/apache/axis/management/Registrar.java index 1fa23bea9..395b01708 100644 --- a/axis-rt-management/src/main/java/org/apache/axis/management/Registrar.java +++ b/axis-rt-management/src/main/java/org/apache/axis/management/Registrar.java @@ -22,8 +22,8 @@ /** * class to act as a dynamic loading registrar to commons-modeler, so * as to autoregister stuff - * - * @link http://www.webweavertech.com/costin/archives/000168.html#000168 + *

    + * http://www.webweavertech.com/costin/archives/000168.html#000168 */ public class Registrar { /** diff --git a/axis-rt-management/src/main/java/org/apache/axis/management/servlet/AxisServerMBeanExporter.java b/axis-rt-management/src/main/java/org/apache/axis/management/servlet/AxisServerMBeanExporter.java index 15373e6ff..fc5e169a8 100644 --- a/axis-rt-management/src/main/java/org/apache/axis/management/servlet/AxisServerMBeanExporter.java +++ b/axis-rt-management/src/main/java/org/apache/axis/management/servlet/AxisServerMBeanExporter.java @@ -31,9 +31,9 @@ * web.xml: * *

    - * <listener>
    - *     <listener-class>org.apache.axis.management.servlet.AxisServerMBeanExporter</listener-class>
    - * </listener>
    + * <listener>
    + *     <listener-class>org.apache.axis.management.servlet.AxisServerMBeanExporter</listener-class>
    + * </listener>
      * 
    * * @author Andreas Veithen diff --git a/axis-rt-soapmonitor/src/main/java/org/apache/axis/monitor/SOAPMonitorService.java b/axis-rt-soapmonitor/src/main/java/org/apache/axis/monitor/SOAPMonitorService.java index ecd7cd299..29dd6cc67 100644 --- a/axis-rt-soapmonitor/src/main/java/org/apache/axis/monitor/SOAPMonitorService.java +++ b/axis-rt-soapmonitor/src/main/java/org/apache/axis/monitor/SOAPMonitorService.java @@ -54,10 +54,6 @@ * display by the applet. * * @author Brian Price (pricebe@us.ibm.com) - * xdoclet tags are not active yet; keep web.xml in sync - * @web.servlet name="SOAPMonitorService" display-name="SOAPMonitorService" load-on-startup="100" - * @web.servlet-mapping url-pattern="/SOAPMonitor" - * @web.servlet-init-param name="SOAPMonitorPort" value="5001" */ public class SOAPMonitorService extends HttpServlet { diff --git a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/CommonsHTTPClientProperties.java b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/CommonsHTTPClientProperties.java index f8aa5ab2e..ff3f30094 100644 --- a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/CommonsHTTPClientProperties.java +++ b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/CommonsHTTPClientProperties.java @@ -30,7 +30,7 @@ public interface CommonsHTTPClientProperties { * your system imposes on the number of open file descriptors a * single process may have. * - * @return an integer > 1 + * @return an integer > 1 */ public int getMaximumTotalConnections(); @@ -39,7 +39,7 @@ public interface CommonsHTTPClientProperties { * for a given host. This setting is also constrained by * the one returned from getMaximumTotalConnections. * - * @return an integer > 1 + * @return an integer > 1 */ public int getMaximumConnectionsPerHost(); @@ -48,7 +48,7 @@ public interface CommonsHTTPClientProperties { * for an available connection from the pool. An exception is raised * if the timeout is triggered. * - * @return an integer > 1 OR 0 for infinite timeout + * @return an integer > 1 OR 0 for infinite timeout */ public int getConnectionPoolTimeout(); @@ -56,7 +56,7 @@ public interface CommonsHTTPClientProperties { * Used to set the default amount of time, in milliseconds, spent waiting * for a connection. This can be overridden by the MessageContext * - * @return an integer >= 0 + * @return an integer >= 0 */ public int getDefaultConnectionTimeout(); @@ -64,7 +64,7 @@ public interface CommonsHTTPClientProperties { * Used to set the default amount of time, in milliseconds, spent waiting * for a reponse. This can be overridden by the MessageContext * - * @return an integer >= 0 + * @return an integer >= 0 */ public int getDefaultSoTimeout(); diff --git a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/DefaultCommonsHTTPClientProperties.java b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/DefaultCommonsHTTPClientProperties.java index 76437fa2b..f68dc0745 100644 --- a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/DefaultCommonsHTTPClientProperties.java +++ b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/components/net/DefaultCommonsHTTPClientProperties.java @@ -95,7 +95,7 @@ public int getMaximumConnectionsPerHost() { * Return the integer value associated with the property * axis.http.client.connection.pool.timeout or a default of 0. * - * @return an integer >= 0 + * @return an integer >= 0 */ public int getConnectionPoolTimeout() { int i = getIntegerProperty(CONNECTION_POOL_TIMEOUT_KEY, "0"); @@ -109,7 +109,7 @@ public int getConnectionPoolTimeout() { * Return the integer value associated with the property * axis.http.client.connection.default.connection.timeout or a default of 0. * - * @return an integer >= 0 + * @return an integer >= 0 */ public int getDefaultConnectionTimeout() { int i = getIntegerProperty(CONNECTION_DEFAULT_CONNECTION_TIMEOUT_KEY, "0"); @@ -123,7 +123,7 @@ public int getDefaultConnectionTimeout() { * Return the integer value associated with the property * axis.http.client.connection.default.so.timeout or a default of 0. * - * @return an integer >= 0 + * @return an integer >= 0 */ public int getDefaultSoTimeout() { int i = getIntegerProperty(CONNECTION_DEFAULT_SO_TIMEOUT_KEY, "0"); diff --git a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/transport/http/CommonsHTTPSender.java b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/transport/http/CommonsHTTPSender.java index 0694e1424..63127d6ec 100644 --- a/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/transport/http/CommonsHTTPSender.java +++ b/axis-rt-transport-http-hc3/src/main/java/org/apache/axis/transport/http/CommonsHTTPSender.java @@ -312,7 +312,6 @@ public void invoke(MessageContext msgContext) throws AxisFault { * a string or an array of strings (if there are more than one Set-Cookie) * * @param cookieName - * @param setCookieName * @param cookie * @param msgContext */ diff --git a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java index 9f7fdf59a..35f8f1ab9 100644 --- a/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java +++ b/maven/axis-server-maven-plugin/src/main/java/org/apache/axis/tools/maven/server/StartServerMojo.java @@ -37,7 +37,7 @@ import org.xml.sax.InputSource; /** - * Start a {@link org.apache.axis.server.standalone.StandaloneAxisServer} instance in a separate + * Start a org.apache.axis.server.standalone.StandaloneAxisServer instance in a separate * JVM. * * @goal start-server diff --git a/maven/pom.xml b/maven/pom.xml index f3776c466..f853e5c86 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -75,6 +75,25 @@ + + maven-javadoc-plugin + + + + goal + X + + + phase + X + + + requiresDependencyResolution + X + + + + maven-site-plugin From 44f69192da5cd2b547acf2d0519e2e2511b45e5e Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Wed, 9 May 2018 22:09:26 +0000 Subject: [PATCH 089/133] Update Travis notification settings. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ac4ca71ae..b992411ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,4 +10,5 @@ cache: script: mvn clean verify -Papache-release -Dgpg.skip=true notifications: email: - - java-dev@axis.apache.org + # java-dev@axis.apache.org doesn't work here because it's not an address registered on GitHub. + - veithen@apache.org From a4f2676f7385f3455423ad4b8f1f32e698d23670 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 10 May 2018 19:23:51 +0000 Subject: [PATCH 090/133] Remove SonicMQVendorAdapter. Classes from the progress.message.jclient package are not available in any public repository. --- axis-rt-transport-jms/pom.xml | 13 - .../components/jms/SonicMQVendorAdapter.java | 392 ------------------ 2 files changed, 405 deletions(-) delete mode 100644 axis-rt-transport-jms/src/main/java/org/apache/axis/components/jms/SonicMQVendorAdapter.java diff --git a/axis-rt-transport-jms/pom.xml b/axis-rt-transport-jms/pom.xml index cfb3c78bd..1a4ed5bce 100644 --- a/axis-rt-transport-jms/pom.xml +++ b/axis-rt-transport-jms/pom.xml @@ -49,17 +49,4 @@ 1.1.1 - - - - maven-compiler-plugin - - - - org/apache/axis/components/jms/SonicMQVendorAdapter.java - - - - - diff --git a/axis-rt-transport-jms/src/main/java/org/apache/axis/components/jms/SonicMQVendorAdapter.java b/axis-rt-transport-jms/src/main/java/org/apache/axis/components/jms/SonicMQVendorAdapter.java deleted file mode 100644 index 4240bae88..000000000 --- a/axis-rt-transport-jms/src/main/java/org/apache/axis/components/jms/SonicMQVendorAdapter.java +++ /dev/null @@ -1,392 +0,0 @@ -/* - * Copyright 2001, 2002,2004 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.axis.components.jms; - -import org.apache.axis.MessageContext; -import org.apache.axis.client.Call; -import org.apache.axis.transport.jms.JMSConnector; -import org.apache.axis.transport.jms.JMSConnectorFactory; -import org.apache.axis.transport.jms.JMSURLHelper; - -import progress.message.client.ENetworkFailure; -import progress.message.client.EUserAlreadyConnected; -import progress.message.jclient.ErrorCodes; - -import javax.jms.ConnectionFactory; -import javax.jms.JMSException; -import javax.jms.QueueConnectionFactory; -import javax.jms.TopicConnectionFactory; -import java.util.HashMap; -import java.util.Iterator; - -/** - * Defines SonicMQ specific constants for connnection factory creation. - * Overrides methods in BeanVendorAdapter to fill in MQ classnames - * - * @author Jaime Meritt (jmeritt@sonicsoftware.com) - * @author Ray Chun (rchun@sonicsoftware.com) - */ -public class SonicMQVendorAdapter extends BeanVendorAdapter -{ - private final static String QCF_CLASS = - "progress.message.jclient.QueueConnectionFactory"; - - private final static String TCF_CLASS = - "progress.message.jclient.TopicConnectionFactory"; - - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory. - * This is a required property. - * The value must be a java.lang.String - * See the SonicMQ documentation for information on this property - */ - public final static String BROKER_URL = "brokerURL"; - - /** - * SonicConnectionFactory parameter valid for either domains. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * This is a required property for secure brokers. - * The value must be a java.lang.String - * See the SonicMQ documentation for information on this property - */ - public final static String DEFAULT_USERNAME = "defaultUser"; - - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * This is a required property for secure brokers. - * The value must be a java.lang.String - * See the SonicMQ documentation for information on this property - */ - public final static String DEFAULT_PASSWORD = "defaultPassword"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Long - * See the SonicMQ documentation for information on this property - */ - public final static String PING_INTERVAL = "pingIntervalLong"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Integer - * See the SonicMQ documentation for information on this property - */ - public final static String RECONNECT_INTERVAL = "reconnectIntervalInteger"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Integer - * See the SonicMQ documentation for information on this property - */ - public final static String RECONNECT_TIMEOUT = "reconnectTimeoutInteger"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.String - * See the SonicMQ documentation for information on this property - */ - public final static String CONNECT_ID = "connectID"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.String - * See the SonicMQ documentation for information on this property - */ - public final static String CONNECTION_URLS = "connectionURLs"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Boolean - * See the SonicMQ documentation for information on this property - */ - public final static String LOAD_BALANCING = "loadBalancingBoolean"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Long - * See the SonicMQ documentation for information on this property - */ - public final static String MONITOR_INTERVAL = "monitorInterval"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Boolean - * See the SonicMQ documentation for information on this property - */ - public final static String PERSISTENT_DELIVERY = "persistentDeliveryBoolean"; - /** - * SonicConnectionFactory parameter valid for either domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Boolean - * See the SonicMQ documentation for information on this property - */ - public final static String SEQUENTIAL = "sequentialBoolean"; - - /** - * SonicConnectionFactory parameter valid for the PTP domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Integer - * See the SonicMQ documentation for information on this property - */ - public final static String PREFETCH_COUNT = "prefetchCountInteger"; - /** - * SonicConnectionFactory parameter valid for the PTP domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Integer - * See the SonicMQ documentation for information on this property - */ - public final static String PREFETCH_THRESHOLD = "prefetchThresholdInteger"; - /** - * SonicConnectionFactory parameter valid for the PubSub domain. This should - * be used as a key in the environment map passed into calls to - * createConnector in JMSConnectorFactory - * The value must be a java.lang.Boolean - * See the SonicMQ documentation for information on this property - */ - public final static String SELECTOR_AT_BROKER = "selectorAtBroker"; - - public QueueConnectionFactory getQueueConnectionFactory(HashMap cfConfig) - throws Exception - { - cfConfig = (HashMap)cfConfig.clone(); - cfConfig.put(CONNECTION_FACTORY_CLASS, QCF_CLASS); - return super.getQueueConnectionFactory(cfConfig); - } - - public TopicConnectionFactory getTopicConnectionFactory(HashMap cfConfig) - throws Exception - { - cfConfig = (HashMap)cfConfig.clone(); - cfConfig.put(CONNECTION_FACTORY_CLASS, TCF_CLASS); - return super.getTopicConnectionFactory(cfConfig); - } - - /** - * Extract Sonic-specific properties from the JMS URL - * - * @param jmsurl The JMS URL representing the target endpoint address - * @param cfProps The set of connection factory configuration properties - */ - public void addVendorConnectionFactoryProperties(JMSURLHelper jmsurl, HashMap cfProps) - { - if (jmsurl.getPropertyValue(BROKER_URL) != null) - cfProps.put(BROKER_URL, jmsurl.getPropertyValue(BROKER_URL)); - - if (jmsurl.getPropertyValue(DEFAULT_USERNAME) != null) - cfProps.put(DEFAULT_USERNAME, jmsurl.getPropertyValue(DEFAULT_USERNAME)); - - if (jmsurl.getPropertyValue(DEFAULT_PASSWORD) != null) - cfProps.put(DEFAULT_PASSWORD, jmsurl.getPropertyValue(DEFAULT_PASSWORD)); - - if (jmsurl.getPropertyValue(PING_INTERVAL) != null) - cfProps.put(PING_INTERVAL, jmsurl.getPropertyValue(PING_INTERVAL)); - - if (jmsurl.getPropertyValue(RECONNECT_INTERVAL) != null) - cfProps.put(RECONNECT_INTERVAL, jmsurl.getPropertyValue(RECONNECT_INTERVAL)); - - if (jmsurl.getPropertyValue(RECONNECT_TIMEOUT) != null) - cfProps.put(RECONNECT_TIMEOUT, jmsurl.getPropertyValue(RECONNECT_TIMEOUT)); - - if (jmsurl.getPropertyValue(CONNECT_ID) != null) - cfProps.put(CONNECT_ID, jmsurl.getPropertyValue(CONNECT_ID)); - - if (jmsurl.getPropertyValue(CONNECTION_URLS) != null) - cfProps.put(CONNECTION_URLS, jmsurl.getPropertyValue(CONNECTION_URLS)); - - if (jmsurl.getPropertyValue(LOAD_BALANCING) != null) - cfProps.put(LOAD_BALANCING, jmsurl.getPropertyValue(LOAD_BALANCING)); - - if (jmsurl.getPropertyValue(MONITOR_INTERVAL) != null) - cfProps.put(MONITOR_INTERVAL, jmsurl.getPropertyValue(MONITOR_INTERVAL)); - - if (jmsurl.getPropertyValue(PERSISTENT_DELIVERY) != null) - cfProps.put(PERSISTENT_DELIVERY, jmsurl.getPropertyValue(PERSISTENT_DELIVERY)); - - if (jmsurl.getPropertyValue(SEQUENTIAL) != null) - cfProps.put(SEQUENTIAL, jmsurl.getPropertyValue(SEQUENTIAL)); - - if (jmsurl.getPropertyValue(PREFETCH_COUNT) != null) - cfProps.put(PREFETCH_COUNT, jmsurl.getPropertyValue(PREFETCH_COUNT)); - - if (jmsurl.getPropertyValue(PREFETCH_THRESHOLD) != null) - cfProps.put(PREFETCH_THRESHOLD, jmsurl.getPropertyValue(PREFETCH_THRESHOLD)); - - if (jmsurl.getPropertyValue(SELECTOR_AT_BROKER) != null) - cfProps.put(SELECTOR_AT_BROKER, jmsurl.getPropertyValue(SELECTOR_AT_BROKER)); - } - - /** - * Check that the attributes of the candidate connection factory match the - * requested connection factory properties. - * - * @param cf the candidate connection factory - * @param jmsurl the JMS URL associated with the candidate connection factory - * @param cfProps the properties associated with the current request - * @return true or false - */ - public boolean isMatchingConnectionFactory(javax.jms.ConnectionFactory cf, - JMSURLHelper jmsurl, - HashMap cfProps) - { - String brokerURL = null; - String connectionURLs = null; - boolean loadBalancing = false; - boolean sequential = false; - - if (cf instanceof progress.message.jclient.QueueConnectionFactory) - { - progress.message.jclient.QueueConnectionFactory qcf = - (progress.message.jclient.QueueConnectionFactory)cf; - - // get existing queue connection factory properties - brokerURL = qcf.getBrokerURL(); - connectionURLs = qcf.getConnectionURLs(); - loadBalancing = qcf.getLoadBalancing(); - sequential = qcf.getSequential(); - } - else if (cf instanceof progress.message.jclient.TopicConnectionFactory) - { - progress.message.jclient.TopicConnectionFactory tcf = - (progress.message.jclient.TopicConnectionFactory)cf; - - // get existing topic connection factory properties - brokerURL = tcf.getBrokerURL(); - connectionURLs = tcf.getConnectionURLs(); - loadBalancing = tcf.getLoadBalancing(); - sequential = tcf.getSequential(); - } - - // compare broker url - String propertyBrokerURL = (String)cfProps.get(BROKER_URL); - if (!brokerURL.equals(propertyBrokerURL)) - return false; - - // compare connection url list - String propertyConnectionURLs = (String)cfProps.get(CONNECTION_URLS); - if ((connectionURLs != null) && (propertyConnectionURLs != null)) - { - if (!connectionURLs.equalsIgnoreCase(propertyConnectionURLs)) - return false; - - // check sequential if connection urls have been set - String tmpSequential = (String)cfProps.get(SEQUENTIAL); - boolean propertySequential = true; - if (tmpSequential != null) - propertySequential = Boolean.getBoolean(tmpSequential); - if (sequential != propertySequential) - return false; - } - else if ((connectionURLs != null) || (propertyConnectionURLs != null)) - return false; - - // compare load balancing flag - String tmpLoadBalancing = (String)cfProps.get(LOAD_BALANCING); - boolean propertyLoadBalancing = false; - if (tmpLoadBalancing != null) - propertyLoadBalancing = Boolean.getBoolean(tmpLoadBalancing); - if (loadBalancing != propertyLoadBalancing) - return false; - - return true; - } - - public boolean isRecoverable(Throwable thrown, int action) - { - //the super class cannot be trusted for on exception because it always - //returns false - if(action != ON_EXCEPTION_ACTION && !super.isRecoverable(thrown, action)) - return false; - - if(!(thrown instanceof JMSException)) - return true; - - JMSException jmse = (JMSException)thrown; - switch(action) - { - case CONNECT_ACTION: - if(isNetworkFailure(jmse)) - return false; - break; - case SUBSCRIBE_ACTION: - - if(isQueueMissing(jmse) || isAnotherSubscriberConnected(jmse)) - return false; - break; - - case ON_EXCEPTION_ACTION: - if(isConnectionDropped(jmse)) - return false; - break; - - } - - return true; - } - - public boolean isConnectionDropped(JMSException jmse) - { - return ErrorCodes.testException(jmse, ErrorCodes.ERR_CONNECTION_DROPPED); - } - - private boolean isQueueMissing(JMSException jmse) - { - String message = jmse.getMessage(); - if(message != null && message.startsWith("Queue not found")) - { - return true; - } - return false; - } - - private boolean isAnotherSubscriberConnected(JMSException jmse) - { - Exception linkedException = jmse.getLinkedException(); - if(linkedException != null && - linkedException instanceof EUserAlreadyConnected) - { - return true; - } - return false; - } - - private boolean isNetworkFailure(JMSException jmse) - { - Exception linkedException = jmse.getLinkedException(); - if(linkedException != null && - linkedException instanceof ENetworkFailure) - { - return true; - } - return false; - } -} \ No newline at end of file From 707a963f0c14cae527aa31d263026dba1ff91d0d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Thu, 10 May 2018 22:19:03 +0000 Subject: [PATCH 091/133] Fix Javadoc problems. --- .../java/org/apache/axis/transport/jms/Handler.java | 2 +- .../org/apache/axis/transport/jms/JMSEndpoint.java | 12 ++++++------ .../org/apache/axis/transport/jms/JMSSender.java | 2 +- .../org/apache/axis/transport/jms/JMSURLHelper.java | 2 +- .../java/org/apache/axis/transport/mail/Handler.java | 2 +- .../org/apache/axis/transport/mail/MailServer.java | 2 +- .../apache/axis/transport/mail/MailTransport.java | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/Handler.java b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/Handler.java index 8f4bdadaf..9a4f2880d 100644 --- a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/Handler.java +++ b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/Handler.java @@ -33,7 +33,7 @@ public class Handler } /** - * Reassembles the URL string, in the form "jms:/?prop1=value1&prop2=value2&..." + * Reassembles the URL string, in the form "jms:/<dest>?prop1=value1&prop2=value2&..." */ protected String toExternalForm(URL url) { diff --git a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSEndpoint.java b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSEndpoint.java index 944854213..109c83195 100644 --- a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSEndpoint.java +++ b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSEndpoint.java @@ -47,7 +47,7 @@ abstract Destination getDestination(Session session) * @param message * @param timeout * @return - * @throws JMSException + * @throws Exception */ public byte[] call(byte[] message, long timeout)throws Exception { @@ -61,7 +61,7 @@ public byte[] call(byte[] message, long timeout)throws Exception * @param timeout * @param properties * @return - * @throws JMSException + * @throws Exception */ public byte[] call(byte[] message, long timeout, HashMap properties) throws Exception @@ -75,7 +75,7 @@ public byte[] call(byte[] message, long timeout, HashMap properties) * Send a message w/o waiting for a response. * * @param message - * @throws JMSException + * @throws Exception */ public void send(byte[] message)throws Exception { @@ -87,7 +87,7 @@ public void send(byte[] message)throws Exception * * @param message * @param properties - * @throws JMSException + * @throws Exception */ public void send(byte[] message, HashMap properties) throws Exception @@ -101,7 +101,7 @@ public void send(byte[] message, HashMap properties) * Register a MessageListener. * * @param listener - * @throws JMSException + * @throws Exception */ public void registerListener(MessageListener listener) throws Exception @@ -114,7 +114,7 @@ public void registerListener(MessageListener listener) * * @param listener * @param properties - * @throws JMSException + * @throws Exception */ public void registerListener(MessageListener listener, HashMap properties) throws Exception diff --git a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSSender.java b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSSender.java index 24621fd2b..b05149440 100644 --- a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSSender.java +++ b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSSender.java @@ -44,7 +44,7 @@ public JMSSender() * invoke() creates an endpoint, sends the request SOAP message, and then * either reads the response SOAP message or simply returns. * - * @todo hash on something much better than the connection factory + * TODO: hash on something much better than the connection factory * something like domain:url:username:password would be adequate * @param msgContext * @throws AxisFault diff --git a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSURLHelper.java b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSURLHelper.java index d157e2bff..8467247a3 100644 --- a/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSURLHelper.java +++ b/axis-rt-transport-jms/src/main/java/org/apache/axis/transport/jms/JMSURLHelper.java @@ -25,7 +25,7 @@ /** * JMSURLHelper provides access to properties in the URL. - * The URL must be of the form: "jms:/?[=&]*" + * The URL must be of the form: "jms:/<destination>?[<property>=<key>&]*" * * @author Ray Chun (rchun@sonicsoftware.com) */ diff --git a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/Handler.java b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/Handler.java index 75d84144e..663396c79 100644 --- a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/Handler.java +++ b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/Handler.java @@ -24,7 +24,7 @@ * A stub URLStreamHandler, so the system will recognize our * custom URLs as valid. * - * @author Davanum Srinivas + * @author Davanum Srinivas <dims@yahoo.com> */ public class Handler extends URLStreamHandler { protected URLConnection openConnection(URL u) { diff --git a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailServer.java b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailServer.java index 64c528fd3..f68c19de3 100644 --- a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailServer.java +++ b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailServer.java @@ -38,7 +38,7 @@ * use. Its intended uses are for demos, debugging, and performance * profiling. * - * @author Davanum Srinivas + * @author Davanum Srinivas <dims@yahoo.com> * @author Rob Jellinghaus (robj@unrealities.com) */ diff --git a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailTransport.java b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailTransport.java index 9b04c7453..2f551a770 100644 --- a/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailTransport.java +++ b/axis-rt-transport-mail/src/main/java/org/apache/axis/transport/mail/MailTransport.java @@ -24,7 +24,7 @@ /** * A Transport which will cause an invocation via "mail" * - * @author Davanum Srinivas + * @author Davanum Srinivas <dims@yahoo.com> */ public class MailTransport extends Transport { public MailTransport() { From af4ba8107e067690e99618e3f26b4d0b1e58299a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 12 May 2018 12:34:18 +0000 Subject: [PATCH 092/133] Enable Maven non-interactive mode in Travis builds. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b992411ec..f493b9c78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ install: echo NOOP Skipping pre-fetch of Maven dependencies cache: directories: - $HOME/.m2 -script: mvn clean verify -Papache-release -Dgpg.skip=true +script: mvn -B clean verify -Papache-release -Dgpg.skip=true notifications: email: # java-dev@axis.apache.org doesn't work here because it's not an address registered on GitHub. From 59c916bbafb14ad521d4981b1490e5ab7ec06531 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 12 May 2018 13:08:15 +0000 Subject: [PATCH 093/133] Reduce build verbosity. --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 25abc43ae..d54a8bd07 100644 --- a/pom.xml +++ b/pom.xml @@ -187,6 +187,7 @@ 3.0.0 ${javaVersion} + true From 3c177184a1ce07550cb55c8516c10baf6cc7f0bb Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 11:42:47 +0000 Subject: [PATCH 094/133] Use jar-no-fork to build the source JARs. --- pom.xml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index d54a8bd07..fb84a0406 100644 --- a/pom.xml +++ b/pom.xml @@ -355,12 +355,9 @@ maven-source-plugin - - attach-sources + source-jars - jar + jar-no-fork @@ -404,6 +401,26 @@ + + apache-release + + + + maven-source-plugin + + + + attach-sources + none + + jar + + + + + + + eclipse From f49a906cdf81fdb4cbb1e7d162228ce37827cf18 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 11:47:42 +0000 Subject: [PATCH 095/133] Disable detectOfflineLinks. --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index fb84a0406..e93eb5d6f 100644 --- a/pom.xml +++ b/pom.xml @@ -186,6 +186,7 @@ maven-javadoc-plugin 3.0.0 + false ${javaVersion} true From 558f82f34b88e99838a85ae7586ad0a9247dcb0d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 11:57:28 +0000 Subject: [PATCH 096/133] Update surefire and failsafe configs. --- pom.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index e93eb5d6f..24e7e9a2e 100644 --- a/pom.xml +++ b/pom.xml @@ -193,8 +193,12 @@ maven-surefire-plugin - 2.11 + 2.21.0 + + alphabetical + true + false + alphabetical + true + false - org.apache.axis.soap.MessageFactoryImpl org.apache.axis.soap.SOAPFactoryImpl org.apache.axis.soap.SOAPConnectionFactoryImpl From 65225ba40e059b4bd4f9cede2c81ef4c191da04e Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 19:33:46 +0000 Subject: [PATCH 097/133] Upgrade JUnit. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 24e7e9a2e..7f34c11a2 100644 --- a/pom.xml +++ b/pom.xml @@ -107,7 +107,7 @@ junit junit - 3.8.2 + 4.12 xmlunit From 2e0a5d6fe66b82ab5b89c8029247dc15e6e17d46 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 20:10:32 +0000 Subject: [PATCH 098/133] Correctly escape namespace URIs in namespace declarations. --- .../axis/encoding/SerializationContext.java | 11 ++-- axis-war/pom.xml | 13 +++++ .../test/java/org/apache/axis/war/Utils.java | 33 +++++++++++ .../java/org/apache/axis/war/XssTest.java | 57 +++++++++++++++++++ .../java/test/httpunit/HttpUnitTestBase.java | 5 +- .../org/apache/axis/war/getVersion-xss.xml | 9 +++ pom.xml | 5 ++ 7 files changed, 125 insertions(+), 8 deletions(-) create mode 100644 axis-war/src/test/java/org/apache/axis/war/Utils.java create mode 100644 axis-war/src/test/java/org/apache/axis/war/XssTest.java create mode 100644 axis-war/src/test/resources/org/apache/axis/war/getVersion-xss.xml diff --git a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java index 0cf0ac907..f33ec28df 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java +++ b/axis-rt-core/src/main/java/org/apache/axis/encoding/SerializationContext.java @@ -1181,12 +1181,13 @@ public void startElement(QName qName, Attributes attributes) sb.append(':'); sb.append(map.getPrefix()); } - if ((vecQNames==null) || (vecQNames.indexOf(sb.toString())==-1)) { + String qname = sb.toString(); + if ((vecQNames==null) || (vecQNames.indexOf(qname)==-1)) { writer.write(' '); - sb.append("=\""); - sb.append(map.getNamespaceURI()); - sb.append('"'); - writer.write(sb.toString()); + writer.write(qname); + writer.write("=\""); + getEncoder().writeEncoded(writer, map.getNamespaceURI()); + writer.write('"'); } } } diff --git a/axis-war/pom.xml b/axis-war/pom.xml index f2fed9c8c..09aa21e46 100644 --- a/axis-war/pom.xml +++ b/axis-war/pom.xml @@ -28,6 +28,9 @@ axis-war war Axis :: WAR + + 1.5 + ${project.groupId} @@ -63,12 +66,22 @@ junit test + + com.google.truth + truth + test + httpunit httpunit 1.6.1 test + + commons-io + commons-io + test + diff --git a/axis-war/src/test/java/org/apache/axis/war/Utils.java b/axis-war/src/test/java/org/apache/axis/war/Utils.java new file mode 100644 index 000000000..77d03ee25 --- /dev/null +++ b/axis-war/src/test/java/org/apache/axis/war/Utils.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.war; + +import static org.junit.Assert.assertNotNull; + +public final class Utils { + private static String URL_PROPERTY = "test.functional.webapp.url"; + + private Utils() {} + + public static String getWebappUrl() { + String url = System.getProperty(URL_PROPERTY); + assertNotNull(URL_PROPERTY + " not set", url); + return url; + } +} diff --git a/axis-war/src/test/java/org/apache/axis/war/XssTest.java b/axis-war/src/test/java/org/apache/axis/war/XssTest.java new file mode 100644 index 000000000..0504e1a8c --- /dev/null +++ b/axis-war/src/test/java/org/apache/axis/war/XssTest.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.axis.war; + +import static com.google.common.truth.Truth.assertThat; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; + +import org.apache.commons.io.IOUtils; +import org.junit.Test; + +public class XssTest { + /** + * Tests for potential XSS vulnerability in the Version service. + *

    + * The Version service returns a body with whatever namespace URI was used in the request. If + * the namespace URI is not properly encoded in the response, then this creates a potential + * XSS vulnerability. + * + * @throws Exception + */ + @Test + public void testGetVersion() throws Exception { + HttpURLConnection conn = (HttpURLConnection)new URL(Utils.getWebappUrl() + "/services/Version").openConnection(); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setRequestProperty("SOAPAction", ""); + conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8"); + InputStream payload = XssTest.class.getResourceAsStream("getVersion-xss.xml"); + OutputStream out = conn.getOutputStream(); + IOUtils.copy(payload, out); + payload.close(); + out.close(); + assertThat(conn.getResponseCode()).isEqualTo(200); + InputStream in = conn.getInputStream(); + assertThat(IOUtils.toString(in, "UTF-8")).doesNotContain(" + + + + diff --git a/pom.xml b/pom.xml index 7f34c11a2..022c64b63 100644 --- a/pom.xml +++ b/pom.xml @@ -109,6 +109,11 @@ junit 4.12 + + com.google.truth + truth + 0.40 + xmlunit xmlunit From 1c4fe8fcc12c7169a08a97eb704ea51b85da9a72 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 May 2018 21:34:16 +0000 Subject: [PATCH 099/133] Ensure that all tasks scheduled by LimitSessionManager have completed before proceeding with the stop operation. --- axis-standalone-server/pom.xml | 3 +++ .../standalone/LimitSessionManager.java | 19 +++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/axis-standalone-server/pom.xml b/axis-standalone-server/pom.xml index d77f4435d..63e0553e1 100644 --- a/axis-standalone-server/pom.xml +++ b/axis-standalone-server/pom.xml @@ -37,6 +37,9 @@ ${baseSiteUrl}/standalone-server + + 1.5 + ${project.groupId} diff --git a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java index aef1f3cd1..33493506a 100644 --- a/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java +++ b/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/LimitSessionManager.java @@ -19,8 +19,9 @@ package org.apache.axis.server.standalone; import java.util.Iterator; -import java.util.Timer; -import java.util.TimerTask; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; @@ -51,8 +52,7 @@ protected void timeout() { } private final int maxSessions; - private Timer timer; - private TimerTask task; + private ScheduledExecutorService executor; LimitSessionManager(int maxSessions) { this.maxSessions = maxSessions; @@ -60,13 +60,12 @@ protected void timeout() { public void doStart() throws Exception { super.doStart(); - timer = new Timer(true); - task = new TimerTask() { + executor = new ScheduledThreadPoolExecutor(1); + executor.scheduleWithFixedDelay(new Runnable() { public void run() { scavenge(); } - }; - timer.schedule(task, 5000L, 5000L); + }, 5, 5, TimeUnit.SECONDS); } protected AbstractSessionManager.Session newSession(HttpServletRequest request) { @@ -95,8 +94,8 @@ void scavenge() { } public void doStop() throws Exception { - task.cancel(); - timer.cancel(); + executor.shutdown(); + executor.awaitTermination(60, TimeUnit.SECONDS); super.doStop(); } } From 7e52705c8d0c6c0f192f30c56e50911d25f4ec19 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 27 May 2018 18:51:13 +0000 Subject: [PATCH 100/133] Set up Travis for automatic snapshot deployment. --- .travis-settings.xml | 13 +++++++++++++ .travis.yml | 8 ++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .travis-settings.xml diff --git a/.travis-settings.xml b/.travis-settings.xml new file mode 100644 index 000000000..ab1e4a6d6 --- /dev/null +++ b/.travis-settings.xml @@ -0,0 +1,13 @@ + + + + + apache.snapshots.https + ${env.REPO_USERNAME} + ${env.REPO_PASSWORD} + + + diff --git a/.travis.yml b/.travis.yml index f493b9c78..7b899093a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,15 @@ language: java # There are test cases that use ImageIO with JPEG and that only work on Oracle JDK. jdk: - oraclejdk8 -install: echo NOOP Skipping pre-fetch of Maven dependencies +install: true +script: '[ "$TRAVIS_REPO_SLUG" == apache/axis1-java ] && [ "$TRAVIS_BRANCH" == trunk ] && [ "$TRAVIS_PULL_REQUEST" == false ] && goal=deploy || goal=verify ; mvn -B -s .travis-settings.xml -Papache-release -Dgpg.skip=true $goal' +env: + global: + - secure: "rd5q/f6mA88heUgXm88Aae8q6PTwKp9rEJtQZihJRPWgnguJp/yPNXCyp0sdtL6ucPW8AXMlcuEUqNv12Y1orxG9zyDkGQ3IWazGB6XQ+feOG1MqXpnUz2DMv0KCqCTbxGyI7Quk5E/ghjhGdfxLETazQJaq4w5ARIxb2r0dyts=" + - secure: "QVsD6fyEdJDBMc8Czap41kkmYNMRQndDL+ZYnvZvrl9x7SPpiUScIW7H1PM3C9Gsd1OZFecVJz1pqplKa0d1/WEkeqlyNFrKNS+jCPbn1ys05Pdq5/85aPfJC9XJu5MOjKn2wjW0Xe2xNpK5V/r13T1qnVAjUJYMfJzM1rogKAM=" cache: directories: - $HOME/.m2 -script: mvn -B clean verify -Papache-release -Dgpg.skip=true notifications: email: # java-dev@axis.apache.org doesn't work here because it's not an address registered on GitHub. From fa77929306c20ad8abca6aa5f7b929c393af675f Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 27 May 2018 22:23:32 +0000 Subject: [PATCH 101/133] Make the site buildable again. --- .travis.yml | 2 +- apidocs/pom.xml | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7b899093a..ac50702f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ language: java jdk: - oraclejdk8 install: true -script: '[ "$TRAVIS_REPO_SLUG" == apache/axis1-java ] && [ "$TRAVIS_BRANCH" == trunk ] && [ "$TRAVIS_PULL_REQUEST" == false ] && goal=deploy || goal=verify ; mvn -B -s .travis-settings.xml -Papache-release -Dgpg.skip=true $goal' +script: '[ "$TRAVIS_REPO_SLUG" == apache/axis1-java ] && [ "$TRAVIS_BRANCH" == trunk ] && [ "$TRAVIS_PULL_REQUEST" == false ] && goal=deploy || goal=install ; mvn -B -s .travis-settings.xml -Papache-release -Dgpg.skip=true $goal site' env: global: - secure: "rd5q/f6mA88heUgXm88Aae8q6PTwKp9rEJtQZihJRPWgnguJp/yPNXCyp0sdtL6ucPW8AXMlcuEUqNv12Y1orxG9zyDkGQ3IWazGB6XQ+feOG1MqXpnUz2DMv0KCqCTbxGyI7Quk5E/ghjhGdfxLETazQJaq4w5ARIxb2r0dyts=" diff --git a/apidocs/pom.xml b/apidocs/pom.xml index 3862ee5e2..d1fe3e621 100644 --- a/apidocs/pom.xml +++ b/apidocs/pom.xml @@ -35,6 +35,9 @@ ${baseSiteUrl}/apiDocs + + 1.5 + ${project.groupId} @@ -51,11 +54,6 @@ axis-jaxrpc ${project.version} - - ${project.groupId} - axis-rt-compat - ${project.version} - ${project.groupId} axis-rt-core @@ -176,6 +174,12 @@ Copyright © {organizationName}. All Rights Reserved. Apache Axis ${project.version} + + + ant.task + X + + From 9c0767b1dbf2c4c1f616a928e61e7749967e7c77 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 28 May 2018 09:09:06 +0000 Subject: [PATCH 102/133] Update filecheck-maven-plugin to release version. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 022c64b63..80cde80a6 100644 --- a/pom.xml +++ b/pom.xml @@ -280,7 +280,7 @@ com.github.veithen.filecheck filecheck-maven-plugin - 0.1-SNAPSHOT + 0.1 From ac408f30ed7d6e644b63279d5d33cd5aeca82f1c Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 15 Dec 2018 00:36:40 +0000 Subject: [PATCH 103/133] Set up Codecov integration. --- pom.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index 80cde80a6..3ef300aa0 100644 --- a/pom.xml +++ b/pom.xml @@ -312,6 +312,30 @@ ${javaVersion} + + org.jacoco + jacoco-maven-plugin + 0.8.2 + + + + prepare-agent + + + + + + com.github.veithen.maven + jacoco-report-maven-plugin + 0.1.0 + + + + process + + + + org.codehaus.gmaven gmaven-plugin From 04fb18fac14f03ac6b09a7dd89c03c7f9f395f5e Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 15 Dec 2018 09:52:35 +0000 Subject: [PATCH 104/133] Enable JaCoCo in Maven integration tests. --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index 3ef300aa0..2d8aedd04 100644 --- a/pom.xml +++ b/pom.xml @@ -254,6 +254,10 @@ maven-invoker-plugin 1.7 + + + ${argLine} + org.mortbay.jetty From fc4fb4e558148f8b407eeadf2703caddae5da3da Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 15 Dec 2018 11:18:10 +0000 Subject: [PATCH 105/133] Enable JaCoCo for axis-server-maven-plugin. --- pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pom.xml b/pom.xml index 2d8aedd04..f7f42c372 100644 --- a/pom.xml +++ b/pom.xml @@ -259,6 +259,15 @@ ${argLine} + + ${project.groupId} + axis-server-maven-plugin + ${project.version} + + + ${argLine} + + org.mortbay.jetty jetty-maven-plugin From 98960a8714189d238b16618d5e5a3637b65427aa Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 15 Dec 2018 12:00:56 +0000 Subject: [PATCH 106/133] Revert r1848986; argLine=${argLine} is actually the default already. --- pom.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pom.xml b/pom.xml index f7f42c372..2d8aedd04 100644 --- a/pom.xml +++ b/pom.xml @@ -259,15 +259,6 @@ ${argLine} - - ${project.groupId} - axis-server-maven-plugin - ${project.version} - - - ${argLine} - - org.mortbay.jetty jetty-maven-plugin From d3ab1ff4858256adb020b17561472d6a13f953a4 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sat, 15 Dec 2018 13:03:54 +0000 Subject: [PATCH 107/133] Enable JaCoCo in some Ant driven tests. --- samples/integrationguide-sample/pom.xml | 2 ++ samples/jms-sample/pom.xml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/samples/integrationguide-sample/pom.xml b/samples/integrationguide-sample/pom.xml index ad93742ad..95955e7c0 100644 --- a/samples/integrationguide-sample/pom.xml +++ b/samples/integrationguide-sample/pom.xml @@ -64,6 +64,7 @@ + @@ -71,6 +72,7 @@ + diff --git a/samples/jms-sample/pom.xml b/samples/jms-sample/pom.xml index 976ca6e1c..a113aee5a 100644 --- a/samples/jms-sample/pom.xml +++ b/samples/jms-sample/pom.xml @@ -165,6 +165,7 @@ + @@ -175,6 +176,7 @@ + @@ -187,6 +189,7 @@ + From 99f8296ea2551d33c115304025884f44a138e10d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 6 Jan 2019 19:46:25 +0000 Subject: [PATCH 108/133] Remove unnecessary bootclasspath for tests in axis-rt-core. --- axis-rt-core/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index acb215023..8d310d46e 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -189,8 +189,6 @@ test/wsdd/TestXSD.java - - -Xbootclasspath/p:${project.build.directory}/endorsed/xmlParserAPIs.jar From 139fe931b0b00cb889db27b0be8aedf306ea2d42 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 6 Jan 2019 19:47:27 +0000 Subject: [PATCH 109/133] Upgrade jacoco-report-maven-plugin. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2d8aedd04..d7ef021be 100644 --- a/pom.xml +++ b/pom.xml @@ -331,7 +331,7 @@ com.github.veithen.maven jacoco-report-maven-plugin - 0.1.0 + 0.1.1 From 2d336b4161c162b861dc3e68507cf70052155de1 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 6 Jan 2019 23:04:22 +0000 Subject: [PATCH 110/133] Use alta-maven-plugin to build the boot classpath for axis-rt-core. --- axis-rt-core/pom.xml | 28 ++++++++++++++-------------- pom.xml | 5 +++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 8d310d46e..759aeff49 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -127,28 +127,28 @@ - maven-dependency-plugin + com.github.veithen.alta + alta-maven-plugin - generate-resources - copy + generate-properties - - + compile.bootclasspath + %file% + ${path.separator} + + xerces xmlParserAPIs - - - ${project.groupId} + + + org.apache.axis axis-saaj ${project.version} - - - true - ${project.build.directory}/endorsed - true + + @@ -158,7 +158,7 @@ - -Xbootclasspath/p:${project.build.directory}/endorsed/xmlParserAPIs.jar${path.separator}${project.build.directory}/endorsed/axis-saaj.jar + -Xbootclasspath/p:${compile.bootclasspath} diff --git a/pom.xml b/pom.xml index d7ef021be..65724fd93 100644 --- a/pom.xml +++ b/pom.xml @@ -286,6 +286,11 @@ filecheck-maven-plugin 0.1 + + com.github.veithen.alta + alta-maven-plugin + 0.6.2 + From aa37259bc63f3f464e87bece74f54e91db2dd84a Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 7 Jan 2019 20:17:39 +0000 Subject: [PATCH 111/133] Use alta-maven-plugin instead of maven-dependency-plugin to supply WAR files to jetty-maven-plugin. --- axis-rt-transport-http-javanet/pom.xml | 18 ++++++++++++------ samples/jaxm-sample/pom.xml | 18 ++++++++++++------ tests/interop-tests/pom.xml | 18 ++++++++++++------ 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/axis-rt-transport-http-javanet/pom.xml b/axis-rt-transport-http-javanet/pom.xml index fc784c12c..c22538bbd 100644 --- a/axis-rt-transport-http-javanet/pom.xml +++ b/axis-rt-transport-http-javanet/pom.xml @@ -152,17 +152,23 @@ - maven-dependency-plugin + com.github.veithen.alta + alta-maven-plugin pre-integration-test - copy-dependencies + generate-properties - ${project.build.directory} - war - true + %artifactId%.location + %file% + + test + + *:*:war:* + + @@ -171,7 +177,7 @@ org.mortbay.jetty jetty-maven-plugin - ${project.build.directory}/interop-mock.war + ${interop-mock.location} foo ${jetty.stopPort} diff --git a/samples/jaxm-sample/pom.xml b/samples/jaxm-sample/pom.xml index 525c7871e..1044245b5 100644 --- a/samples/jaxm-sample/pom.xml +++ b/samples/jaxm-sample/pom.xml @@ -85,17 +85,23 @@ - maven-dependency-plugin + com.github.veithen.alta + alta-maven-plugin pre-integration-test - copy-dependencies + generate-properties - ${project.build.directory} - war - true + %artifactId%.location + %file% + + test + + *:*:war:* + + @@ -104,7 +110,7 @@ org.mortbay.jetty jetty-maven-plugin - ${project.build.directory}/interop-mock.war + ${interop-mock.location} foo ${jetty.stopPort} diff --git a/tests/interop-tests/pom.xml b/tests/interop-tests/pom.xml index 27b870599..f007484eb 100644 --- a/tests/interop-tests/pom.xml +++ b/tests/interop-tests/pom.xml @@ -151,17 +151,23 @@ - maven-dependency-plugin + com.github.veithen.alta + alta-maven-plugin pre-integration-test - copy-dependencies + generate-properties - ${project.build.directory} - war - true + %artifactId%.location + %file% + + test + + *:*:war:* + + @@ -170,7 +176,7 @@ org.mortbay.jetty jetty-maven-plugin - ${project.build.directory}/interop-mock.war + ${interop-mock.location} foo ${jetty.stopPort} From 3fcac2ce6f5c6f6c68c42dc8d76564a3ef0575e9 Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Sun, 24 Feb 2019 17:16:32 +0000 Subject: [PATCH 112/133] in XMLUtils set uconn.setInstanceFollowRedirects(false) --- axis-rt-core/src/main/java/org/apache/axis/utils/XMLUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/utils/XMLUtils.java b/axis-rt-core/src/main/java/org/apache/axis/utils/XMLUtils.java index 62bd88818..027935443 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/utils/XMLUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/utils/XMLUtils.java @@ -819,7 +819,7 @@ private static InputSource getInputSourceFromURI(String uri, uconn.setDefaultUseCaches(false); uconn.setDoInput(true); uconn.setDoOutput(false); - uconn.setInstanceFollowRedirects(true); + uconn.setInstanceFollowRedirects(false); uconn.setUseCaches(false); // username/password info in the URL overrides passed in values From 85994040c64b2cfb4ddd121cb297924ca1d65e1b Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Mon, 11 Mar 2019 00:27:44 +0000 Subject: [PATCH 113/133] remove sample jws files from the WAR distribution --- axis-war/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/axis-war/pom.xml b/axis-war/pom.xml index 09aa21e46..2a2cd05a1 100644 --- a/axis-war/pom.xml +++ b/axis-war/pom.xml @@ -89,6 +89,7 @@ maven-war-plugin WEB-INF/lib/soapmonitor-applet-*.jar + *.jws ${project.groupId} From af9c7ce8a5b0136b0f31d5571d69173f41bc4b7f Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Mon, 9 Sep 2019 17:44:23 +0000 Subject: [PATCH 114/133] Apply patch for AXIS-2905, remove animal sniffer API check plugin from the pom.xml because patch requires JDK classes marked with 'Since 1.5' and internal the internal Apache build on Travis runs JDK 8 --- .../components/net/JSSESocketFactory.java | 309 +++++++++++++++++- pom.xml | 22 -- 2 files changed, 303 insertions(+), 28 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/JSSESocketFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/JSSESocketFactory.java index dd3f991fb..abffcdd06 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/JSSESocketFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/JSSESocketFactory.java @@ -15,12 +15,6 @@ */ package org.apache.axis.components.net; -import org.apache.axis.utils.Messages; -import org.apache.axis.utils.XMLUtils; -import org.apache.axis.utils.StringUtils; - -import javax.net.ssl.SSLSocket; -import javax.net.ssl.SSLSocketFactory; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; @@ -28,7 +22,33 @@ import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; +import java.security.cert.Certificate; +import java.security.cert.CertificateParsingException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.Hashtable; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.regex.Pattern; + +import javax.naming.InvalidNameException; +import javax.naming.NamingException; +import javax.naming.directory.Attribute; +import javax.naming.directory.Attributes; +import javax.naming.ldap.LdapName; +import javax.naming.ldap.Rdn; +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLSocketFactory; + +import org.apache.axis.utils.Messages; +import org.apache.axis.utils.StringUtils; +import org.apache.axis.utils.XMLUtils; /** @@ -41,6 +61,10 @@ */ public class JSSESocketFactory extends DefaultSocketFactory implements SecureSocketFactory { + // This is a a sorted list, if you insert new elements do it orderdered. + private final static String[] BAD_COUNTRY_2LDS = + {"ac", "co", "com", "ed", "edu", "go", "gouv", "gov", "info", + "lg", "ne", "net", "or", "org"}; /** Field sslFactory */ protected SSLSocketFactory sslFactory = null; @@ -187,6 +211,279 @@ public Socket create( if (log.isDebugEnabled()) { log.debug(Messages.getMessage("createdSSL00")); } + verifyHostName(host, (SSLSocket) sslSocket); return sslSocket; } + /** + * Verifies that the given hostname in certicifate is the hostname we are trying to connect to. + * This resolves CVE-2012-5784 and CVE-2014-3596 + * @param host + * @param ssl + * @throws IOException + */ + + private static void verifyHostName(String host, SSLSocket ssl) + throws IOException { + if (host == null) { + throw new IllegalArgumentException("host to verify was null"); + } + + SSLSession session = ssl.getSession(); + if (session == null) { + // In our experience this only happens under IBM 1.4.x when + // spurious (unrelated) certificates show up in the server's chain. + // Hopefully this will unearth the real problem: + InputStream in = ssl.getInputStream(); + in.available(); + /* + If you're looking at the 2 lines of code above because you're + running into a problem, you probably have two options: + + #1. Clean up the certificate chain that your server + is presenting (e.g. edit "/etc/apache2/server.crt" or + wherever it is your server's certificate chain is + defined). + + OR + + #2. Upgrade to an IBM 1.5.x or greater JVM, or switch to a + non-IBM JVM. + */ + + // If ssl.getInputStream().available() didn't cause an exception, + // maybe at least now the session is available? + session = ssl.getSession(); + if (session == null) { + // If it's still null, probably a startHandshake() will + // unearth the real problem. + ssl.startHandshake(); + + // Okay, if we still haven't managed to cause an exception, + // might as well go for the NPE. Or maybe we're okay now? + session = ssl.getSession(); + } + } + + Certificate[] certs = session.getPeerCertificates(); + verifyHostName(host.trim().toLowerCase(Locale.US), (X509Certificate) certs[0]); + } + /** + * Extract the names from the certificate and tests host matches one of them + * @param host + * @param cert + * @throws SSLException + */ + + private static void verifyHostName(final String host, X509Certificate cert) + throws SSLException { + // I'm okay with being case-insensitive when comparing the host we used + // to establish the socket to the hostname in the certificate. + // Don't trim the CN, though. + + String[] cns = getCNs(cert); + String[] subjectAlts = getDNSSubjectAlts(cert); + verifyHostName(host, cns, subjectAlts); + + } + + /** + * Extract all alternative names from a certificate. + * @param cert + * @return + */ + private static String[] getDNSSubjectAlts(X509Certificate cert) { + LinkedList subjectAltList = new LinkedList(); + Collection c = null; + try { + c = cert.getSubjectAlternativeNames(); + } catch (CertificateParsingException cpe) { + // Should probably log.debug() this? + cpe.printStackTrace(); + } + if (c != null) { + Iterator it = c.iterator(); + while (it.hasNext()) { + List list = (List) it.next(); + int type = ((Integer) list.get(0)).intValue(); + // If type is 2, then we've got a dNSName + if (type == 2) { + String s = (String) list.get(1); + subjectAltList.add(s); + } + } + } + if (!subjectAltList.isEmpty()) { + String[] subjectAlts = new String[subjectAltList.size()]; + subjectAltList.toArray(subjectAlts); + return subjectAlts; + } else { + return new String[0]; + } + + } + /** + * Verifies + * @param host + * @param cn + * @param subjectAlts + * @throws SSLException + */ + + private static void verifyHostName(final String host, String[] cns, String[] subjectAlts)throws SSLException{ + StringBuffer cnTested = new StringBuffer(); + + for (int i = 0; i < subjectAlts.length; i++){ + String name = subjectAlts[i]; + if (name != null) { + name = name.toLowerCase(Locale.US); + if (verifyHostName(host, name)){ + return; + } + cnTested.append("/").append(name); + } + } + for (int i = 0; i < cns.length; i++) { + String cn = cns[i]; + if (cn != null) { + cn = cn.toLowerCase(Locale.US); + if (verifyHostName(host, cn)) { + return; + } + cnTested.append("/").append(cn); + } + } + throw new SSLException("hostname in certificate didn't match: <" + + host + "> != <" + cnTested + ">"); + } + + private static boolean verifyHostName(final String host, final String cn){ + if (doWildCard(cn) && !isIPAddress(host)) { + return matchesWildCard(cn, host); + } + return host.equalsIgnoreCase(cn); + } + private static boolean doWildCard(String cn) { + // Contains a wildcard + // wildcard in the first block + // not an ipaddress (ip addres must explicitily be equal) + // not using 2nd level common tld : ex: not for *.co.uk + String parts[] = cn.split("\\."); + return parts.length >= 3 && + parts[0].endsWith("*") && + acceptableCountryWildcard(cn) && + !isIPAddress(cn); + } + + private static final Pattern IPV4_PATTERN = + Pattern.compile("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$"); + + private static final Pattern IPV6_STD_PATTERN = + Pattern.compile("^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$"); + + private static final Pattern IPV6_HEX_COMPRESSED_PATTERN = + Pattern.compile("^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$"); + + + private static boolean isIPAddress(final String hostname) { + return hostname != null + && ( + IPV4_PATTERN.matcher(hostname).matches() + || IPV6_STD_PATTERN.matcher(hostname).matches() + || IPV6_HEX_COMPRESSED_PATTERN.matcher(hostname).matches() + ); + + } + + private static boolean acceptableCountryWildcard(final String cn) { + // The CN better have at least two dots if it wants wildcard action, + // but can't be [*.co.uk] or [*.co.jp] or [*.org.uk], etc... + // The [*.co.uk] problem is an interesting one. Should we just + // hope that CA's would never foolishly allow such a + // certificate to happen? + + String[] parts = cn.split("\\."); + // Only checks for 3 levels, with country code of 2 letters. + if (parts.length > 3 || parts[parts.length - 1].length() != 2) { + return true; + } + String countryCode = parts[parts.length - 2]; + return Arrays.binarySearch(BAD_COUNTRY_2LDS, countryCode) < 0; + } + + private static boolean matchesWildCard(final String cn, + final String hostName) { + String parts[] = cn.split("\\."); + boolean match = false; + String firstpart = parts[0]; + if (firstpart.length() > 1) { + // server∗ + // e.g. server + String prefix = firstpart.substring(0, firstpart.length() - 1); + // skipwildcard part from cn + String suffix = cn.substring(firstpart.length()); + // skip wildcard part from host + String hostSuffix = hostName.substring(prefix.length()); + match = hostName.startsWith(prefix) && hostSuffix.endsWith(suffix); + } else { + match = hostName.endsWith(cn.substring(1)); + } + if (match) { + // I f we ’ r e i n s t r i c t mode , + // [ ∗.foo.com] is not allowed to match [a.b.foo.com] + match = countDots(hostName) == countDots(cn); + } + return match; + } + + private static int countDots(final String data) { + int dots = 0; + for (int i = 0; i < data.length(); i++) { + if (data.charAt(i) == '.') { + dots += 1; + } + } + return dots; + } + + + private static String[] getCNs(X509Certificate cert) { + // Note: toString() seems to do a better job than getName() + // + // For example, getName() gives me this: + // 1.2.840.113549.1.9.1=#16166a756c6975736461766965734063756362632e636f6d + // + // whereas toString() gives me this: + // EMAILADDRESS=juliusdavies@cucbc.com + String subjectPrincipal = cert.getSubjectX500Principal().toString(); + + return getCNs(subjectPrincipal); + + } + private static String[] getCNs(String subjectPrincipal) { + if (subjectPrincipal == null) { + return null; + } + final List cns = new ArrayList(); + try { + final LdapName subjectDN = new LdapName(subjectPrincipal); + final List rdns = subjectDN.getRdns(); + for (int i = rdns.size() - 1; i >= 0; i--) { + final Rdn rds = (Rdn) rdns.get(i); + final Attributes attributes = rds.toAttributes(); + final Attribute cn = attributes.get("cn"); + if (cn != null) { + try { + final Object value = cn.get(); + if (value != null) { + cns.add(value.toString()); + } + } + catch (NamingException ignore) {} + } + } + } + catch (InvalidNameException ignore) { } + return cns.isEmpty() ? null : (String[]) cns.toArray(new String[ cns.size() ]); + } + } diff --git a/pom.xml b/pom.xml index 65724fd93..08849ebbc 100644 --- a/pom.xml +++ b/pom.xml @@ -372,28 +372,6 @@ - - org.codehaus.mojo - animal-sniffer-maven-plugin - - 1.8 - - - verify - - check - - - - org.codehaus.mojo.signature - ${signatureArtifactId} - ${signatureVersion} - - - - - 4.0.0 - - @project.groupId@ - axis-project - @project.version@ - test writeStubToTestSources 1 diff --git a/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml b/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml index 6630ce5c0..ce36d3211 100644 --- a/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml +++ b/maven/wsdl2java-maven-plugin/src/it/wsrf/pom.xml @@ -19,11 +19,6 @@ --> 4.0.0 - - @project.groupId@ - axis-project - @project.version@ - test wsrf 1 From e91f3e3682e00e36df6a7f67a1bbf4f1048e8bff Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 Dec 2020 11:22:03 +0000 Subject: [PATCH 121/133] Make test execution more robust - Execute tests hermetically where possible. This shields the tests from weird interactions with the local network configuration. - Run the integration tests in a fixed time zone. For some reason they fail in Europe/London. --- integration/pom.xml | 4 ++++ pom.xml | 15 +++++++++++++++ samples/transport-sample/pom.xml | 8 ++++++++ 3 files changed, 27 insertions(+) diff --git a/integration/pom.xml b/integration/pom.xml index 07d55cadb..7d7ce7e99 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -1543,6 +1543,10 @@ true ${test.functional.ServicePort} + + + PST8PDT + diff --git a/pom.xml b/pom.xml index 08849ebbc..8b1e9df86 100644 --- a/pom.xml +++ b/pom.xml @@ -422,6 +422,21 @@ maven-scm-publish-plugin 1.0-beta-2 + + com.github.veithen.maven + hermetic-maven-plugin + 0.5.0 + + + + generate-policy + + + true + + + + diff --git a/samples/transport-sample/pom.xml b/samples/transport-sample/pom.xml index 2f9160719..acb4de809 100644 --- a/samples/transport-sample/pom.xml +++ b/samples/transport-sample/pom.xml @@ -52,6 +52,14 @@ + + com.github.veithen.maven + hermetic-maven-plugin + + + true + + maven-surefire-plugin From 1227217b7eaccd0840dcc958c5dd364e21a45d4d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 Dec 2020 12:00:18 +0000 Subject: [PATCH 122/133] Make the wsdl2java-maven-plugin tests succeed with an empty local repo --- maven/wsdl2java-maven-plugin/pom.xml | 16 ++++-- .../src/it/settings.xml | 53 ------------------- 2 files changed, 13 insertions(+), 56 deletions(-) delete mode 100644 maven/wsdl2java-maven-plugin/src/it/settings.xml diff --git a/maven/wsdl2java-maven-plugin/pom.xml b/maven/wsdl2java-maven-plugin/pom.xml index b5acf2495..1e463f3be 100644 --- a/maven/wsdl2java-maven-plugin/pom.xml +++ b/maven/wsdl2java-maven-plugin/pom.xml @@ -82,13 +82,25 @@ + + com.github.veithen.maven + resolver-proxy-maven-plugin + 0.2.0 + + + + start + stop + + + + maven-invoker-plugin integration-test - install run @@ -100,8 +112,6 @@ setup verify - ${project.build.directory}/local-repo - src/it/settings.xml clean install diff --git a/maven/wsdl2java-maven-plugin/src/it/settings.xml b/maven/wsdl2java-maven-plugin/src/it/settings.xml deleted file mode 100644 index 8737d31ab..000000000 --- a/maven/wsdl2java-maven-plugin/src/it/settings.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - it-repo - - true - - - - local.central - @localRepositoryUrl@ - - true - - - true - - - - - - local.central - @localRepositoryUrl@ - - true - - - true - - - - - - From 1cd08d453ebb17ab6fc0fde05cecbdf24c296bc0 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 Dec 2020 12:09:00 +0000 Subject: [PATCH 123/133] Revert "AXIS-2295 Apply community suggested fixes to http proxy parameters caching mechanism" That change causes a test failure in test.wsdl.multithread.MultithreadTestCase. This reverts commit a596f2cd4672bfb0c7ce02762c55c6c3eb21e440. --- .../DefaultHTTPTransportClientProperties.java | 40 ++++++++++++------- .../net/TransportClientPropertiesFactory.java | 2 +- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java index 6cd5519df..44784bd1b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/DefaultHTTPTransportClientProperties.java @@ -37,9 +37,11 @@ public class DefaultHTTPTransportClientProperties * @see org.apache.axis.components.net.TransportClientProperties#getProxyHost() */ public String getProxyHost() { - proxyHost = AxisProperties.getProperty("http.proxyHost"); - if (proxyHost == null) - proxyHost = emptyString; + if (proxyHost == null) { + proxyHost = AxisProperties.getProperty("http.proxyHost"); + if (proxyHost == null) + proxyHost = emptyString; + } return proxyHost; } @@ -47,9 +49,11 @@ public String getProxyHost() { * @see org.apache.axis.components.net.TransportClientProperties#getNonProxyHosts() */ public String getNonProxyHosts() { - nonProxyHosts = AxisProperties.getProperty("http.nonProxyHosts"); - if (nonProxyHosts == null) - nonProxyHosts = emptyString; + if (nonProxyHosts == null) { + nonProxyHosts = AxisProperties.getProperty("http.nonProxyHosts"); + if (nonProxyHosts == null) + nonProxyHosts = emptyString; + } return nonProxyHosts; } @@ -57,9 +61,11 @@ public String getNonProxyHosts() { * @see org.apache.axis.components.net.TransportClientProperties#getProxyPort() */ public String getProxyPort() { - proxyPort = AxisProperties.getProperty("http.proxyPort"); - if (proxyPort == null) - proxyPort = emptyString; + if (proxyPort == null) { + proxyPort = AxisProperties.getProperty("http.proxyPort"); + if (proxyPort == null) + proxyPort = emptyString; + } return proxyPort; } @@ -67,9 +73,11 @@ public String getProxyPort() { * @see org.apache.axis.components.net.TransportClientProperties#getProxyUser() */ public String getProxyUser() { - proxyUser = AxisProperties.getProperty("http.proxyUser"); - if (proxyUser == null) - proxyUser = emptyString; + if (proxyUser == null) { + proxyUser = AxisProperties.getProperty("http.proxyUser"); + if (proxyUser == null) + proxyUser = emptyString; + } return proxyUser; } @@ -77,9 +85,11 @@ public String getProxyUser() { * @see org.apache.axis.components.net.TransportClientProperties#getProxyPassword() */ public String getProxyPassword() { - proxyPassword = AxisProperties.getProperty("http.proxyPassword"); - if (proxyPassword == null) - proxyPassword = emptyString; + if (proxyPassword == null) { + proxyPassword = AxisProperties.getProperty("http.proxyPassword"); + if (proxyPassword == null) + proxyPassword = emptyString; + } return proxyPassword; } } diff --git a/axis-rt-core/src/main/java/org/apache/axis/components/net/TransportClientPropertiesFactory.java b/axis-rt-core/src/main/java/org/apache/axis/components/net/TransportClientPropertiesFactory.java index 7aed0ba47..7a8ad637d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/components/net/TransportClientPropertiesFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/components/net/TransportClientPropertiesFactory.java @@ -27,7 +27,7 @@ */ public class TransportClientPropertiesFactory { protected static Log log = - LogFactory.getLog(TransportClientPropertiesFactory.class.getName()); + LogFactory.getLog(SocketFactoryFactory.class.getName()); private static HashMap cache = new HashMap(); private static HashMap defaults = new HashMap(); From 9811a93521302be583d714ce3f9cf8975d4fd4ab Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 20 Dec 2020 12:43:28 +0000 Subject: [PATCH 124/133] Prevent spring-compat-tests from writing to the source directory --- tests/spring-compat-tests/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/spring-compat-tests/pom.xml b/tests/spring-compat-tests/pom.xml index 67906b81b..3fee5e4b0 100644 --- a/tests/spring-compat-tests/pom.xml +++ b/tests/spring-compat-tests/pom.xml @@ -127,6 +127,7 @@ src/main/webapp ${project.build.directory}/webapp + ${argLine} -Daxis.attachments.Directory=${project.build.directory}/tmp/attachments From 75e8c723c489761388e48c6df6f00d6061928cea Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Mon, 21 Dec 2020 17:34:26 +0000 Subject: [PATCH 125/133] Update emf-maven-plugin --- axis-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axis-model/pom.xml b/axis-model/pom.xml index 373fcb7a6..71cff40e4 100644 --- a/axis-model/pom.xml +++ b/axis-model/pom.xml @@ -78,7 +78,7 @@ com.github.veithen.maven emf-maven-plugin - 0.1.0-SNAPSHOT + 0.1.0 From 41f8ad9833cde461710cc566ff6bc967dffe40a0 Mon Sep 17 00:00:00 2001 From: Anu Shibin Joseph Raj Date: Thu, 27 Jul 2023 15:05:42 +0530 Subject: [PATCH 126/133] Fix for java.nio.charset.IllegalCharsetNameException: utf-8" --- .../src/main/java/org/apache/axis/attachments/MimeUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/attachments/MimeUtils.java b/axis-rt-core/src/main/java/org/apache/axis/attachments/MimeUtils.java index 3028d6efe..e7061537d 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/attachments/MimeUtils.java +++ b/axis-rt-core/src/main/java/org/apache/axis/attachments/MimeUtils.java @@ -249,7 +249,7 @@ public static javax.mail.internet.MimeMultipart createMP( if(sendType == Attachments.SEND_TYPE_MTOM) { multipart = new javax.mail.internet.MimeMultipart( - "related;type=\"application/xop+xml\"; start=\"<" + rootCID + ">\"; start-info=\"text/xml; charset=utf-8\""); + "related;type=\"application/xop+xml\"; start=\"<" + rootCID + ">\"; start-info=\"text/xml\"; charset=\"utf-8\""); } else { multipart = new javax.mail.internet.MimeMultipart( "related; type=\"text/xml\"; start=\"<" + rootCID + ">\""); From 7e66753427466590d6def0125e448d2791723210 Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Tue, 1 Aug 2023 15:40:18 -0400 Subject: [PATCH 127/133] Filter out unsupported protocols in the client class ServiceFactory --- .../src/main/java/org/apache/axis/client/ServiceFactory.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java index 33054a557..73e89ee1b 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java @@ -106,6 +106,10 @@ public static Service getService(Map environment) if (context != null) { String name = (String)environment.get("jndiName"); + + if(name!=null && (name.toUpperCase().indexOf("LDAP")!=-1 || name.toUpperCase().indexOf("RMI")!=-1 || name.toUpperCase().indexOf("JMS")!=-1 || name.toUpperCase().indexOf("JMX")!=-1) || name.toUpperCase().indexOf("JRMP")!=-1 || name.toUpperCase().indexOf("JAVA")!=-1 || name.toUpperCase().indexOf("DNS")!=-1) { + return null; + } if (name == null) { name = "axisServiceName"; } @@ -120,6 +124,7 @@ public static Service getService(Map environment) context.bind(name, service); } catch (NamingException e1) { // !!! Couldn't do it, what should we do here? + return null; } } } else { From 2d3e769a64128f407ba201240f9d83669e587973 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 13 Aug 2023 20:09:55 +0000 Subject: [PATCH 128/133] Make ImageDataSource use PNG This makes the code compatible with OpenJDK 8 (while currently it will only work on Oracle JDK 8). PNG is probably the better choice anyway because it is lossless. --- .travis.yml | 1 - .../main/java/org/apache/axis/attachments/ImageDataSource.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ac50702f9..741531b8c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ dist: trusty language: java -# There are test cases that use ImageIO with JPEG and that only work on Oracle JDK. jdk: - oraclejdk8 install: true diff --git a/axis-rt-core/src/main/java/org/apache/axis/attachments/ImageDataSource.java b/axis-rt-core/src/main/java/org/apache/axis/attachments/ImageDataSource.java index 0fe4fe621..c07958e82 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/attachments/ImageDataSource.java +++ b/axis-rt-core/src/main/java/org/apache/axis/attachments/ImageDataSource.java @@ -37,7 +37,7 @@ public class ImageDataSource implements DataSource { protected static Log log = LogFactory.getLog(ImageDataSource.class.getName()); - public static final String CONTENT_TYPE = "image/jpeg"; + public static final String CONTENT_TYPE = "image/png"; private final String name; private final String contentType; From 994b7b17fdbf00d5c9845671be0f1978b61f5d7b Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 13 Aug 2023 20:11:45 +0000 Subject: [PATCH 129/133] Add Codespaces configuration --- .devcontainer/devcontainer.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..9af12cbdd --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,13 @@ +{ + "image": "mcr.microsoft.com/devcontainers/base:ubuntu-22.04", + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "8", + "installMaven": "true", + "mavenVersion": "3.9.1" + } + }, + "hostRequirements": { + "memory": "8gb" + } +} From dbee40de9651ee4f0db8e67c151d626e40984bc5 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 13 Aug 2023 20:26:46 +0000 Subject: [PATCH 130/133] Migrate to Github Actions --- .github/workflows/ci.yml | 53 ++++++++++++++++++++++++++++++++++++++++ .travis-settings.xml | 13 ---------- .travis.yml | 17 ------------- 3 files changed, 53 insertions(+), 30 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis-settings.xml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..a751db802 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +name: Continuous Integration + +on: + push: + branches: [ '*' ] + pull_request: + branches: [ '*' ] + +env: + MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3 + +jobs: + build: + strategy: + fail-fast: false + matrix: + java: [ 8 ] + name: "Java ${{ matrix.java }}" + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Cache Maven Repository + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: maven-java-${{ matrix.java }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + maven-java-${{ matrix.java }}- + maven- + - name: Set up Java + uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: ${{ matrix.java }} + - name: Build + run: mvn -B -e -Papache-release -Dgpg.skip=true install site + - name: Remove Snapshots + run: find ~/.m2/repository -name '*-SNAPSHOT' -a -type d -print0 | xargs -0 rm -rf diff --git a/.travis-settings.xml b/.travis-settings.xml deleted file mode 100644 index ab1e4a6d6..000000000 --- a/.travis-settings.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - apache.snapshots.https - ${env.REPO_USERNAME} - ${env.REPO_PASSWORD} - - - diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 741531b8c..000000000 --- a/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -dist: trusty -language: java -jdk: - - oraclejdk8 -install: true -script: '[ "$TRAVIS_REPO_SLUG" == apache/axis1-java ] && [ "$TRAVIS_BRANCH" == trunk ] && [ "$TRAVIS_PULL_REQUEST" == false ] && goal=deploy || goal=install ; mvn -B -s .travis-settings.xml -Papache-release -Dgpg.skip=true $goal site' -env: - global: - - secure: "rd5q/f6mA88heUgXm88Aae8q6PTwKp9rEJtQZihJRPWgnguJp/yPNXCyp0sdtL6ucPW8AXMlcuEUqNv12Y1orxG9zyDkGQ3IWazGB6XQ+feOG1MqXpnUz2DMv0KCqCTbxGyI7Quk5E/ghjhGdfxLETazQJaq4w5ARIxb2r0dyts=" - - secure: "QVsD6fyEdJDBMc8Czap41kkmYNMRQndDL+ZYnvZvrl9x7SPpiUScIW7H1PM3C9Gsd1OZFecVJz1pqplKa0d1/WEkeqlyNFrKNS+jCPbn1ys05Pdq5/85aPfJC9XJu5MOjKn2wjW0Xe2xNpK5V/r13T1qnVAjUJYMfJzM1rogKAM=" -cache: - directories: - - $HOME/.m2 -notifications: - email: - # java-dev@axis.apache.org doesn't work here because it's not an address registered on GitHub. - - veithen@apache.org From 22c25b730f8fc10780117167fd11d1153126b04d Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Sun, 13 Aug 2023 20:46:19 +0000 Subject: [PATCH 131/133] Remove unnecessary dependency --- axis-rt-core/pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/axis-rt-core/pom.xml b/axis-rt-core/pom.xml index 759aeff49..254cdf0b0 100644 --- a/axis-rt-core/pom.xml +++ b/axis-rt-core/pom.xml @@ -80,12 +80,6 @@ xmlunit test - - xalan - xalan - 2.6.0 - test - oro oro From 685c309febc64aa393b2d64a05f90e7eb9f73e06 Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Sun, 17 Dec 2023 16:00:56 -1000 Subject: [PATCH 132/133] Filter out more unsupported protocols in the client class ServiceFactory --- .../main/java/org/apache/axis/client/ServiceFactory.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java index 73e89ee1b..85b89a9c5 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java @@ -17,9 +17,11 @@ package org.apache.axis.client; import org.apache.axis.EngineConfiguration; +import org.apache.axis.components.logger.LogFactory; import org.apache.axis.configuration.EngineConfigurationFactoryFinder; import org.apache.axis.utils.ClassUtils; import org.apache.axis.utils.Messages; +import org.apache.commons.logging.Log; import javax.naming.Context; import javax.naming.InitialContext; @@ -47,6 +49,9 @@ public class ServiceFactory extends javax.xml.rpc.ServiceFactory implements ObjectFactory { + protected static Log log = + LogFactory.getLog(ServiceFactory.class.getName()); + // Constants for RefAddrs in the Reference. public static final String SERVICE_CLASSNAME = "service classname"; public static final String WSDL_LOCATION = "WSDL location"; @@ -107,7 +112,8 @@ public static Service getService(Map environment) if (context != null) { String name = (String)environment.get("jndiName"); - if(name!=null && (name.toUpperCase().indexOf("LDAP")!=-1 || name.toUpperCase().indexOf("RMI")!=-1 || name.toUpperCase().indexOf("JMS")!=-1 || name.toUpperCase().indexOf("JMX")!=-1) || name.toUpperCase().indexOf("JRMP")!=-1 || name.toUpperCase().indexOf("JAVA")!=-1 || name.toUpperCase().indexOf("DNS")!=-1) { + if(name!=null && (name.toUpperCase().indexOf("LDAP")!=-1 || name.toUpperCase().indexOf("RMI")!=-1 || name.toUpperCase().indexOf("JMS")!=-1 || name.toUpperCase().indexOf("JMX")!=-1) || name.toUpperCase().indexOf("JRMP")!=-1 || name.toUpperCase().indexOf("JAVA")!=-1 || name.toUpperCase().indexOf("DNS")!=-1 || name.toUpperCase().indexOf("IIOP")!=-1 || name.toUpperCase().indexOf("CORBANAME")!=-1) { + log.warn("returning null, jndiName received by ServiceFactory.getService() is not supported by this method: " + name); return null; } if (name == null) { From 2c0d66018480e0cb73d5005c99c68ef55558d2a3 Mon Sep 17 00:00:00 2001 From: Robert Lazarski Date: Sun, 9 Feb 2025 13:54:28 -1000 Subject: [PATCH 133/133] Fix closing parenthesis in the latest fix in the client class ServiceFactory --- .../src/main/java/org/apache/axis/client/ServiceFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java index 85b89a9c5..57d7694d8 100644 --- a/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java +++ b/axis-rt-core/src/main/java/org/apache/axis/client/ServiceFactory.java @@ -112,7 +112,7 @@ public static Service getService(Map environment) if (context != null) { String name = (String)environment.get("jndiName"); - if(name!=null && (name.toUpperCase().indexOf("LDAP")!=-1 || name.toUpperCase().indexOf("RMI")!=-1 || name.toUpperCase().indexOf("JMS")!=-1 || name.toUpperCase().indexOf("JMX")!=-1) || name.toUpperCase().indexOf("JRMP")!=-1 || name.toUpperCase().indexOf("JAVA")!=-1 || name.toUpperCase().indexOf("DNS")!=-1 || name.toUpperCase().indexOf("IIOP")!=-1 || name.toUpperCase().indexOf("CORBANAME")!=-1) { + if(name!=null && (name.toUpperCase().indexOf("LDAP")!=-1 || name.toUpperCase().indexOf("RMI")!=-1 || name.toUpperCase().indexOf("JMS")!=-1 || name.toUpperCase().indexOf("JMX")!=-1 || name.toUpperCase().indexOf("JRMP")!=-1 || name.toUpperCase().indexOf("JAVA")!=-1 || name.toUpperCase().indexOf("DNS")!=-1 || name.toUpperCase().indexOf("IIOP")!=-1 || name.toUpperCase().indexOf("CORBANAME")!=-1)) { log.warn("returning null, jndiName received by ServiceFactory.getService() is not supported by this method: " + name); return null; }