Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/pom.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/pom.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/pom.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/pom.xml Sun Dec 17 22:34:08 2017 @@ -21,9 +21,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.axis2</groupId> - <artifactId>axis2-parent</artifactId> - <version>1.7.0-SNAPSHOT</version> - <relativePath>../parent/pom.xml</relativePath> + <artifactId>axis2</artifactId> + <version>1.8.0-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> </parent> <groupId>org.apache.axis2</groupId> @@ -74,6 +74,11 @@ </dependency> <dependency> <groupId>org.apache.axis2</groupId> + <artifactId>axis2-jibx-codegen</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> <artifactId>axis2-json</artifactId> <version>${project.version}</version> </dependency> @@ -186,6 +191,12 @@ <version>${project.version}</version> <type>mar</type> </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-jaxws-mar</artifactId> + <version>${project.version}</version> + <type>mar</type> + </dependency> <dependency> <groupId>org.apache.axis2</groupId> @@ -245,24 +256,6 @@ </exclusions> </dependency> - <!-- Axis2 has always been shipped with Sun's implementations of - JavaMail and JAF, although Axiom depends on (and has been tested - with) Geronimo's implementations. This should probably reevaluated. --> - <dependency> - <groupId>javax.mail</groupId> - <artifactId>mail</artifactId> - <version>${javax.mail.version}</version> - </dependency> - - <!-- Jalopy is used by the PrettyPrinter class in the kernel, - but it is invoked using reflection (and only if it is - found on the classpath). Therefore it is not automatically - added as a transitive dependency. --> - <dependency> - <groupId>jalopy</groupId> - <artifactId>jalopy</artifactId> - </dependency> - <!-- None of the Axis2 artifacts should have a dependency on log4j because we don't want to impose a particular logging implementation on our users. However, for the binary distribution, we need to @@ -281,7 +274,9 @@ </dependency> <!-- These are needed to run JAX-WS tools --> - <dependency> + <!-- TODO: don't add them unless you also add the corresponding license files + (and check that inclusion of these dependencies conforms to ASF policies) --> + <!-- dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <exclusions> @@ -299,12 +294,28 @@ <groupId>org.jvnet.staxex</groupId> <artifactId>stax-ex</artifactId> <version>1.4</version> + <exclusions> + <exclusion> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + <exclusion> + <groupId>javax.activation</groupId> + <artifactId>activation</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>com.sun.xml.stream.buffer</groupId> <artifactId>streambuffer</artifactId> <version>1.2</version> - </dependency> + <exclusions> + <exclusion> + <groupId>javax.activation</groupId> + <artifactId>activation</artifactId> + </exclusion> + </exclusions> + </dependency --> </dependencies> <url>http://axis.apache.org/axis2/java/core/</url> <scm> @@ -315,21 +326,79 @@ <build> <plugins> <plugin> - <groupId>org.codehaus.gmaven</groupId> - <artifactId>gmaven-plugin</artifactId> + <groupId>com.github.veithen.alta</groupId> + <artifactId>alta-maven-plugin</artifactId> + <executions> + <execution> + <id>war-location</id> + <goals> + <goal>generate-properties</goal> + </goals> + <configuration> + <name>webapp</name> + <value>%file%</value> + <dependencySet> + <scope>test</scope> + <includes> + <include>*:axis2-webapp:war:*</include> + </includes> + </dependencySet> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.gmavenplus</groupId> + <artifactId>gmavenplus-plugin</artifactId> <executions> <execution> <id>generate-timestamp</id> - <phase>package</phase> + <phase>prepare-package</phase> <goals> <goal>execute</goal> </goals> <configuration> - <source> - import java.util.Date - import java.text.MessageFormat - project.properties['buildTimestamp'] = MessageFormat.format("{0,date,dd-MM-yyyy}", new Date()) - </source> + <scripts> + <script> + import java.util.Date + import java.text.MessageFormat + project.properties['buildTimestamp'] = MessageFormat.format("{0,date,dd-MM-yyyy}", new Date()) + project.properties['release_version'] = project.version.replaceAll("-SNAPSHOT", "") + </script> + </scripts> + </configuration> + </execution> + <execution> + <id>check-webapp-content</id> + <phase>verify</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <scripts> + <script> + import java.util.jar.* + + def jar = new JarInputStream(new FileInputStream(project.properties['webapp'])) + def expected = new HashSet() + def entry + while(entry = jar.nextJarEntry) { + expected.add(entry.name) + } + jar.close() + + jar = new JarInputStream(new FileInputStream(new File(project.build.directory, "axis2-" + project.version + "/dist/axis2.war"))) + while(entry = jar.nextJarEntry) { + if (!expected.remove(entry.name)) { + throw new Error("Unexpected entry in Web app: " + entry.name) + } + } + if (!expected.empty) { + throw new Error("Missing entries in Web app: " + expected) + } + jar.close() + </script> + </scripts> </configuration> </execution> </executions> @@ -344,6 +413,7 @@ </goals> <configuration> <outputDirectory>${project.build.directory}/tmp-repository</outputDirectory> + <stripServiceVersion>false</stripServiceVersion> <generateFileLists>true</generateFileLists> </configuration> </execution> @@ -371,6 +441,27 @@ </executions> </plugin> + <!-- Always remove files from a previous run of the integration tests. --> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <executions> + <execution> + <id>clean-test-files</id> + <phase>pre-integration-test</phase> + <goals> + <goal>clean</goal> + </goals> + <configuration> + <excludeDefaultDirectories>true</excludeDefaultDirectories> + <filesets> + <fileset> + <directory>${project.build.directory}/axis2-${project.version}</directory> + </fileset> + </filesets> + </configuration> + </execution> + </executions> + </plugin> <!-- Prepare some additional dependencies required by specific samples. We could also do this by invoking the relevant download.jars targets in the provided ant scripts, but this may cause issues with HTTP proxies and has the disadvantage @@ -393,11 +484,6 @@ <version>1.0.4</version> </artifactItem> <artifactItem> - <groupId>net.java.dev.stax-utils</groupId> - <artifactId>stax-utils</artifactId> - <version>20060502</version> - </artifactItem> - <artifactItem> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> @@ -423,15 +509,18 @@ <tasks> <unzip src="${project.build.directory}/axis2-${project.version}-bin.zip" dest="${project.build.directory}" /> + <!-- Build the web app --> + <ant dir="${project.build.directory}/axis2-${project.version}/webapp" useNativeBasedir="true" /> + <!-- Test of the databinding sample --> - <ant dir="${project.build.directory}/axis2-${project.version}/samples/databinding"/> + <ant dir="${project.build.directory}/axis2-${project.version}/samples/databinding" /> <!-- Test of the mtom sample --> - <ant dir="${project.build.directory}/axis2-${project.version}/samples/mtom" target="generate.service"/> - <ant dir="${project.build.directory}/axis2-${project.version}/samples/mtom" target="generate.client"/> + <ant dir="${project.build.directory}/axis2-${project.version}/samples/mtom" target="generate.service" /> + <ant dir="${project.build.directory}/axis2-${project.version}/samples/mtom" target="generate.client" /> <!-- Test of the faulthandling sample --> - <ant dir="${project.build.directory}/axis2-${project.version}/samples/faulthandling" target="generate.service"/> + <ant dir="${project.build.directory}/axis2-${project.version}/samples/faulthandling" target="generate.service" /> </tasks> </configuration> </execution> @@ -439,7 +528,6 @@ </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> - <version>1.5</version> <executions> <execution> <id>build-maven-samples</id> @@ -450,7 +538,7 @@ <configuration> <projectsDirectory>${project.build.directory}/axis2-${project.version}/samples</projectsDirectory> <pomIncludes> - <pomInclude>*/pom.xml</pomInclude> + <pomInclude>pom.xml</pomInclude> </pomIncludes> <streamLogs>true</streamLogs> </configuration> @@ -478,10 +566,15 @@ <build> <plugins> <plugin> - <artifactId>maven-install-plugin</artifactId> - <configuration> - <createChecksum>true</createChecksum> - </configuration> + <groupId>net.nicoulaj.maven.plugins</groupId> + <artifactId>checksum-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>artifacts</goal> + </goals> + </execution> + </executions> </plugin> </plugins> </build>
Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/bin-assembly.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/bin-assembly.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/bin-assembly.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/bin-assembly.xml Sun Dec 17 22:34:08 2017 @@ -114,7 +114,6 @@ <include>LICENSE.txt</include> <include>NOTICE.txt</include> <include>README.txt</include> - <include>release-notes.html</include> </includes> <filtered>true</filtered> </fileSet> @@ -124,6 +123,7 @@ <directory>../../modules/samples</directory> <outputDirectory>samples</outputDirectory> <includes> + <include>pom.xml</include> <include>databinding/**/*</include> <include>faulthandling/**/*</include> <include>jaxws-calculator/**/*</include> @@ -145,6 +145,7 @@ <include>quickstartxmlbeans/**/*</include> <include>servicelifecycle/**/*</include> <include>soapwithattachments/**/*</include> + <include>transport/**/*</include> <include>userguide/**/*</include> <include>version/**/*</include> <include>wsdl/**/*</include> @@ -158,16 +159,24 @@ </fileSet> </fileSets> + <files> + <file> + <source>../../src/site/markdown/release-notes/${release_version}.md</source> + <destName>RELEASE-NOTE.txt</destName> + </file> + </files> + <dependencySets> <dependencySet> <useProjectArtifact>false</useProjectArtifact> <outputDirectory>lib</outputDirectory> + <!-- Use artifact.baseVersion instead of artifact.version to avoid inconsistency with + the Web app built by Maven. This only affects snapshot builds. --> + <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping> <includes> <include>*:*:jar</include> </includes> <excludes> - <exclude>org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar</exclude> - <exclude>org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar</exclude> <exclude>org.springframework:spring-beans:jar</exclude> <exclude>org.springframework:spring-context:jar</exclude> <exclude>org.springframework:spring-core:jar</exclude> @@ -207,7 +216,14 @@ <outputDirectory>webapp</outputDirectory> <unpackOptions> <includes> + <include>org/apache/axis2/soapmonitor/applet/**/*</include> <include>WEB-INF/classes/**/*</include> + <include>WEB-INF/include/**/*</include> + <include>WEB-INF/lib/taglibs-standard-impl-*.jar</include> + <include>WEB-INF/lib/taglibs-standard-spec-*.jar</include> + <include>WEB-INF/lib/axis2-soapmonitor-servlet-*.jar</include> + <include>WEB-INF/tags/**/*</include> + <include>WEB-INF/views/**/*</include> <include>WEB-INF/web.xml</include> <include>axis2-web/**/*</include> </includes> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/src-assembly.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/src-assembly.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/src-assembly.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/src-assembly.xml Sun Dec 17 22:34:08 2017 @@ -34,7 +34,6 @@ <include>NOTICE.txt</include> <include>LICENSE.txt</include> <include>README.txt</include> - <include>release-notes.html</include> </includes> <filtered>true</filtered> </fileSet> @@ -42,20 +41,7 @@ <directory>../..</directory> <outputDirectory></outputDirectory> <useDefaultExcludes>true</useDefaultExcludes> - <includes> - <include>pom.xml</include> - <include>etc/**</include> - <include>modules/**</include> - <include>legal/**</include> - <include>release-docs/**</include> - <include>src/**</include> - </includes> - <excludes> - <!-- Exclude sources for modules that are not part of the build --> - <exclude>modules/all/**</exclude> - <exclude>modules/rmi/**</exclude> - <!-- For PDE support, we need to generate some files outside of the target directory. They are removed during the clean phase, but we also need to exclude them here. --> @@ -69,11 +55,6 @@ <exclude>modules/tool/axis2-wsdl2code-maven-plugin/src/test/test1/target/**</exclude> <exclude>modules/tool/axis2-java2wsdl-maven-plugin/src/test/test1/target/**</exclude> - <!-- TODO: not sure what those are for --> - <exclude>../../modules/samples/eventing/**</exclude> - <exclude>../../modules/samples/security/**</exclude> - <exclude>xdocs/**</exclude> - <!-- Exclusions from org.apache.resources:apache-source-release-assembly-descriptor. Note that they assume that all sources are located under an "src" directory. This is not the case for Axis2, which doesn't use the standard Maven 2 conventions. @@ -113,4 +94,11 @@ <filtered>true</filtered> </fileSet> </fileSets> + + <files> + <file> + <source>../../src/site/markdown/release-notes/${release_version}.md</source> + <destName>RELEASE-NOTE.txt</destName> + </file> + </files> </assembly> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/war-assembly.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/war-assembly.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/war-assembly.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/distribution/src/main/assembly/war-assembly.xml Sun Dec 17 22:34:08 2017 @@ -40,9 +40,14 @@ <include>LICENSE.txt</include> <include>NOTICE.txt</include> <include>README.txt</include> - <include>release-notes.html</include> </includes> <filtered>true</filtered> </fileSet> </fileSets> + <files> + <file> + <source>../../src/site/markdown/release-notes/${release_version}.md</source> + <destName>RELEASE-NOTE.txt</destName> + </file> + </files> </assembly> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/pom.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/pom.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/pom.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/pom.xml Sun Dec 17 22:34:08 2017 @@ -23,9 +23,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.axis2</groupId> - <artifactId>axis2-parent</artifactId> - <version>1.7.0-SNAPSHOT</version> - <relativePath>../parent/pom.xml</relativePath> + <artifactId>axis2</artifactId> + <version>1.8.0-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> </parent> <artifactId>axis2-fastinfoset</artifactId> <name>Apache Axis2 - Fast Infoset</name> @@ -54,10 +54,6 @@ <artifactId>commons-logging</artifactId> </dependency> <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - </dependency> - <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </dependency> @@ -69,24 +65,13 @@ <groupId>org.apache.axis2</groupId> <artifactId>axis2-java2wsdl</artifactId> <version>${project.version}</version> + <scope>test</scope> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb-codegen</artifactId> <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-codegen</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpcore</artifactId> - </dependency> - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>org.apache.neethi</groupId> @@ -105,8 +90,8 @@ <scope>test</scope> </dependency> <dependency> - <groupId>xmlunit</groupId> - <artifactId>xmlunit</artifactId> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-truth</artifactId> <scope>test</scope> </dependency> </dependencies> @@ -170,14 +155,6 @@ </executions> </plugin> <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - <plugin> <groupId>org.apache.axis2</groupId> <artifactId>axis2-repo-maven-plugin</artifactId> <executions> @@ -200,9 +177,6 @@ <phase>generate-test-sources</phase> <configuration> <tasks unless="maven.test.skip"> - <!-- Set a property that can be picked up from the ant build.xml's --> - <property name="maven.class.path" refid="maven.runtime.classpath" /> - <property name="maven.test.path" refid="maven.compile.classpath" /> <mkdir dir="target/test-classes" /> <property name="axis2.home" value="${basedir}/target" /> @@ -224,7 +198,7 @@ <echo>Generating the WSDL</echo> <java classname="org.apache.ws.java2wsdl.Java2WSDL" fork="true"> <classpath> - <path refid="maven.dependency.classpath" /> + <path refid="maven.test.classpath" /> <pathelement location="target/test-classes" /> </classpath> <arg line="-o target/test-classes -of SimpleAddService.wsdl -efd unqualified -cn org.apache.axis2.fastinfoset.SimpleAddService" /> @@ -234,7 +208,7 @@ <mkdir dir="${wsdl.output.base.dir}/simpleAddService" /> <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> - <classpath refid="maven.runtime.classpath" /> + <classpath refid="maven.test.classpath" /> <classpath location="${compiled.classes.dir}" /> <arg line="-uri target/test-classes/SimpleAddService.wsdl -o target/wsdl/simpleAddService -S . -or" /> </java> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetBuilder.java Sun Dec 17 22:34:08 2017 @@ -21,41 +21,40 @@ package org.apache.axis2.fastinfoset; import com.sun.xml.fastinfoset.stax.StAXDocumentParser; import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder; +import org.apache.axiom.om.OMXMLBuilderFactory; +import org.apache.axiom.soap.SOAPModelBuilder; import org.apache.axis2.AxisFault; +import org.apache.axis2.Constants; import org.apache.axis2.builder.Builder; import org.apache.axis2.context.MessageContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.xml.stream.XMLStreamReader; import java.io.InputStream; public class FastInfosetBuilder implements Builder { - private static Log logger = LogFactory.getLog(FastInfosetBuilder.class); - - /** - * Returns a OMElement handler to the document element of the Fast Infoset message. - * - * @param inputStream InputStream to the message - * @param contentType Content type of the message - * @param messageContext MessageContext to be used - * - * @return OMElement handler to the document element - * - * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext) - */ - public OMElement processDocument(InputStream inputStream, String contentType, - MessageContext messageContext) throws AxisFault { - if (logger.isDebugEnabled()) { - logger.debug("Processing a Document with the content type: " + contentType); - } - //Create a instance of the StAX Parser which can handle the fast infoset stream - XMLStreamReader streamReader = new StAXDocumentParser(inputStream); - StAXBuilder builder = new StAXSOAPModelBuilder(streamReader); - - return builder.getDocumentElement(); - } + private static Log logger = LogFactory.getLog(FastInfosetBuilder.class); + + /** + * Returns a OMElement handler to the document element of the Fast Infoset message. + * + * @param inputStream InputStream to the message + * @param contentType Content type of the message + * @param messageContext MessageContext to be used + * + * @return OMElement handler to the document element + * + * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext) + */ + public OMElement processDocument(InputStream inputStream, String contentType, + MessageContext messageContext) throws AxisFault { + if (logger.isDebugEnabled()) { + logger.debug("Processing a Document with the content type: " + contentType); + } + //Create a instance of the StAX Parser which can handle the fast infoset stream + SOAPModelBuilder builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(new StAXDocumentParser(inputStream)); + messageContext.setProperty(Constants.BUILDER, builder); + return builder.getDocumentElement(); + } } Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetMessageFormatter.java Sun Dec 17 22:34:08 2017 @@ -39,133 +39,135 @@ import java.util.Iterator; public class FastInfosetMessageFormatter implements MessageFormatter { - private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class); - - /** - * Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing. - * - * @see org.apache.axis2.transport.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) - */ - public String formatSOAPAction(MessageContext messageContext, - OMOutputFormat format, String soapAction) { - - return null; - } - - /** - * Retrieves the raw bytes from the SOAP envelop. - * - * @see org.apache.axis2.transport.MessageFormatter#getBytes(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat) - */ - public byte[] getBytes(MessageContext messageContext, OMOutputFormat format) - throws AxisFault { - OMElement element = messageContext.getEnvelope(); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - - try { - //Creates StAX document serializer which actually implements the XMLStreamWriter - XMLStreamWriter streamWriter = new StAXDocumentSerializer(outStream); - element.serializeAndConsume(streamWriter); - //TODO Looks like the SOAP envelop doesn't have an end document tag. Find out why? - streamWriter.writeEndDocument(); - - return outStream.toByteArray(); - - } catch (XMLStreamException xmlse) { - logger.error(xmlse.getMessage()); - throw new AxisFault(xmlse.getMessage(), xmlse); - } - } - - /** - * Returns the content type - * - * @see org.apache.axis2.transport.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) - */ - public String getContentType(MessageContext messageContext, - OMOutputFormat format, String soapAction) { - String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE); - String encoding = format.getCharSetEncoding(); - - //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type" - if (contentType == null) { - contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE); - } - - if (encoding != null) { - contentType += "; charset=" + encoding; - } - - return contentType; - } - - /** - * Returns the target address to send the response - * FIXME This is very HTTP specific. What about other transport? - * - * @see org.apache.axis2.transport.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL) - */ - public URL getTargetAddress(MessageContext messageContext, - OMOutputFormat format, URL targetURL) throws AxisFault { + private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class); + + /** + * Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing. + * + * @see org.apache.axis2.transport.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) + */ + public String formatSOAPAction(MessageContext messageContext, + OMOutputFormat format, String soapAction) { + + return null; + } + + /** + * Retrieves the raw bytes from the SOAP envelop. + * + * @see org.apache.axis2.transport.MessageFormatter#getBytes(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat) + */ + public byte[] getBytes(MessageContext messageContext, OMOutputFormat format) + throws AxisFault { + OMElement element = messageContext.getEnvelope(); + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + + try { + //Creates StAX document serializer which actually implements the XMLStreamWriter + XMLStreamWriter streamWriter = new StAXDocumentSerializer(outStream); + streamWriter.writeStartDocument(); + element.serializeAndConsume(streamWriter); + //TODO Looks like the SOAP envelop doesn't have an end document tag. Find out why? + streamWriter.writeEndDocument(); + + return outStream.toByteArray(); + + } catch (XMLStreamException xmlse) { + logger.error(xmlse.getMessage()); + throw new AxisFault(xmlse.getMessage(), xmlse); + } + } + + /** + * Returns the content type + * + * @see org.apache.axis2.transport.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) + */ + public String getContentType(MessageContext messageContext, + OMOutputFormat format, String soapAction) { + String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE); + String encoding = format.getCharSetEncoding(); + + //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type" + if (contentType == null) { + contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE); + } + + if (encoding != null) { + contentType += "; charset=" + encoding; + } + + return contentType; + } + + /** + * Returns the target address to send the response + * FIXME This is very HTTP specific. What about other transport? + * + * @see org.apache.axis2.transport.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL) + */ + public URL getTargetAddress(MessageContext messageContext, + OMOutputFormat format, URL targetURL) throws AxisFault { String httpMethod = (String) messageContext.getProperty(Constants.Configuration.HTTP_METHOD); URL targetAddress = targetURL; //Let's initialize to this - //if the http method is GET, parameters are attached to the target URL - if ((httpMethod != null) - && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) { - String param = getParam(messageContext); - - if (param.length() > 0) { - String returnURLFile = targetURL.getFile() + "?" + param; - try { - targetAddress = - new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile); - } catch (MalformedURLException murle) { - logger.error(murle.getMessage()); - throw new AxisFault(murle.getMessage(), murle); - } - } - } - - return targetAddress; - } - - /** - * Write the SOAP envelop to the given OutputStream. - * - * @see org.apache.axis2.transport.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean) - */ - public void writeTo(MessageContext messageContext, OMOutputFormat format, - OutputStream outputStream, boolean preserve) throws AxisFault { + //if the http method is GET, parameters are attached to the target URL + if ((httpMethod != null) + && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) { + String param = getParam(messageContext); + + if (param.length() > 0) { + String returnURLFile = targetURL.getFile() + "?" + param; + try { + targetAddress = + new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile); + } catch (MalformedURLException murle) { + logger.error(murle.getMessage()); + throw new AxisFault(murle.getMessage(), murle); + } + } + } + + return targetAddress; + } + + /** + * Write the SOAP envelop to the given OutputStream. + * + * @see org.apache.axis2.transport.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean) + */ + public void writeTo(MessageContext messageContext, OMOutputFormat format, + OutputStream outputStream, boolean preserve) throws AxisFault { OMElement element = messageContext.getEnvelope(); - - try { - //Create the StAX document serializer - XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream); - if (preserve) { - element.serialize(streamWriter); - } else { - element.serializeAndConsume(streamWriter); - } -// TODO Looks like the SOAP envelop doesn't have a end document tag. Find out why? - streamWriter.writeEndDocument(); - } catch (XMLStreamException xmlse) { - logger.error(xmlse.getMessage()); - throw new AxisFault(xmlse.getMessage(), xmlse); - } - } - - /** - * Construct URL parameters like, "param1=value1¶m2=value2" - * FIXME This is very HTTP specific. What about other transports - * - * @param messageContext - * @return Formatted URL parameters - */ + + try { + //Create the StAX document serializer + XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream); + streamWriter.writeStartDocument(); + if (preserve) { + element.serialize(streamWriter); + } else { + element.serializeAndConsume(streamWriter); + } +// TODO Looks like the SOAP envelop doesn't have a end document tag. Find out why? + streamWriter.writeEndDocument(); + } catch (XMLStreamException xmlse) { + logger.error(xmlse.getMessage()); + throw new AxisFault(xmlse.getMessage(), xmlse); + } + } + + /** + * Construct URL parameters like, "param1=value1¶m2=value2" + * FIXME This is very HTTP specific. What about other transports + * + * @param messageContext + * @return Formatted URL parameters + */ private String getParam(MessageContext messageContext) { - OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement(); + OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement(); Iterator it = dataOut.getChildElements(); StringBuffer paramBuffer = new StringBuffer(); Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXBuilder.java Sun Dec 17 22:34:08 2017 @@ -21,41 +21,40 @@ package org.apache.axis2.fastinfoset; import com.sun.xml.fastinfoset.stax.StAXDocumentParser; import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; +import org.apache.axiom.om.OMXMLBuilderFactory; +import org.apache.axiom.om.OMXMLParserWrapper; import org.apache.axis2.AxisFault; +import org.apache.axis2.Constants; import org.apache.axis2.builder.Builder; import org.apache.axis2.context.MessageContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.xml.stream.XMLStreamReader; import java.io.InputStream; public class FastInfosetPOXBuilder implements Builder { - private static Log logger = LogFactory.getLog(FastInfosetBuilder.class); - - /** - * Returns a OMElement handler to the document element of the Fast Infoset message. - * - * @param inputStream InputStream to the message - * @param contentType Content type of the message - * @param messageContext MessageContext to be used - * - * @return OMElement handler to the document element - * - * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext) - */ - public OMElement processDocument(InputStream inputStream, String contentType, - MessageContext messageContext) throws AxisFault { - if (logger.isDebugEnabled()) { - logger.debug("Processing a Document with the content type: " + contentType); - } - //Create a instance of the StAX Parser which can handle the fast infoset stream - XMLStreamReader streamReader = new StAXDocumentParser(inputStream); - StAXBuilder builder = new StAXOMBuilder(streamReader); - - return builder.getDocumentElement(); - } + private static Log logger = LogFactory.getLog(FastInfosetBuilder.class); + + /** + * Returns a OMElement handler to the document element of the Fast Infoset message. + * + * @param inputStream InputStream to the message + * @param contentType Content type of the message + * @param messageContext MessageContext to be used + * + * @return OMElement handler to the document element + * + * @see org.apache.axis2.builder.Builder#processDocument(InputStream, String, MessageContext) + */ + public OMElement processDocument(InputStream inputStream, String contentType, + MessageContext messageContext) throws AxisFault { + if (logger.isDebugEnabled()) { + logger.debug("Processing a Document with the content type: " + contentType); + } + //Create a instance of the StAX Parser which can handle the fast infoset stream + OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(new StAXDocumentParser(inputStream)); + messageContext.setProperty(Constants.BUILDER, builder); + return builder.getDocumentElement(); + } } Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/src/org/apache/axis2/fastinfoset/FastInfosetPOXMessageFormatter.java Sun Dec 17 22:34:08 2017 @@ -39,137 +39,137 @@ import java.util.Iterator; public class FastInfosetPOXMessageFormatter implements MessageFormatter { - private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class); - - /** - * Plain Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing. - * - * @see org.apache.axis2.transport.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) - */ - public String formatSOAPAction(MessageContext messageContext, - OMOutputFormat format, String soapAction) { - - return null; - } - - /** - * Retrieves the raw bytes from the SOAP envelop. - * - * @see org.apache.axis2.transport.MessageFormatter#getBytes(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat) - */ - public byte[] getBytes(MessageContext messageContext, OMOutputFormat format) - throws AxisFault { - //For POX drop the SOAP envelope and use the message body - OMElement element = messageContext.getEnvelope().getBody().getFirstElement(); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - - try { - //Creates StAX document serializer which actually implements the XMLStreamWriter - XMLStreamWriter streamWriter = new StAXDocumentSerializer(outStream); - //Since we drop the SOAP envelop we have to manually write the start document and the end document events - streamWriter.writeStartDocument(); - element.serializeAndConsume(streamWriter); - streamWriter.writeEndDocument(); - - return outStream.toByteArray(); - - } catch (XMLStreamException xmlse) { - logger.error(xmlse.getMessage()); - throw new AxisFault(xmlse.getMessage(), xmlse); - } - } - - /** - * Returns the content type - * - * @see org.apache.axis2.transport.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) - */ - public String getContentType(MessageContext messageContext, - OMOutputFormat format, String soapAction) { - String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE); - String encoding = format.getCharSetEncoding(); - - //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type" - if (contentType == null) { - contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE); - } - - if (encoding != null) { - contentType += "; charset=" + encoding; - } - - return contentType; - } - - /** - * Returns the target address to send the response - * FIXME This is very HTTP specific. What about other transport? - * - * @see org.apache.axis2.transport.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL) - */ - public URL getTargetAddress(MessageContext messageContext, - OMOutputFormat format, URL targetURL) throws AxisFault { + private static Log logger = LogFactory.getLog(FastInfosetMessageFormatter.class); + + /** + * Plain Fast Infoset message formatter doesn't need to handle SOAP. Hence do nothing. + * + * @see org.apache.axis2.transport.MessageFormatter#formatSOAPAction(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) + */ + public String formatSOAPAction(MessageContext messageContext, + OMOutputFormat format, String soapAction) { + + return null; + } + + /** + * Retrieves the raw bytes from the SOAP envelop. + * + * @see org.apache.axis2.transport.MessageFormatter#getBytes(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat) + */ + public byte[] getBytes(MessageContext messageContext, OMOutputFormat format) + throws AxisFault { + //For POX drop the SOAP envelope and use the message body + OMElement element = messageContext.getEnvelope().getBody().getFirstElement(); + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + + try { + //Creates StAX document serializer which actually implements the XMLStreamWriter + XMLStreamWriter streamWriter = new StAXDocumentSerializer(outStream); + //Since we drop the SOAP envelop we have to manually write the start document and the end document events + streamWriter.writeStartDocument(); + element.serializeAndConsume(streamWriter); + streamWriter.writeEndDocument(); + + return outStream.toByteArray(); + + } catch (XMLStreamException xmlse) { + logger.error(xmlse.getMessage()); + throw new AxisFault(xmlse.getMessage(), xmlse); + } + } + + /** + * Returns the content type + * + * @see org.apache.axis2.transport.MessageFormatter#getContentType(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.lang.String) + */ + public String getContentType(MessageContext messageContext, + OMOutputFormat format, String soapAction) { + String contentType = (String) messageContext.getProperty(Constants.Configuration.CONTENT_TYPE); + String encoding = format.getCharSetEncoding(); + + //If the Content Type is not available with the property "Content Type" retrieve it from the property "Message Type" + if (contentType == null) { + contentType = (String) messageContext.getProperty(Constants.Configuration.MESSAGE_TYPE); + } + + if (encoding != null) { + contentType += "; charset=" + encoding; + } + + return contentType; + } + + /** + * Returns the target address to send the response + * FIXME This is very HTTP specific. What about other transport? + * + * @see org.apache.axis2.transport.MessageFormatter#getTargetAddress(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.net.URL) + */ + public URL getTargetAddress(MessageContext messageContext, + OMOutputFormat format, URL targetURL) throws AxisFault { String httpMethod = (String) messageContext.getProperty(Constants.Configuration.HTTP_METHOD); URL targetAddress = targetURL; //Let's initialize to this - //if the http method is GET, parameters are attached to the target URL - if ((httpMethod != null) - && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) { - String param = getParam(messageContext); - - if (param.length() > 0) { - String returnURLFile = targetURL.getFile() + "?" + param; - try { - targetAddress = - new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile); - } catch (MalformedURLException murle) { - logger.error(murle.getMessage()); - throw new AxisFault(murle.getMessage(), murle); - } - } - } - - return targetAddress; - } - - /** - * Write the SOAP envelop to the given OutputStream. - * - * @see org.apache.axis2.transport.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean) - */ - public void writeTo(MessageContext messageContext, OMOutputFormat format, - OutputStream outputStream, boolean preserve) throws AxisFault { - //For POX drop the SOAP envelope and use the message body - OMElement element = messageContext.getEnvelope().getBody().getFirstElement(); - - try { - //Create the StAX document serializer - XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream); - //Since we drop the SOAP envelop we have to manually write the start document and the end document events - streamWriter.writeStartDocument(); - if (preserve) { - element.serialize(streamWriter); - } else { - element.serializeAndConsume(streamWriter); - } - streamWriter.writeEndDocument(); - } catch (XMLStreamException xmlse) { - logger.error(xmlse.getMessage()); - throw new AxisFault(xmlse.getMessage(), xmlse); - } - } - - /** - * Construct URL parameters like, "param1=value1¶m2=value2" - * FIXME This is very HTTP specific. What about other transports - * - * @param messageContext - * @return Formatted URL parameters - */ + //if the http method is GET, parameters are attached to the target URL + if ((httpMethod != null) + && Constants.Configuration.HTTP_METHOD_GET.equalsIgnoreCase(httpMethod)) { + String param = getParam(messageContext); + + if (param.length() > 0) { + String returnURLFile = targetURL.getFile() + "?" + param; + try { + targetAddress = + new URL(targetURL.getProtocol(), targetURL.getHost(), targetURL.getPort(), returnURLFile); + } catch (MalformedURLException murle) { + logger.error(murle.getMessage()); + throw new AxisFault(murle.getMessage(), murle); + } + } + } + + return targetAddress; + } + + /** + * Write the SOAP envelop to the given OutputStream. + * + * @see org.apache.axis2.transport.MessageFormatter#writeTo(org.apache.axis2.context.MessageContext, org.apache.axiom.om.OMOutputFormat, java.io.OutputStream, boolean) + */ + public void writeTo(MessageContext messageContext, OMOutputFormat format, + OutputStream outputStream, boolean preserve) throws AxisFault { + //For POX drop the SOAP envelope and use the message body + OMElement element = messageContext.getEnvelope().getBody().getFirstElement(); + + try { + //Create the StAX document serializer + XMLStreamWriter streamWriter = new StAXDocumentSerializer(outputStream); + //Since we drop the SOAP envelop we have to manually write the start document and the end document events + streamWriter.writeStartDocument(); + if (preserve) { + element.serialize(streamWriter); + } else { + element.serializeAndConsume(streamWriter); + } + streamWriter.writeEndDocument(); + } catch (XMLStreamException xmlse) { + logger.error(xmlse.getMessage()); + throw new AxisFault(xmlse.getMessage(), xmlse); + } + } + + /** + * Construct URL parameters like, "param1=value1¶m2=value2" + * FIXME This is very HTTP specific. What about other transports + * + * @param messageContext + * @return Formatted URL parameters + */ private String getParam(MessageContext messageContext) { - OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement(); + OMElement dataOut = messageContext.getEnvelope().getBody().getFirstElement(); Iterator it = dataOut.getChildElements(); StringBuffer paramBuffer = new StringBuffer(); Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test-resources/axis2.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test-resources/axis2.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test-resources/axis2.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test-resources/axis2.xml Sun Dec 17 22:34:08 2017 @@ -164,7 +164,7 @@ <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> <transportSender name="http" - class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> @@ -173,7 +173,7 @@ </transportSender> <transportSender name="https" - class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> </transportSender> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/fastinfoset/test/org/apache/axis2/fastinfoset/FastInfosetInputOutputTest.java Sun Dec 17 22:34:08 2017 @@ -21,20 +21,24 @@ package org.apache.axis2.fastinfoset; import com.sun.xml.fastinfoset.stax.StAXDocumentParser; import com.sun.xml.fastinfoset.stax.StAXDocumentSerializer; + +import org.apache.axiom.blob.Blobs; +import org.apache.axiom.blob.MemoryBlob; import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.custommonkey.xmlunit.XMLTestCase; +import org.apache.axiom.om.OMXMLBuilderFactory; +import org.apache.axiom.om.OMXMLParserWrapper; +import org.junit.Test; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; -import java.io.File; + +import static com.google.common.truth.Truth.assertAbout; +import static org.apache.axiom.truth.xml.XMLTruth.xml; + import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.FileWriter; +import java.io.OutputStream; -public class FastInfosetInputOutputTest extends XMLTestCase { +public class FastInfosetInputOutputTest { /** * This is to test how fast infoset interoperate with Axiom. @@ -46,32 +50,27 @@ public class FastInfosetInputOutputTest * <p/> * Then the initial XML file and the last XML will be compared to see whether they are the same. */ + @Test public void testInputOutput() throws Exception { String inputFile = "pom.xml"; - File outputFile = new File("target/output.xml"); - File tempFile = new File("target/test.bin"); - try { - // first let's read the xml document in to Axiom - OMElement element = new StAXOMBuilder(inputFile).getDocumentElement(); - - // output it using binary xml outputter - XMLStreamWriter streamWriter = new StAXDocumentSerializer(new FileOutputStream(tempFile)); - streamWriter.writeStartDocument(); - element.serializeAndConsume(streamWriter); - streamWriter.writeEndDocument(); - - // now let's read the binary file in to Axiom - XMLStreamReader streamReader = new StAXDocumentParser(new FileInputStream(tempFile)); - StAXBuilder builder = new StAXOMBuilder(streamReader); - builder.getDocumentElement().serialize(new FileWriter(outputFile)); - - // let's see this is the same that we fed in to this test initially - assertXMLEqual(new FileReader(inputFile), new FileReader(outputFile)); - - } finally { - if (outputFile.exists()) outputFile.delete(); - if (tempFile.exists()) tempFile.delete(); - } + // first let's read the xml document in to Axiom + OMElement element = OMXMLBuilderFactory.createOMBuilder( + new FileInputStream(inputFile)).getDocumentElement(); + + // output it using binary xml outputter + MemoryBlob blob = Blobs.createMemoryBlob(); + OutputStream out = blob.getOutputStream(); + XMLStreamWriter streamWriter = new StAXDocumentSerializer(out); + streamWriter.writeStartDocument(); + element.serialize(streamWriter); + streamWriter.writeEndDocument(); + out.close(); + + // now let's read the binary file in to Axiom + XMLStreamReader streamReader = new StAXDocumentParser(blob.getInputStream()); + OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(streamReader); + + assertAbout(xml()).that(builder.getDocumentElement()).hasSameContentAs(element); } } Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/conf/axis2.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/conf/axis2.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/conf/axis2.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/conf/axis2.xml Sun Dec 17 22:34:08 2017 @@ -144,12 +144,12 @@ <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> <transportSender name="http" - class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> </transportSender> <transportSender name="https" - class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> </transportSender> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/itest-build.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/itest-build.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/itest-build.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/itest-build.xml Sun Dec 17 22:34:08 2017 @@ -83,11 +83,6 @@ <ant antfile="itest-build.xml" inheritall="true" inheritrefs="true" dir="." target="rpc-wsdl-codegen" /> <ant antfile="itest-build.xml" inheritall="true" inheritrefs="true" dir="." target="wsdl20-codegen" /> - - <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/SOAP12Testing/SOAP12TestModuleB" /> - <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/SOAP12Testing/SOAP12TestModuleC" /> - <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/SOAP12Testing/SOAP12TestServiceB" /> - <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/SOAP12Testing/SOAP12TestServiceC" /> </target> <target name="rpc-wsdl-codegen"> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/pom.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/pom.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/pom.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/pom.xml Sun Dec 17 22:34:08 2017 @@ -23,9 +23,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache.axis2</groupId> - <artifactId>axis2-parent</artifactId> - <version>1.7.0-SNAPSHOT</version> - <relativePath>../parent/pom.xml</relativePath> + <artifactId>axis2</artifactId> + <version>1.8.0-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> </parent> <artifactId>axis2-integration</artifactId> <name>Apache Axis2 - Integration</name> @@ -47,10 +47,6 @@ <version>${project.version}</version> </dependency> <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.1_spec</artifactId> - </dependency> - <dependency> <groupId>org.apache.axis2</groupId> <artifactId>scripting</artifactId> <type>mar</type> @@ -78,16 +74,6 @@ </dependency> <dependency> <groupId>org.apache.axis2</groupId> - <version>${project.version}</version> - <artifactId>axis2-jaxws</artifactId> - </dependency> - <dependency> - <groupId>org.apache.axis2</groupId> - <version>${project.version}</version> - <artifactId>axis2-jaxws-integration</artifactId> - </dependency> - <dependency> - <groupId>org.apache.axis2</groupId> <artifactId>axis2-kernel</artifactId> <version>${project.version}</version> </dependency> @@ -129,7 +115,7 @@ </dependency> <dependency> <groupId>org.apache.woden</groupId> - <artifactId>woden-impl-dom</artifactId> + <artifactId>woden-core</artifactId> <version>${woden.version}</version> </dependency> <dependency> @@ -147,138 +133,40 @@ <artifactId>log4j</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>SOAP12TestModuleB</artifactId> + <version>${project.version}</version> + <type>mar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>SOAP12TestModuleC</artifactId> + <version>${project.version}</version> + <type>mar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>SOAP12TestServiceB</artifactId> + <version>${project.version}</version> + <type>aar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>SOAP12TestServiceC</artifactId> + <version>${project.version}</version> + <type>aar</type> + <scope>test</scope> + </dependency> </dependencies> - <profiles> - <profile> - <id>java15</id> - <activation> - <jdk>1.5</jdk> - </activation> - <build> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <!-- The pertest forkMode is not ideal but seems to be necessary - because the test server doesn't shut down properly :-( - Should be removed if possible --> - <forkMode>pertest</forkMode> - <argLine>-Xms256m -Xmx512m</argLine> - <!-- Enable the next 2 lines if you want to attach a debugger - <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>--> - <includes> - <include>**/*Test.java</include> - </includes> - <excludes> - <exclude>**/*Abstract*.java</exclude> - <exclude>**/*Util*.java</exclude> - <exclude>**/*InteropStubTest.java</exclude> - <exclude>**/*ServiceGroupContextTest.java</exclude> - <exclude>**/*EchoRawSwAFileInputTest.java</exclude> - <exclude>**org/apache/axis2/soap12testing/soap12testsuite/*.java</exclude> - <exclude>**/ScenarioST1Test.java</exclude> - <exclude>**/samples/wsdl/perf2/*.java</exclude> - </excludes> - <systemProperties> - <property> - <name>build.repository</name> - <value>./target/test-classes</value> - </property> - <!-- Prevent Mac OS X from showing an icon in the dock during the test run --> - <property> - <name>java.awt.headless</name> - <value>true</value> - </property> - </systemProperties> - </configuration> - </plugin> - </plugins> - </build> - </profile> - <profile> - <id>java16</id> - <activation> - <jdk>1.6</jdk> - </activation> - <build> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <!-- The pertest forkMode is not ideal but seems to be necessary - because the test server doesn't shut down properly :-( - Should be removed if possible --> - <forkMode>pertest</forkMode> - <argLine>-Xms256m -Xmx512m</argLine> - <!-- Enable the next 2 lines if you want to attach a debugger - <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>--> - <includes> - <include>**/*Test.java</include> - </includes> - <excludes> - <exclude>**/*Abstract*.java</exclude> - <exclude>**/*Util*.java</exclude> - <exclude>**/*InteropStubTest.java</exclude> - <exclude>**/*ServiceGroupContextTest.java</exclude> - <exclude>**/*EchoRawSwAFileInputTest.java</exclude> - <exclude>**org/apache/axis2/soap12testing/soap12testsuite/*.java</exclude> - <exclude>**/ScenarioST1Test.java</exclude> - <exclude>**/samples/wsdl/perf2/*.java</exclude> - <exclude>**/ComplexDataTypesDocLitBareTest.java</exclude> - <exclude>**/ComplexDataTypesTest.java</exclude> - </excludes> - <systemProperties> - <property> - <name>build.repository</name> - <value>./target/test-classes</value> - </property> - <!-- Prevent Mac OS X from showing an icon in the dock during the test run --> - <property> - <name>java.awt.headless</name> - <value>true</value> - </property> - </systemProperties> - </configuration> - </plugin> - </plugins> - </build> - </profile> - <profile> - <id>enterprise</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>gen-enterprise-ts</id> - <phase>generate-test-sources</phase> - <configuration> - <tasks unless="maven.test.skip"> - <!-- Set a property that can be picked up from the ant build.xml's --> - <property name="maven.class.path" refid="maven.runtime.classpath" /> - <echo>Building enterprise WSDLs...</echo> - <property name="axis2.home" value="${basedir}/target" /> - <property name="maven.junit.jvmargs" value="" /> - <path id="maven.dependency.classpath"> - <path refid="maven.compile.classpath" /> - </path> - <ant antfile="itest-build.xml" inheritall="true" inheritrefs="true" dir="." target="enterprise-wsdl-codegen" /> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> <url>http://axis.apache.org/axis2/java/core/</url> <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/integration</connection> @@ -327,8 +215,6 @@ <artifactId>maven-compiler-plugin</artifactId> <inherited>true</inherited> <configuration> - <source>1.5</source> - <target>1.5</target> <!-- There is a lot of generated code to compile; use fork mode to avoid out of memory issues: --> <fork>true</fork> @@ -501,7 +387,9 @@ <configuration> <outputDirectory>target/Repository</outputDirectory> <axis2xml>conf/axis2.xml</axis2xml> - <modules>addressing</modules> + <modules>addressing,SOAP12TestModuleB,SOAP12TestModuleC</modules> + <includeServices>true</includeServices> + <services>SOAP12TestServiceB,SOAP12TestServiceC</services> </configuration> </execution> <execution> @@ -616,6 +504,55 @@ </execution> </executions> </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <inherited>true</inherited> + <configuration> + <!-- The pertest forkMode is not ideal but seems to be necessary + because the test server doesn't shut down properly :-( + Should be removed if possible --> + <forkMode>pertest</forkMode> + <argLine>-Xms256m -Xmx512m</argLine> + <!-- Enable the next 2 lines if you want to attach a debugger + <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>--> + <includes> + <include>**/*Test.java</include> + </includes> + <excludes> + <exclude>**/*Abstract*.java</exclude> + <exclude>**/*Util*.java</exclude> + <exclude>**/*InteropStubTest.java</exclude> + <exclude>**/*ServiceGroupContextTest.java</exclude> + <exclude>**/*EchoRawSwAFileInputTest.java</exclude> + <exclude>**org/apache/axis2/soap12testing/soap12testsuite/*.java</exclude> + <exclude>**/ScenarioST1Test.java</exclude> + <exclude>**/samples/wsdl/perf2/*.java</exclude> + <exclude>**/ComplexDataTypesDocLitBareTest.java</exclude> + <exclude>**/ComplexDataTypesTest.java</exclude> + </excludes> + <systemProperties> + <property> + <name>build.repository</name> + <value>./target/test-classes</value> + </property> + <!-- Prevent Mac OS X from showing an icon in the dock during the test run --> + <property> + <name>java.awt.headless</name> + <value>true</value> + </property> + <property> + <name>org.apache.axis2.transport.http.server.fastShutdown</name> + <value>true</value> + </property> + </systemProperties> + </configuration> + </plugin> + <plugin> + <artifactId>maven-deploy-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> </plugins> </build> </project> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-enabled-axis2.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-enabled-axis2.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-enabled-axis2.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-enabled-axis2.xml Sun Dec 17 22:34:08 2017 @@ -63,7 +63,7 @@ <!-- Transport Outs --> <!-- ================================================= --> - <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <transportSender name="http" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> </transportSender> <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-fileCache-enabled-axis2.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-fileCache-enabled-axis2.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-fileCache-enabled-axis2.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/SwA-fileCache-enabled-axis2.xml Sun Dec 17 22:34:08 2017 @@ -65,7 +65,7 @@ <!-- Transport Outs --> <!-- ================================================= --> - <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <transportSender name="http" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> </transportSender> <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/deployment.both.axis2.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/deployment.both.axis2.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/deployment.both.axis2.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/deployment.both.axis2.xml Sun Dec 17 22:34:08 2017 @@ -54,10 +54,10 @@ <!-- ================================================= --> <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/> - <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <transportSender name="http" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.0</parameter> </transportSender> - <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <transportSender name="https" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> </transportSender> Modified: axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/server-transport.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/server-transport.xml?rev=1818518&r1=1818517&r2=1818518&view=diff ============================================================================== --- axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/server-transport.xml (original) +++ axis/axis2/java/core/branches/AXIS2-4091/modules/integration/test-resources/deployment/server-transport.xml Sun Dec 17 22:34:08 2017 @@ -19,7 +19,7 @@ <axisconfig name="AxisJava2.0"> <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> - <transportSender name="custom" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> + <transportSender name="custom" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender"> <parameter name="PROTOCOL">HTTP/1.0</parameter> </transportSender>
