diff options
author | Rainer Klute <klute@apache.org> | 2005-01-25 20:08:18 +0000 |
---|---|---|
committer | Rainer Klute <klute@apache.org> | 2005-01-25 20:08:18 +0000 |
commit | 1e127a592f29e3ce12cda95e30856c9271dc0a07 (patch) | |
tree | f587df0e4f0204776e9280082ea132f151e04416 | |
parent | d556b84e205d6af377285e2f572ccdad4c7f073a (diff) | |
download | poi-1e127a592f29e3ce12cda95e30856c9271dc0a07.tar.gz poi-1e127a592f29e3ce12cda95e30856c9271dc0a07.zip |
- Compiling POI now includes the example classes.
- Javadoc now includes the example classes.
- Added usage instructions to the POI Browser documentation.
- Added references to the examples and the contributed software to the POI overview.
- Added a missing import to an HPSF example class.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353626 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | build.xml | 131 | ||||
-rw-r--r-- | src/contrib/src/org/apache/poi/contrib/poibrowser/package.html | 47 | ||||
-rw-r--r-- | src/documentation/content/xdocs/overview.xml | 35 | ||||
-rw-r--r-- | src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java | 1 |
4 files changed, 167 insertions, 47 deletions
@@ -41,44 +41,65 @@ The POI project Ant build. </description> - <property environment="env"/> - - <property name="repository" value="http://www.ibiblio.org/maven"/> - <property name="forrest.home" value="${env.FORREST_HOME}"/> - - <property name="main.resource1.dir" value="src/resources/fontmetrics"/> - <property name="main.src" location="src/java"/> - <property name="main.src.test" location="src/testcases"/> - <property name="main.documentation" value="src/documentation"/> - <property name="main.output.dir" location="build/classes"/> - <property name="main.output.test.dir" location="build/test-classes"/> - <property name="main.lib" location="lib"/> - <property name="main.reports.test" location="build/test-results"/> - <property name="main.jar1.dir" location="${main.lib}/commons-logging-1.0.1.jar"/> - <property name="main.jar1.url" value="${repository}/commons-logging/jars/commons-logging-1.0.1.jar"/> - <property name="main.jar2.dir" location="${main.lib}/log4j-1.2.8.jar"/> - <property name="main.jar2.url" value="${repository}/log4j/jars/log4j-1.2.8.jar"/> - <property name="main.testokfile" location="build/main-testokfile.txt"/> - <property name="scratchpad.src" location="src/scratchpad/src"/> - <property name="scratchpad.src.test" location="src/scratchpad/testcases"/> - <property name="scratchpad.lib" location="src/scratchpad/lib"/> - <property name="scratchpad.reports.test" location="build/scratchpad-test-results"/> - <property name="scratchpad.output.dir" location="build/scratchpad-classes"/> - <property name="scratchpad.output.test.dir" location="build/scratchpad-test-classes"/> - <property name="scratchpad.testokfile" location="build/scratchpad-testokfile.txt"/> - <property name="contrib.src" location="src/contrib/src"/> - <property name="contrib.src.test" location="src/contrib/testcases"/> - <property name="contrib.lib" location="src/contrib/lib"/> - <property name="contrib.reports.test" location="build/contrib-test-results"/> - <property name="contrib.output.dir" location="build/contrib-classes"/> - <property name="contrib.output.test.dir" location="build/contrib-test-classes"/> - <property name="contrib.jar1.dir" location="${contrib.lib}/commons-beanutils-1.6.jar"/> - <property name="contrib.jar1.url" value="${repository}/commons-beanutils/jars/commons-beanutils-1.6.jar"/> - <property name="contrib.jar2.dir" location="${contrib.lib}/commons-collections-2.1.jar"/> - <property name="contrib.jar2.url" value="${repository}/commons-collections/jars/commons-collections-2.1.jar"/> - <property name="contrib.jar3.dir" location="${contrib.lib}/commons-lang-1.0-b1.jar"/> - <property name="contrib.jar3.url" value="${repository}/commons-lang/jars/commons-lang-1.0-b1.jar"/> - <property name="contrib.testokfile" location="build/contrib-testokfile.txt"/> + <property environment="env"/> + + <property name="repository" value="http://www.ibiblio.org/maven"/> + <property name="forrest.home" value="${env.FORREST_HOME}"/> + + <!-- Main: --> + <property name="main.resource1.dir" value="src/resources/fontmetrics"/> + <property name="main.src" location="src/java"/> + <property name="main.src.test" location="src/testcases"/> + <property name="main.documentation" value="src/documentation"/> + <property name="main.output.dir" location="build/classes"/> + <property name="main.output.test.dir" location="build/test-classes"/> + <property name="main.lib" location="lib"/> + <property name="main.reports.test" location="build/test-results"/> + <property name="main.jar1.dir" location="${main.lib}/commons-logging-1.0.1.jar"/> + <property name="main.jar1.url" value="${repository}/commons-logging/jars/commons-logging-1.0.1.jar"/> + <property name="main.jar2.dir" location="${main.lib}/log4j-1.2.8.jar"/> + <property name="main.jar2.url" value="${repository}/log4j/jars/log4j-1.2.8.jar"/> + <property name="main.testokfile" location="build/main-testokfile.txt"/> + + <!-- Scratchpad: --> + <property name="scratchpad.src" location="src/scratchpad/src"/> + <property name="scratchpad.src.test" location="src/scratchpad/testcases"/> + <property name="scratchpad.lib" location="src/scratchpad/lib"/> + <property name="scratchpad.reports.test" location="build/scratchpad-test-results"/> + <property name="scratchpad.output.dir" location="build/scratchpad-classes"/> + <property name="scratchpad.output.test.dir" location="build/scratchpad-test-classes"/> + <property name="scratchpad.testokfile" location="build/scratchpad-testokfile.txt"/> + + <!-- Contributed software: --> + <property name="contrib.src" location="src/contrib/src"/> + <property name="contrib.src.test" location="src/contrib/testcases"/> + <property name="contrib.lib" location="src/contrib/lib"/> + <property name="contrib.reports.test" location="build/contrib-test-results"/> + <property name="contrib.output.dir" location="build/contrib-classes"/> + <property name="contrib.output.test.dir" location="build/contrib-test-classes"/> + <property name="contrib.jar1.dir" location="${contrib.lib}/commons-beanutils-1.6.jar"/> + <property name="contrib.jar1.url" value="${repository}/commons-beanutils/jars/commons-beanutils-1.6.jar"/> + <property name="contrib.jar2.dir" location="${contrib.lib}/commons-collections-2.1.jar"/> + <property name="contrib.jar2.url" value="${repository}/commons-collections/jars/commons-collections-2.1.jar"/> + <property name="contrib.jar3.dir" location="${contrib.lib}/commons-lang-1.0-b1.jar"/> + <property name="contrib.jar3.url" value="${repository}/commons-lang/jars/commons-lang-1.0-b1.jar"/> + <property name="contrib.testokfile" location="build/contrib-testokfile.txt"/> + + <!-- Examples: --> + <property name="examples.src" location="src/examples/src"/> + <property name="examples.src.test" location="src/examples/testcases"/> + <property name="examples.lib" location="src/examples/lib"/> + <property name="examples.reports.test" location="build/examples-test-results"/> + <property name="examples.output.dir" location="build/examples-classes"/> + <property name="examples.output.test.dir" location="build/examples-test-classes"/> + <property name="examples.jar1.dir" location="${examples.lib}/commons-beanutils-1.6.jar"/> + <property name="examples.jar1.url" value="${repository}/commons-beanutils/jars/commons-beanutils-1.6.jar"/> + <property name="examples.jar2.dir" location="${examples.lib}/commons-collections-2.1.jar"/> + <property name="examples.jar2.url" value="${repository}/commons-collections/jars/commons-collections-2.1.jar"/> + <property name="examples.jar3.dir" location="${examples.lib}/commons-lang-1.0-b1.jar"/> + <property name="examples.jar3.url" value="${repository}/commons-lang/jars/commons-lang-1.0-b1.jar"/> + <property name="examples.testokfile" location="build/examples-testokfile.txt"/> + <property name="junit.jar1.dir" location="${main.lib}/junit-3.8.1.jar"/> <property name="junit.jar1.url" value="${repository}/junit/jars/junit-3.8.1.jar"/> <property name="build.site" location="build/tmp/site/build/site"/> @@ -117,6 +138,11 @@ <pathelement location="${contrib.output.test.dir}"/> </path> + <path id="examples.classpath"> + <path refid="main.classpath"/> + <pathelement location="${main.output.dir}"/> + </path> + <!-- Prints POI's Ant usage help --> @@ -170,8 +196,9 @@ <mkdir dir="build"/> <mkdir dir="${main.output.dir}"/> - <mkdir dir="${contrib.output.dir}"/> <mkdir dir="${scratchpad.output.dir}"/> + <mkdir dir="${contrib.output.dir}"/> + <mkdir dir="${examples.output.dir}"/> <mkdir dir="${main.output.test.dir}"/> <mkdir dir="${contrib.output.test.dir}"/> <mkdir dir="${scratchpad.output.test.dir}"/> @@ -221,8 +248,9 @@ <get src="${junit.jar1.url}" dest="${junit.jar1.dir}"/> </target> - <target name="compile" depends="init,compile-main,compile-scratchpad,compile-contrib" - description="Compiles the POI classes"/> + <target name="compile" depends="init, compile-main, compile-scratchpad, + compile-contrib, compile-examples" + description="Compiles the POI main classes, scratchpad, contrib, and examples"/> <target name="compile-main" depends="init"> <copy todir="${main.output.dir}"> @@ -266,6 +294,12 @@ </javac> </target> + <target name="compile-examples" depends="init"> + <javac srcdir="${examples.src}" destdir="${examples.output.dir}" debug="on"> + <classpath refid="examples.classpath"/> + </javac> + </target> + <target name="test" depends="test-main,test-scratchpad,test-contrib" description="Tests main, contrib and scratchpad"/> @@ -550,7 +584,7 @@ FORREST_HOME environment variable!</echo> version="true" use="true" verbose="false" - windowtitle="POI API"> + windowtitle="POI API Documentation"> <packageset dir="${main.src}" defaultexcludes="yes"> <include name="org/apache/poi/**"/> @@ -561,17 +595,21 @@ FORREST_HOME environment variable!</echo> <packageset dir="${contrib.src}" defaultexcludes="yes"> <include name="org/apache/poi/**"/> </packageset> + <packageset dir="${examples.src}" defaultexcludes="yes"> + <include name="org/apache/poi/**"/> + </packageset> <classpath> <path refid="main.classpath"/> <path refid="scratchpad.classpath"/> <path refid="contrib.classpath"/> + <path refid="examples.classpath"/> </classpath> - <doctitle><![CDATA[<h1>POI Documentation</h1>]]></doctitle> + <doctitle><![CDATA[<h1>POI API Documentation</h1>]]></doctitle> <bottom> <![CDATA[<i>Copyright ${tstamp.year} The Apache Software Foundation or - its licensors, as applicable.</i>]]> + its licensors, as applicable.</i>]]> </bottom> <group title="HDF" packages="org.apache.poi.hdf*"/> <group title="HPSF" packages="org.apache.poi.hpsf*"/> @@ -580,6 +618,11 @@ FORREST_HOME environment variable!</echo> <group title="POIFS" packages="org.apache.poi.poifs*"/> <group title="Record Generator" packages="org.apache.poi.record*"/> <group title="Utils" packages="org.apache.poi.util*"/> + <group> + <title>Examples</title> + <package name="org.apache.poi.hpsf.examples*"/> + <package name="org.apache.poi.hssf.usermodel.examples*"/> + </group> </javadoc> <antcall target="clover.html"/> diff --git a/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html b/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html index 979e867ed1..ef4fbaa295 100644 --- a/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html +++ b/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html @@ -32,6 +32,10 @@ (operating system) filenames. An internal file (i.e. a "stream" or a "document") is shown with its name, its size and a hexadecimal dump of its first bytes.</p> + </div> + + <div> + <h3>Property Set Streams</h3> <p>The POI Browser pays special attention to property set streams. For example, the <tt>\005SummaryInformation</tt> stream contains information @@ -40,6 +44,49 @@ not just its first bytes but analyses the whole stream and displays its contents in a more or less readable manner.</p> </div> + + <div> + <h3>Running POI Browser</h3> + + <p>Running the POI Browser requires you to start a Java Virtual Machine + (JVM) and to set up a valid classpath so that the JVM can find all the Java + classes it needs. These are the main POI classes and the "contrib" POI + classes.</p> + + <p>The following instructions assume that you have set up your Java + enviromnent variables properly, i.e. the variable JAVA_HOME contains the + name of your Java installation directory and the variable PATH includes the + <var>bin</var> subdirectory of the Java installation directory. At the time + of this writing the current POI version was 2.5.1-final dating from August + 4th, 2004. The example statements reflect version numbering and + date. Change the commands accordingly if you are running the POI Browser of + a later or earlier than this!</p> + + <div> + <h4>Running POI Browser on Unix</h4> + + <p>Suppose you have unpacked the POI 2.5.1 release in the + <var>/opt/local/poi</var> directory of your Unix box. Then the following + command starts the POI Browser and displays the structure of the files + <var>MyWord.doc</var>, <var>MyExcel.xls</var> and + <var>MyPowerpoint.ppt</var>:</p> + + <pre>java -classpath /opt/local/poi/poi-2.5.1-final-20040804.jar:/opt/local/poi/poi-contrib-2.5.1-final-20040804.jar org.apache.poi.contrib.poibrowser.POIBrowser MyWord.doc MyExcel.xls MyPowerpoint.ppt</pre> + </div> + + <div> + <h4>Running POI Browser on Windows</h4> + + <p>Suppose you have unpacked the POI 2.5.1 release in the + <var>C:\Programs\POI</var> directory of your Windows box. Then the following + command starts the POI Browser and displays the structure of the files + <var>MyWord.doc</var>, <var>MyExcel.xls</var> and + <var>MyPowerpoint.ppt</var>:</p> + + <pre>java -classpath C:\Programs\POI\poi-2.5.1-final-20040804.jar;C:\Programs\POI\poi-contrib-2.5.1-final-20040804.jar org.apache.poi.contrib.poibrowser.POIBrowser MyWord.doc MyExcel.xls MyPowerpoint.ppt</pre> + </div> + + </div> </body> </html> diff --git a/src/documentation/content/xdocs/overview.xml b/src/documentation/content/xdocs/overview.xml index 7f69bda29f..987c1868f1 100644 --- a/src/documentation/content/xdocs/overview.xml +++ b/src/documentation/content/xdocs/overview.xml @@ -7,6 +7,7 @@ <title>Overview</title> <authors> <person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/> + <person id="RK" name="Rainer Klute" email="klute@apache.org"/> </authors> </header> @@ -33,7 +34,7 @@ <section><title>HSSF</title> <p> <link href="hssf/index.html">HSSF</link> is the set of APIs - for reading and writing Microsoft Excel 97(-XP) spreadsheet using (only) Java. + for reading and writing Microsoft Excel 97(-XP) spreadsheet using (only) Java. </p> </section> @@ -54,17 +55,45 @@ <section><title>POI-Utils</title> <p> <link href="utils/index.html">POI-Utils</link> are general purpose artifacts - from POI development that have not yet been implemented elsewhere. We're + from POI development that have not yet been implemented elsewhere. We're always looking to donate these and maintain them as part of a general library used in another project. These are things we need to complete our mission but are generally outside of it. </p> </section> </section> + + <section> + <title>Examples</title> + + <p>Small sample programs using the POI API are available in the + <em>src/examples</em> directory of the source distribution. Before + studying the source code you might want to have a look at the + "Examples" section of the <link + href="apidocs/overview-summary.html">POI API + documentation</link>.</p> + </section> + + <section><title>Contributed Software</title> + <p>Besides the "official" components outlined above there is some further + software distributed with POI. This is called "contributed" software. It + is not explicitly recommended or even maintained by the POI team, but + it might still be useful to you.</p> + + <section> + <title>POI Browser</title> + <p>The POI Browser is a very simple Swing GUI tool that displays the + internal structure of a Microsoft Office file and especially the + property set streams. Further information and instructions how to + execute it can be found in the <link + href="apidocs/org/apache/poi/contrib/poibrowser/package-summary.html#package_description">POI + Browser package description</link>.</p> + </section> + </section> </body> <footer> <legal> - Copyright (c) @year@ The POI Project All rights reserved. + Copyright 2005 The Apache Software Foundation or its licensors, as applicable. $Revision$ $Date$ </legal> </footer> diff --git a/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java b/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java index e5e413b464..f9fe5e9344 100644 --- a/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java +++ b/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java @@ -34,6 +34,7 @@ import org.apache.poi.hpsf.MutableSection; import org.apache.poi.hpsf.NoPropertySetStreamException; import org.apache.poi.hpsf.PropertySet; import org.apache.poi.hpsf.PropertySetFactory; +import org.apache.poi.hpsf.SummaryInformation; import org.apache.poi.hpsf.Util; import org.apache.poi.hpsf.Variant; import org.apache.poi.hpsf.WritingNotSupportedException; |