klute 2005/01/25 12:08:18
Modified: . build.xml
src/contrib/src/org/apache/poi/contrib/poibrowser
package.html
src/documentation/content/xdocs overview.xml
src/examples/src/org/apache/poi/hpsf/examples
WriteAuthorAndTitle.java
Log:
- 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.
Revision Changes Path
1.65 +85 -42 jakarta-poi/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-poi/build.xml,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- build.xml 20 Jan 2005 17:17:19 -0000 1.64
+++ build.xml 25 Jan 2005 20:08:18 -0000 1.65
@@ -41,44 +41,65 @@
The POI project Ant build.
</description>
- <property environment="env"/>
+ <property environment="env"/>
- <property name="repository" value="http://www.ibiblio.org/maven"/>
- <property name="forrest.home" value="${env.FORREST_HOME}"/>
+ <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="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 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 @@
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 @@
<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 @@
<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"/>
1.3 +47 -0
jakarta-poi/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html
Index: package.html
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/contrib/src/org/apache/poi/contrib/poibrowser/package.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- package.html 9 Apr 2004 13:05:08 -0000 1.2
+++ package.html 25 Jan 2005 20:08:18 -0000 1.3
@@ -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
@@ -39,6 +43,49 @@
in a POI filesystem. If it encounters a property set stream, it displays
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>
1.7 +33 -4 jakarta-poi/src/documentation/content/xdocs/overview.xml
Index: overview.xml
===================================================================
RCS file: /home/cvs/jakarta-poi/src/documentation/content/xdocs/overview.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- overview.xml 9 Apr 2004 13:05:12 -0000 1.6
+++ overview.xml 25 Jan 2005 20:08:18 -0000 1.7
@@ -7,6 +7,7 @@
<title>Overview</title>
<authors>
<person id="AO" name="Andrew C. Oliver" email="[EMAIL PROTECTED]"/>
+ <person id="RK" name="Rainer Klute" email="[EMAIL PROTECTED]"/>
</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>
1.7 +2 -1
jakarta-poi/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java
Index: WriteAuthorAndTitle.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/examples/src/org/apache/poi/hpsf/examples/WriteAuthorAndTitle.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- WriteAuthorAndTitle.java 9 Jun 2004 17:50:48 -0000 1.6
+++ WriteAuthorAndTitle.java 25 Jan 2005 20:08:18 -0000 1.7
@@ -34,6 +34,7 @@
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;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/