You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2011/12/11 11:11:31 UTC
svn commit: r1212986 -
/webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml
Author: veithen
Date: Sun Dec 11 10:11:31 2011
New Revision: 1212986
URL: http://svn.apache.org/viewvc?rev=1212986&view=rev
Log:
Added instructions for importing the Axiom source code into Eclipse.
Modified:
webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml
Modified: webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml?rev=1212986&r1=1212985&r2=1212986&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml (original)
+++ webservices/commons/trunk/modules/axiom/src/docbkx/devguide.xml Sun Dec 11 10:11:31 2011
@@ -45,115 +45,126 @@
<toc/>
<chapter>
- <title>Testing</title>
+ <title>Working with the Axiom source code</title>
<section>
- <title>Unit test organization</title>
+ <title>Importing the Axiom source code into Eclipse</title>
<para>
- Historically, all unit tests were placed in the <filename>axiom-tests</filename> project.
- One specific problem with this is that since all tests are in a common Maven module
- which depends on both <filename>axiom-impl</filename> and <filename>axiom-dom</filename>,
- it is not rare to see DOOM tests that accidentally use the LLOM implementation (which is the default).
- The project description in <filename>axiom-tests/pom.xml</filename> indicates that it
- was the intention to split the <filename>axiom-tests</filename> project into several parts
- and make them part of <filename>axiom-api</filename>, <filename>axiom-impl</filename> and
- <filename>axiom-dom</filename>. This reorganization is not complete
- yet<footnote><para>See <ulink url="https://issues.apache.org/jira/browse/WSCOMMONS-419">WSCOMMONS-419</ulink>.</para></footnote>.
- For new test cases (or when refactoring existing tests), the following guidelines should be applied:
+ In order to import the Axiom source code into Eclipse with the Maven Eclipse plugin, use the following
+ command:
</para>
- <orderedlist>
- <listitem>
- <para>
- Tests that validate the code in <filename>axiom-api</filename> and that do not require
- an Axiom implementation to execute should be placed in <filename>axiom-api</filename>.
- This primarily applies to tests that validate utility classes in <filename>axiom-api</filename>.
- </para>
- </listitem>
- <listitem id="test.category.api">
- <para>
- The code of unit tests that apply to all Axiom implementations and that check conformance
- to the specifications of the Axiom API should be added
- to <filename>axiom-api</filename> and executed in <filename>axiom-impl</filename> and
- <filename>axiom-dom</filename>. Currently, the recommended way is to create a
- base class in <filename>axiom-api</filename> (with suffix <classname>TestBase</classname>) and
- to create subclasses in <filename>axiom-impl</filename> and <filename>axiom-dom</filename>.
- This makes sure that the DOOM tests never accidentally use LLOM (because
- <filename>axiom-impl</filename> is not a dependency of <filename>axiom-dom</filename>).
- </para>
- </listitem>
- <listitem>
- <para>
- Tests that check integration with other libraries should be placed in
- <filename>axiom-integration</filename>. Note that this is the only module that requires
- Java 1.5 (so that e.g. integration with JAXB2 can be tested).
- </para>
- </listitem>
- <listitem>
- <para>
- Tests related to code in <filename>axiom-api</filename> and requiring an Axiom
- implementation to execute, but that don't fall into category <xref linkend="test.category.api"/>
- should stay in <filename>axiom-tests</filename>.
- </para>
- </listitem>
- </orderedlist>
+ <screen>mvn -DskipTests=true -DdownloadSources=true install eclipse:eclipse</screen>
</section>
<section>
- <title>Testing Axiom with different StAX implementations</title>
- <para>
- The following StAX implementations are available to test compatibility with Axiom:
- </para>
- <variablelist>
- <varlistentry>
- <term>Woodstox</term>
+ <title>Testing</title>
+ <section>
+ <title>Unit test organization</title>
+ <para>
+ Historically, all unit tests were placed in the <filename>axiom-tests</filename> project.
+ One specific problem with this is that since all tests are in a common Maven module
+ which depends on both <filename>axiom-impl</filename> and <filename>axiom-dom</filename>,
+ it is not rare to see DOOM tests that accidentally use the LLOM implementation (which is the default).
+ The project description in <filename>axiom-tests/pom.xml</filename> indicates that it
+ was the intention to split the <filename>axiom-tests</filename> project into several parts
+ and make them part of <filename>axiom-api</filename>, <filename>axiom-impl</filename> and
+ <filename>axiom-dom</filename>. This reorganization is not complete
+ yet<footnote><para>See <ulink url="https://issues.apache.org/jira/browse/WSCOMMONS-419">WSCOMMONS-419</ulink>.</para></footnote>.
+ For new test cases (or when refactoring existing tests), the following guidelines should be applied:
+ </para>
+ <orderedlist>
<listitem>
<para>
- This is the StAX implementation that Axiom uses by default.
+ Tests that validate the code in <filename>axiom-api</filename> and that do not require
+ an Axiom implementation to execute should be placed in <filename>axiom-api</filename>.
+ This primarily applies to tests that validate utility classes in <filename>axiom-api</filename>.
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term>Sun Java Streaming XML Parser (SJSXP)</term>
- <listitem>
+ <listitem id="test.category.api">
<para>
- This implementation is available as Maven artifact <literal>com.sun.xml.stream:sjsxp:1.0.1</literal>.
+ The code of unit tests that apply to all Axiom implementations and that check conformance
+ to the specifications of the Axiom API should be added
+ to <filename>axiom-api</filename> and executed in <filename>axiom-impl</filename> and
+ <filename>axiom-dom</filename>. Currently, the recommended way is to create a
+ base class in <filename>axiom-api</filename> (with suffix <classname>TestBase</classname>) and
+ to create subclasses in <filename>axiom-impl</filename> and <filename>axiom-dom</filename>.
+ This makes sure that the DOOM tests never accidentally use LLOM (because
+ <filename>axiom-impl</filename> is not a dependency of <filename>axiom-dom</filename>).
</para>
</listitem>
- </varlistentry>
- <varlistentry>
- <term>StAX Reference Implementation</term>
<listitem>
<para>
- The reference implementation was written by BEA and is available as Maven artifact
- <literal>stax:stax:1.2.0</literal>. The homepage is <ulink url="http://stax.codehaus.org/Home"/>.
- Note that the JAR doesn't contain the necessary files to enable service discovery.
- Geronimo's implementation of the StAX API library will not be able to locate
- the reference implementation unless the following system properties are set:
+ Tests that check integration with other libraries should be placed in
+ <filename>axiom-integration</filename>. Note that this is the only module that requires
+ Java 1.5 (so that e.g. integration with JAXB2 can be tested).
</para>
-<programlisting>javax.xml.stream.XMLInputFactory=com.bea.xml.stream.MXParserFactory
-javax.xml.stream.XMLOutputFactory=com.bea.xml.stream.XMLOutputFactoryBase</programlisting>
</listitem>
- </varlistentry>
- <varlistentry>
- <term>XL XP-J</term>
<listitem>
<para>
- <quote>XL XML Processor for Java</quote> is IBM's implementation of StAX 1.0
- and is part of IBM's JRE/JDK v6. Note that due
- to an agreement between IBM and Sun, IBM's Java implementation for the Windows
- platform is not available as a separate download, but only bundled with another
- IBM product, e.g. <ulink url="http://www.ibm.com/developerworks/downloads/ws/wasdevelopers/">WebSphere
- Application Server for Developers</ulink>.
- </para>
- <para>
- On the other hand, the JDK for Linux can be downloaded as a separate package from the
- <link url="https://www.ibm.com/developerworks/java/jdk/linux/download.html">developerWorks
- site</link>. There are versions for 32-bit x86 (<quote>xSeries</quote>) and 64-bit AMD.
- They are available as RPMs and tarballs. To install the JDK properly on a Debian
- based system (including Ubuntu), follow the instructions given in
- <xref linkend="install.ibm.jdk"/>.
+ Tests related to code in <filename>axiom-api</filename> and requiring an Axiom
+ implementation to execute, but that don't fall into category <xref linkend="test.category.api"/>
+ should stay in <filename>axiom-tests</filename>.
</para>
</listitem>
- </varlistentry>
- </variablelist>
+ </orderedlist>
+ </section>
+ <section>
+ <title>Testing Axiom with different StAX implementations</title>
+ <para>
+ The following StAX implementations are available to test compatibility with Axiom:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Woodstox</term>
+ <listitem>
+ <para>
+ This is the StAX implementation that Axiom uses by default.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Sun Java Streaming XML Parser (SJSXP)</term>
+ <listitem>
+ <para>
+ This implementation is available as Maven artifact <literal>com.sun.xml.stream:sjsxp:1.0.1</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>StAX Reference Implementation</term>
+ <listitem>
+ <para>
+ The reference implementation was written by BEA and is available as Maven artifact
+ <literal>stax:stax:1.2.0</literal>. The homepage is <ulink url="http://stax.codehaus.org/Home"/>.
+ Note that the JAR doesn't contain the necessary files to enable service discovery.
+ Geronimo's implementation of the StAX API library will not be able to locate
+ the reference implementation unless the following system properties are set:
+ </para>
+<programlisting>javax.xml.stream.XMLInputFactory=com.bea.xml.stream.MXParserFactory
+javax.xml.stream.XMLOutputFactory=com.bea.xml.stream.XMLOutputFactoryBase</programlisting>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>XL XP-J</term>
+ <listitem>
+ <para>
+ <quote>XL XML Processor for Java</quote> is IBM's implementation of StAX 1.0
+ and is part of IBM's JRE/JDK v6. Note that due
+ to an agreement between IBM and Sun, IBM's Java implementation for the Windows
+ platform is not available as a separate download, but only bundled with another
+ IBM product, e.g. <ulink url="http://www.ibm.com/developerworks/downloads/ws/wasdevelopers/">WebSphere
+ Application Server for Developers</ulink>.
+ </para>
+ <para>
+ On the other hand, the JDK for Linux can be downloaded as a separate package from the
+ <link url="https://www.ibm.com/developerworks/java/jdk/linux/download.html">developerWorks
+ site</link>. There are versions for 32-bit x86 (<quote>xSeries</quote>) and 64-bit AMD.
+ They are available as RPMs and tarballs. To install the JDK properly on a Debian
+ based system (including Ubuntu), follow the instructions given in
+ <xref linkend="install.ibm.jdk"/>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
</section>
</chapter>