aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Ken Barozzi <nicolaken@apache.org>2002-03-14 11:05:10 +0000
committerNicola Ken Barozzi <nicolaken@apache.org>2002-03-14 11:05:10 +0000
commita612b0a28f520ad633efb1ff808e2ed7c9941167 (patch)
tree0cee9e8c897f90951ade6ecf46014cc12be9347e
parent7271f51bed280dbb9d62f24395111cceb505689a (diff)
downloadpoi-a612b0a28f520ad633efb1ff808e2ed7c9941167.tar.gz
poi-a612b0a28f520ad633efb1ff808e2ed7c9941167.zip
Make POI use commons.logging, make log4j optional and clean structure to comply with, and use, Krysalis Centipede 2.0.1.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352212 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xbuild.bat22
-rwxr-xr-xbuild.sh22
-rw-r--r--build.xml52
-rw-r--r--legal/LICENSE.commons-logging (renamed from src/java/org/apache/poi/hssf/HSSFLog.java)75
-rw-r--r--lib/core/commons-logging-1.0.jarbin0 -> 24062 bytes
-rw-r--r--lib/core/log4j-1.2beta4.jarbin184956 -> 0 bytes
-rw-r--r--lib/optional/cocoon-dev-20020129-nooptional.jarbin714767 -> 0 bytes
-rw-r--r--lib/optional/log4j-core.jarbin0 -> 78140 bytes
-rw-r--r--lib/optional/logkit-20011212.jarbin71719 -> 0 bytes
-rwxr-xr-xlib/optional/resolver.jarbin72154 -> 0 bytes
-rw-r--r--lib/optional/xerces-1.4.4.jarbin1681323 -> 0 bytes
-rw-r--r--lib/optional/xml-apis.jarbin93717 -> 0 bytes
-rw-r--r--src/contrib/builds/poibrowser.xml28
-rw-r--r--[-rwxr-xr-x]src/documentation/Release-Checklist.txt (renamed from tools/resources/Release-Checklist.txt)0
-rwxr-xr-xsrc/documentation/cocoon.xconf365
-rw-r--r--src/documentation/images/.xvpics/header.gifbin1831 -> 0 bytes
-rw-r--r--src/documentation/images/avalon-compatible.pngbin0 -> 4060 bytes
-rw-r--r--src/documentation/images/built-with-cocoon.pngbin0 -> 2472 bytes
-rwxr-xr-xsrc/documentation/images/cocoon2-small.jpgbin1684 -> 0 bytes
-rw-r--r--src/documentation/images/krysalis-compatible.pngbin0 -> 4227 bytes
-rw-r--r--src/documentation/images/made-with-cocoon.pngbin2086 -> 0 bytes
-rwxr-xr-xsrc/documentation/linkalarm-readme.txt28
-rwxr-xr-xsrc/documentation/sitemap.xmap87
-rwxr-xr-xsrc/documentation/stylesheets/announcement.xsl11
-rwxr-xr-xsrc/documentation/stylesheets/book2menu.xsl12
-rwxr-xr-xsrc/documentation/stylesheets/docbook2body.xsl78
-rwxr-xr-xsrc/documentation/stylesheets/doclist.xsl15
-rwxr-xr-xsrc/documentation/stylesheets/doclist2document.xsl85
-rwxr-xr-xsrc/documentation/stylesheets/document2docbook.xsl15
-rwxr-xr-xsrc/documentation/stylesheets/document2html.xsl389
-rw-r--r--[-rwxr-xr-x]src/documentation/stylesheets/projectinfo2announcement.xsl (renamed from src/documentation/stylesheets/announcement2txt.xsl)1
-rw-r--r--src/documentation/stylesheets/projectinfo2todo.xsl107
-rw-r--r--src/documentation/stylesheets/projectinfo2txt.xsl107
-rwxr-xr-xsrc/documentation/stylesheets/script-cli.js27
-rwxr-xr-xsrc/documentation/stylesheets/script.js17
-rwxr-xr-xsrc/documentation/stylesheets/site2xhtml.xsl117
-rw-r--r--src/documentation/xdocs/book.xml5
-rw-r--r--src/java/log4j.properties31
-rw-r--r--src/java/org/apache/poi/hssf/model/Sheet.java4
-rw-r--r--src/java/org/apache/poi/hssf/model/Workbook.java4
-rwxr-xr-xsrc/java/org/apache/poi/hssf/package.uml5
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java4
-rw-r--r--src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java4
-rw-r--r--src/java/org/apache/poi/util/POILogFactory.java60
-rw-r--r--src/java/org/apache/poi/util/POILogger.java297
-rw-r--r--[-rwxr-xr-x]src/resources/devtools/poi.jin (renamed from tools/resources/jindent/poi.jin)0
-rw-r--r--src/testcases/org/apache/poi/util/TestPOILogFactory.java141
-rw-r--r--src/testcases/org/apache/poi/util/TestPOILogger.java181
-rw-r--r--[-rwxr-xr-x]tools/ant/lib/ant-1.4.1-optional.jar (renamed from tools/lib/ant-1.4.1-optional.jar)bin468566 -> 468566 bytes
-rw-r--r--[-rwxr-xr-x]tools/ant/lib/ant-1.4.1.jar (renamed from tools/lib/ant-1.4.1.jar)bin417110 -> 417110 bytes
-rwxr-xr-xtools/bin/ant107
-rwxr-xr-xtools/bin/ant.bat97
-rwxr-xr-xtools/bin/antRun9
-rwxr-xr-xtools/bin/antRun.bat20
-rwxr-xr-xtools/bin/fix-packages.py216
-rwxr-xr-xtools/bin/lcp.bat2
-rwxr-xr-xtools/bin/runant.pl131
-rw-r--r--tools/centipede/lib/IzPress.jarbin0 -> 18305 bytes
-rw-r--r--tools/centipede/lib/jtidy.jar (renamed from lib/optional/jtidy-04aug2000r7-dev.jar)bin161826 -> 161826 bytes
-rw-r--r--[-rwxr-xr-x]tools/centipede/lib/junit.jar (renamed from tools/lib/junit.jar)bin117522 -> 117522 bytes
-rw-r--r--tools/centipede/lib/xalan.jar (renamed from lib/optional/xalan-2.2.0.jar)bin923866 -> 923866 bytes
-rw-r--r--tools/centipede/lib/xerces.jarbin0 -> 1730053 bytes
-rw-r--r--tools/centipede/lib/xml-apis.jarbin0 -> 100196 bytes
-rw-r--r--tools/centipede/targets/compile.xtarget33
-rw-r--r--tools/centipede/targets/init.xtarget8
-rw-r--r--tools/centipede/targets/preinit.xtarget6
-rw-r--r--tools/centipede/targets/test.xtarget4
-rw-r--r--tools/cocoon/lib/avalon-excalibur-4.1.jar (renamed from lib/optional/avalon-excalibur-20020114.jar)bin190018 -> 196490 bytes
-rw-r--r--tools/cocoon/lib/avalon-framework-4.1.2.jar (renamed from lib/optional/avalon-framework-20020114.jar)bin47467 -> 47564 bytes
-rw-r--r--tools/cocoon/lib/avalon-scratchpad-20020212.jarbin0 -> 242984 bytes
-rw-r--r--tools/cocoon/lib/batik-libs-1.1.1.jarbin0 -> 2028870 bytes
-rw-r--r--tools/cocoon/lib/cocoon-scratchpad-part.jarbin0 -> 153263 bytes
-rw-r--r--tools/cocoon/lib/cocoon.jarbin0 -> 728087 bytes
-rw-r--r--tools/cocoon/lib/commons-collections-1.0.jar (renamed from lib/optional/commons-collections-1.0.jar)bin58798 -> 58798 bytes
-rw-r--r--tools/cocoon/lib/commons-httpclient-20011012.jar (renamed from lib/optional/commons-httpclient-20011012.jar)bin64553 -> 64553 bytes
-rw-r--r--tools/cocoon/lib/jakarta-regexp-1.2.jar (renamed from lib/optional/jakarta-regexp-1.2.jar)bin29871 -> 29871 bytes
-rw-r--r--tools/cocoon/lib/jisp_1_0_2.jarbin0 -> 17592 bytes
-rw-r--r--tools/cocoon/lib/logkit-1.0.1.jarbin0 -> 72150 bytes
-rw-r--r--tools/cocoon/lib/resolver-20020130.jarbin0 -> 50905 bytes
-rwxr-xr-xtools/lib/.cvsignore3
-rw-r--r--tools/lib/jtidy-04aug2000r7-dev.jarbin161826 -> 0 bytes
-rw-r--r--tools/lib/xalan-2.2.0.jarbin923866 -> 0 bytes
-rw-r--r--tools/resources/stylesheets/announcement2readme.xsl89
-rw-r--r--tools/resources/stylesheets/announcement2txt.xsl174
-rw-r--r--tools/resources/stylesheets/bugzilla2patchqueue.xsl36
-rw-r--r--tools/resources/stylesheets/changelog.xsl95
-rwxr-xr-xtools/resources/stylesheets/html2xml.xsl153
-rw-r--r--tools/resources/stylesheets/patchqueue2text4dev.xsl68
-rw-r--r--tools/resources/stylesheets/patchqueue2xdocs.xsl111
-rw-r--r--tools/src/ClassAvailable.java246
-rw-r--r--tools/src/JTidyTask.java272
-rw-r--r--tools/src/SitemapTool.java363
-rw-r--r--tools/src/UserInput.java149
-rw-r--r--tools/src/XConfTool.java238
-rwxr-xr-xtools/src/announcement2header.xsl78
-rwxr-xr-xtools/src/announcement2readme.xsl89
-rwxr-xr-xtools/src/announcement2site.xsl92
-rwxr-xr-xtools/src/announcement2txt.xsl174
-rwxr-xr-xtools/src/bugzilla2patchqueue.xsl36
-rwxr-xr-xtools/src/changelog.xsl95
-rwxr-xr-xtools/src/patchqueue2text4dev.xsl70
-rwxr-xr-xtools/src/patchqueue2xdocs.xsl109
-rw-r--r--tools/targets/deprecated/compile.xtarget (renamed from tools/targets/compile.xtarget)0
-rw-r--r--tools/targets/deprecated/contrib.xtarget (renamed from tools/targets/contrib.xtarget)0
-rw-r--r--tools/targets/deprecated/dev.xtarget (renamed from tools/targets/dev.xtarget)0
-rw-r--r--tools/targets/deprecated/docs.xtarget (renamed from tools/targets/docs.xtarget)0
-rw-r--r--tools/targets/deprecated/init.xtarget (renamed from tools/targets/init.xtarget)0
-rw-r--r--tools/targets/deprecated/interactive.xtarget (renamed from tools/targets/interactive.xtarget)0
-rw-r--r--tools/targets/deprecated/preinit.xtarget (renamed from tools/targets/preinit.xtarget)0
-rw-r--r--tools/targets/deprecated/robot.xtarget (renamed from tools/targets/robot.xtarget)0
-rw-r--r--tools/targets/deprecated/scratchpad.xtarget (renamed from tools/targets/scratchpad.xtarget)0
-rw-r--r--tools/targets/deprecated/test.xtarget (renamed from tools/targets/test.xtarget)0
-rw-r--r--tools/targets/deprecated/try.xml (renamed from tools/targets/try.xml)0
-rw-r--r--tools/targets/deprecated/util.xtarget (renamed from tools/targets/util.xtarget)0
114 files changed, 726 insertions, 5043 deletions
diff --git a/build.bat b/build.bat
index 57c087d4b3..3a2c9ef8d8 100755
--- a/build.bat
+++ b/build.bat
@@ -1,23 +1,13 @@
@echo off
-rem ----------------------------------------------------------------------------
-rem build.bat - Win32 Build Script for Apache Cocoon
-rem
-rem $Id$
-rem ----------------------------------------------------------------------------
-rem ----- Copy Xalan and Xerces for the build system ------------------------
-copy lib\optional\xerces*.jar tools\lib
-copy lib\optional\xalan*.jar tools\lib
-copy lib\optional\xml-api*.jar tools\lib
-copy lib\optional\jtidy*.jar tools\lib
+set OLD_ANT_HOME=%ANT_HOME%
+set ANT_HOME=tools\ant
-rem ----- Verify and Set Required Environment Variables ------------------------
+set OLD_CLASSPATH=%CLASSPATH%
+set CLASSPATH=tools\centipede\lib\xml-apis.jar;tools\centipede\lib\xerces.jar;tools\centipede\lib\xalan.jar;tools\centipede\lib\junit.jar;tools\centipede\lib\jIzPress.jar;tools\centipede\lib\jtidy.jar
-REM Commented out so it always uses poi's ant -- gjs -- if not "%ANT_HOME%" == "" goto gotAntHome
-set OLD_ANT_HOME=%ANT_HOME%
-set ANT_HOME=tools
-:gotAntHome
+call %ANT_HOME%\bin\ant -listener org.apache.tools.ant.XmlLogger %1 %2 %3 %4 %5 %6 %7 %8 %9
-call %ANT_HOME%\bin\ant %1 %2 %3 %4 %5 %6 %7 %8 %9
set ANT_HOME=%OLD_ANT_HOME%
+set CLASSPATH=%OLD_CLASSPATH%
diff --git a/build.sh b/build.sh
index dc3c1d4a77..2f51797c2d 100755
--- a/build.sh
+++ b/build.sh
@@ -1,24 +1,24 @@
#!/bin/sh
-echo
-echo "POI Build System "
-echo "----------------------------"
+chmod u+x ./tools/ant/bin/antRun
+chmod u+x ./tools/ant/bin/ant
-cp -f ./lib/optional/xalan*.jar ./tools/lib
-cp -f ./lib/optional/xerces*.jar ./tools/lib
-cp -f ./lib/optional/xml-api*.jar ./tools/lib
-cp -f ./lib/optional/jtidy*.jar ./tools/lib
-
-chmod u+x ./tools/bin/antRun
-chmod u+x ./tools/bin/ant
+OLD_ANT_HOME=$ANT_HOME
unset ANT_HOME
CP=$CLASSPATH
export CP
unset CLASSPATH
-$PWD/tools/bin/ant -logger org.apache.tools.ant.NoBannerLogger -emacs $@
+CLASSPATH="./tools/centipede/lib/xml-apis.jar:./tools/centipede/lib/xerces.jar:./tools/centipede/lib/xalan.jar:./tools/centipede/lib/junit.jar:./tools/centipede/lib/jIzPress.jar:./tools/centipede/lib/jtidy.jar"
+export CLASSPATH
+
+$PWD/./tools/ant/bin/ant -listener org.apache.tools.ant.XmlLogger $@
+
+unset CLASSPATH
CLASSPATH=$CP
export CLASSPATH
+ANT_HOME=OLD_ANT_HOME
+export ANT_HOME
diff --git a/build.xml b/build.xml
index 00365f1d27..d3a7d1ed6d 100644
--- a/build.xml
+++ b/build.xml
@@ -1,20 +1,5 @@
<?xml version="1.0"?>
<!DOCTYPE project [
-<!ENTITY preinit-target SYSTEM "./tools/targets/preinit.xtarget">
-<!ENTITY init-target SYSTEM "./tools/targets/init.xtarget">
-<!ENTITY compile-target SYSTEM "./tools/targets/compile.xtarget">
-<!ENTITY interactive-target SYSTEM "./tools/targets/interactive.xtarget">
-<!ENTITY scratchpad-target SYSTEM "./tools/targets/scratchpad.xtarget">
-<!ENTITY contrib-target SYSTEM "./tools/targets/contrib.xtarget">
-<!ENTITY util-target SYSTEM "./tools/targets/util.xtarget">
-<!ENTITY dev-target SYSTEM "./tools/targets/dev.xtarget">
-<!ENTITY test-target SYSTEM "./tools/targets/test.xtarget">
-<!ENTITY robot-target SYSTEM "./tools/targets/robot.xtarget">
-<!ENTITY docs-target SYSTEM "./tools/targets/docs.xtarget">
-]>
-
-<project default="interactive" basedir="." name="krysalis">
-
<!-- ===========================================================================
@@ -24,7 +9,7 @@
by
Nicola Ken Barozzi <barozzi@nicolaken.com>
- Marc Johnson <mjohnson at apache dot org>
+ Marc Johnson <mjohnson at apache dot org>
extends the Apache Cocoon Build System
(http://xml.apache.org/cocoon/)
@@ -32,6 +17,34 @@
Stefano Mazzocchi <stefano@apache.org>
Carsten Ziegeler <cziegeler@apache.org>
+-->
+<!-- ================= Main project targets and info ================= -->
+<!ENTITY project-target SYSTEM "./src/targets/project.xtarget">
+<!ENTITY interactive-target SYSTEM "./src/targets/interactive.xtarget">
+<!-- =================================================================== -->
+
+<!-- ====================== Scratchpad targets ======================= -->
+<!ENTITY scratchpad-target SYSTEM "./src/scratchpad/targets/scratchpad.xtarget">
+<!-- =================================================================== -->
+
+<!-- ======================== Contrib targets ======================== -->
+<!ENTITY contrib-target SYSTEM "./src/contrib/targets/contrib.xtarget">
+<!-- =================================================================== -->
+
+<!-- ================== Krysalis Centipede targets =================== -->
+<!ENTITY preinit-target SYSTEM "./tools/centipede/targets/preinit.xtarget">
+<!ENTITY init-target SYSTEM "./tools/centipede/targets/init.xtarget">
+<!ENTITY compile-target SYSTEM "./tools/centipede/targets/compile.xtarget">
+<!ENTITY util-target SYSTEM "./tools/centipede/targets/util.xtarget">
+<!ENTITY dev-target SYSTEM "./tools/centipede/targets/dev.xtarget">
+<!ENTITY test-target SYSTEM "./tools/centipede/targets/test.xtarget">
+<!ENTITY robot-target SYSTEM "./tools/centipede/targets/robot.xtarget">
+<!ENTITY docs-target SYSTEM "./tools/centipede/targets/docs.xtarget">
+<!-- =================================================================== -->
+]>
+
+<project default="interactive" basedir="." name="krysalis">
+<!--
Installing the build tools
==========================
@@ -141,10 +154,13 @@ or
<!-- =================================================================== -->
- <!-- external reference are relative to to tools/targets/*.xtarget -->
- <!-- =================================================================== -->
+ <!-- external reference are relative to to **/*.xtarget; -->
+ <!-- see entity decalrations at the start of this file -->
+ <!-- =================================================================== -->
<!-- Pre Initialization --> &preinit-target;
<!-- =================================================================== -->
+ <!-- Project targets --> &project-target;
+ <!-- =================================================================== -->
<!-- Initialization targets --> &init-target;
<!-- =================================================================== -->
<!-- Compile targets --> &compile-target;
diff --git a/src/java/org/apache/poi/hssf/HSSFLog.java b/legal/LICENSE.commons-logging
index cfef5c31f4..1299c7bf93 100644
--- a/src/java/org/apache/poi/hssf/HSSFLog.java
+++ b/legal/LICENSE.commons-logging
@@ -1,8 +1,13 @@
-
-/* ====================================================================
+/*
+ * $Header$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 1999-2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -10,28 +15,28 @@
* are met:
*
* 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
*
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
+ * 4. The names "The Jakarta Project", "Commons", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache@apache.org.
*
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
@@ -51,46 +56,10 @@
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
- */
-
-/*
- * HSSFLog.java
*
- * Created on December 3, 2001, 2:30 PM
- */
-package org.apache.poi.hssf;
+ */
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * Provides logging to HSSF without it having to mess with
- * configuration/initialization.
- *
- * @author Andrew C. Oliver (acoliver at apache dot org)
- * @author Marc Johnson (mjohnson at apache dot org)
- */
-public class HSSFLog
- extends POILogFactory
-{
- private static HSSFLog _the_instance = null;
- /**
- * Create a new instance of HSSFLog
- */
- private HSSFLog()
- {
- super("hssflog.properties", "HSSF.log");
- }
- public static POILogger getPOILogger(final Class theclass)
- {
- if (_the_instance == null)
- {
- _the_instance = new HSSFLog();
- }
- return _the_instance.getLogger(theclass);
- }
-}
diff --git a/lib/core/commons-logging-1.0.jar b/lib/core/commons-logging-1.0.jar
new file mode 100644
index 0000000000..b69fffb21d
--- /dev/null
+++ b/lib/core/commons-logging-1.0.jar
Binary files differ
diff --git a/lib/core/log4j-1.2beta4.jar b/lib/core/log4j-1.2beta4.jar
deleted file mode 100644
index e01a9cb679..0000000000
--- a/lib/core/log4j-1.2beta4.jar
+++ /dev/null
Binary files differ
diff --git a/lib/optional/cocoon-dev-20020129-nooptional.jar b/lib/optional/cocoon-dev-20020129-nooptional.jar
deleted file mode 100644
index 563b0c3928..0000000000
--- a/lib/optional/cocoon-dev-20020129-nooptional.jar
+++ /dev/null
Binary files differ
diff --git a/lib/optional/log4j-core.jar b/lib/optional/log4j-core.jar
new file mode 100644
index 0000000000..da6d8c2e5c
--- /dev/null
+++ b/lib/optional/log4j-core.jar
Binary files differ
diff --git a/lib/optional/logkit-20011212.jar b/lib/optional/logkit-20011212.jar
deleted file mode 100644
index f6b7fa8c2f..0000000000
--- a/lib/optional/logkit-20011212.jar
+++ /dev/null
Binary files differ
diff --git a/lib/optional/resolver.jar b/lib/optional/resolver.jar
deleted file mode 100755
index 23d190fa44..0000000000
--- a/lib/optional/resolver.jar
+++ /dev/null
Binary files differ
diff --git a/lib/optional/xerces-1.4.4.jar b/lib/optional/xerces-1.4.4.jar
deleted file mode 100644
index 1e4ea98988..0000000000
--- a/lib/optional/xerces-1.4.4.jar
+++ /dev/null
Binary files differ
diff --git a/lib/optional/xml-apis.jar b/lib/optional/xml-apis.jar
deleted file mode 100644
index dd892c8ccd..0000000000
--- a/lib/optional/xml-apis.jar
+++ /dev/null
Binary files differ
diff --git a/src/contrib/builds/poibrowser.xml b/src/contrib/builds/poibrowser.xml
deleted file mode 100644
index 68eb0cf974..0000000000
--- a/src/contrib/builds/poibrowser.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!-- try.xml ... these are trial build targets which are currently
- undergoing testing. When ready they can be moved into the main build.xml -->
-
-<project default="poibrowser" basedir="../../" name="POIBrowser build">
-
- <!-- =================================================================== -->
- <!-- GUI Run Target -->
- <!-- =================================================================== -->
- <target name="poibrowser">
- <taskdef name="user-input" classname="UserInput"
- classpath="./tools/anttasks"/>
-
- <property name="contrib.input.selection" value=""/>
- <user-input name="contrib.input.selection">Please select a file to view </user-input>
-
- <java classname="org.apache.poi.contrib.poibrowser.POIBrowser" fork="true">
- <arg value="${contrib.input.selection}"/>
- <classpath>
- <pathelement location="build/jakarta-poi/classes"/>
- <pathelement location="build/jakarta-poi/contrib/classes"/>
- </classpath>
- </java>
- </target>
-
-
-</project>
-
-<!-- End of file -->
diff --git a/tools/resources/Release-Checklist.txt b/src/documentation/Release-Checklist.txt
index 61ebae5824..61ebae5824 100755..100644
--- a/tools/resources/Release-Checklist.txt
+++ b/src/documentation/Release-Checklist.txt
diff --git a/src/documentation/cocoon.xconf b/src/documentation/cocoon.xconf
deleted file mode 100755
index c5236dc327..0000000000
--- a/src/documentation/cocoon.xconf
+++ /dev/null
@@ -1,365 +0,0 @@
-<?xml version="1.0"?>
-<cocoon version="2.0">
-
-<!-- ================ Apache Cocoon configuration file ================== -->
-<!-- Please refer to the online documentation for full descriptions.
- The notes that accompany the settings below are intended to be concise.
--->
-
-<!-- ===================== General Components =========================== -->
-
- <!-- Parser:
- The default parser used in the Apache Cocoon 2 system is
- org.apache.cocoon.components.parser.JaxpParser
- Apache Cocoon 2 system requires a JAXP 1.1 parser.
- If you have problems because your servlet environment uses its own
- parser not conforming to JAXP 1.1 try using the alternative
- XercesParser instead of the JaxpParser. To activate the XercesParser,
- change the class attribute to
- <parser class="org.apache.cocoon.components.parser.XercesParser"/>
- You will also need to add a system property to your JVM
- (probably on the startup of your servlet engine like this:
- -Dorg.apache.cocoon.components.parser.Parser=org.apache.cocoon.components.parser.XercesParser
-
- validate: This parameter causes the parser to be a validating parser.
- XML validation is only being used for the documentation build.
- (If you are going to use it elsewhere, then do so with caution.)
- You really should have validated all of your XML documents already,
- according to their proper DTD or schema. Do not expect Cocoon to do it.
- -->
- <parser class="org.apache.cocoon.components.parser.JaxpParser">
- <parameter name="validate" value="false"/>
- </parser>
-
- <!-- Storing:
- freememory: Indicates how much memory should be left free in the
- JVM for normal operation.
- heapsize: Indicates how big the heap size can grow to before the
- cleanup thread kicks in.
- objectlifetime: Indicates how long (seconds) a cache object will
- be hold in memory. The object will be thrown out,
- when the time is over.
- interval: Indicates the interval of the cleanup thread in seconds.
- maxobjects: Indicates how many objects will be hold in the cache.
- When the number of maxobjects has been reached. The
- last object in the cache will be thrown out.
- usethread: Indicates whether we use a cleanup thread or not.
- threadpriority: Indicates the priority of the cleanup thread.
- (1 is the lowest priority and 10 is the highest).
- filesystem: Turns the filesystem storage for objects on or off.
- -->
- <store class="org.apache.cocoon.components.store.MRUMemoryStore">
- <parameter name="maxobjects" value="100"/>
- <parameter name="threadpriority" value="5"/>
- <parameter name="filesystem" value="true"/>
- </store>
-
- <!-- Store Janitor:
- freememory = How much free memory shall be available in the jvm
- heapsize = Indicates the limit of the jvm memory consumption
- cleanupthreadinterval = How often shall the cleanup thread check memory
- threadpriority = Indicates the thread priority of the cleanup thread
-
- Be careful with the heapsize and freememory paramters. Wrong values can
- cause high cpu usage.
- Example configuration:
- Jvm settings:
- -Xms100000000 -Xmx200000000
- store-janitor settings:
- <parameter name="freememory" value="50000000"/>
- <parameter name="heapsize" value="150000000"/>
-
- Heapsize must be higher then the -Xms parameter and freememory
- between those both.
- -->
- <store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl" logger="root.store">
- <parameter name="freememory" value="1000000"/>
- <parameter name="heapsize" value="60000000"/>
- <parameter name="cleanupthreadinterval" value="10"/>
- <parameter name="threadpriority" value="5"/>
- </store-janitor>
-
- <!-- Entity resolution catalogs:
- catalog:
- The default catalog is distributed at /resources/entities/catalog
- This is the contextual pathname for Cocoon resources.
- You can override this path, if necessary, using the "catalog" parameter.
- <parameter name="catalog" value="/resources/entities/catalog"/>
- However, it is probably desirable to leave this default catalog config
- and declare your own local catalogs, which are loaded in addition to
- the system catalog.
-
- There are various ways to do local configuration (see "Entity Catalogs"
- documentation). One way is via the CatalogManager.properties file.
- As an additional method, you can specify the "local-catalog" parameter here.
-
- local-catalog:
- The full filesystem pathname to a single local catalog file.
- <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/>
-
- verbosity:
- The level of messages for status/debug (messages go to standard output)
- The following messages are provided ...
- 0 = none
- 1 = ? (... not sure yet)
- 2 = 1+, Loading catalog, Resolved public, Resolved system
- 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
- 10 = 3+, List all catalog entries when loading a catalog
- (Cocoon also logs the "Resolved public" messages.)
- TODO: determine all messages at each level
- <parameter name="verbosity" value="2"/>
-
- -->
- <resolver class="org.apache.cocoon.components.resolver.ResolverImpl">
- <parameter name="catalog" value="/resources/entities/catalog"/>
- <parameter name="verbosity" value="0"/>
- </resolver>
-
- <!-- XSLT Processor:
- -->
- <xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl" logger="root.xslt">
- <parameter name="use-store" value="true"/>
- </xslt-processor>
-
- <!-- URL Factory:
- The url factory adds special url protocols to the system, they are then
- available inside Cocoon, e.g. as a source argument for one of the sitemap
- components.
- -->
- <url-factory>
- <protocol name="resource" class="org.apache.cocoon.components.url.ResourceURLFactory"/>
- <protocol name="context" class="org.apache.cocoon.components.url.ContextURLFactory"/>
- </url-factory>
-
- <!-- Source Handler:
- The source handler adds special url protocols to the system, they are
- then available inside Cocoon, e.g. as a source argument for one of the
- sitemap components.
- -->
- <source-handler>
- </source-handler>
-
- <!-- Program Generator:
- The ProgamGenerator builds programs from a XML document written in a
- MarkupLanguage.
- auto-reload:
- root-package: persistent code repository.
- preload:
- -->
- <program-generator>
- <parameter name="auto-reload" value="false"/>
- <parameter name="root-package" value="orgapachecocoonwww"/>
- <parameter name="preload" value="true"/>
- </program-generator>
-
- <!-- Programming Languages:
- -->
- <programming-languages>
- <java-language name="java">
- <!-- compiler parameter specifies which class to use to compile Java.
- Possible variants are Javac and Jikes compilers.
- Javac requires javac.jar (included with Cocoon distribution).
- Jikes requires IBM jikes compiler to be present in the PATH -->
- <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/>
- <!-- A singleton-like implementation of a ClassLoader -->
- <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
- </java-language>
- </programming-languages>
-
- <!-- Class loader:
- A singleton-like implementation of a ClassLoader.
- -->
- <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
-
- <!-- Markup Languages:
- This section defines several builtin logicsheets. A logicsheet is an XML
- filter used to translate user-defined, dynamic markup into equivalent
- code embedding directives for a given markup language.
- -->
- <markup-languages>
- <xsp-language name="xsp">
- <parameter name="prefix" value="xsp"/>
- <parameter name="uri" value="http://apache.org/xsp"/>
-
- <!-- Defines the XSP Core logicsheet for the Java language -->
- <target-language name="java">
- <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
-
- <!-- The Request logicsheet (taglib) is an XSP logicsheet that wraps XML tags
- around standard request operations -->
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-request"/>
- <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
- </builtin-logicsheet>
-
- <!-- The Response logicsheet (taglib) is an XSP logicsheet that wraps XML tags
- around standard response operations -->
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-response"/>
- <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
- </builtin-logicsheet>
-
- <!-- The Session logicsheet (taglib) is an XSP logicsheet that wraps XML tags around
- standard session operations. Specifically, the Session logicsheet provides an
- XML interface to most methods of the HttpSession object (see the Java Servlet API
- Specification, version 2.2 ) for more information. -->
- <builtin-logicsheet>
- <parameter name="prefix" value="session"/>
- <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/>
- </builtin-logicsheet>
-
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-cookie"/>
- <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/>
- </builtin-logicsheet>
-
- <!-- The ESQL logicsheet is an XSP logicsheet that performs sql queries and
- serializes their results as XML. This allows you to work with data from a
- wide variety of different sources when using Apache Cocoon.
- <builtin-logicsheet>
- <parameter name="prefix" value="esql"/>
- <parameter name="uri" value="http://apache.org/cocoon/SQL/v2"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/esql.xsl"/>
- </builtin-logicsheet>
--->
- <builtin-logicsheet>
- <parameter name="prefix" value="log"/>
- <parameter name="uri" value="http://apache.org/xsp/log/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/>
- </builtin-logicsheet>
-
- <builtin-logicsheet>
- <parameter name="prefix" value="util"/>
- <parameter name="uri" value="http://apache.org/xsp/util/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/>
- </builtin-logicsheet>
-<!--
- The xsp-formval taglib serves as interface to retrieve validation results
- from a request attribute
- <builtin-logicsheet>
- <parameter name="prefix" value="xsp-formval"/>
- <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/>
- </builtin-logicsheet>
-
- The capture taglib is for capturing parts of the XSP-generated XML as
- XML fragments or DOM nodes
- <builtin-logicsheet>
- <parameter name="prefix" value="capture"/>
- <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/>
- <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/>
- </builtin-logicsheet>
--->
- </target-language>
- </xsp-language>
-
- <!-- Defines Sitemap Core logicsheet for the Java language -->
- <sitemap-language name="sitemap">
- <parameter name="prefix" value="map"/>
- <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>
-
- <target-language name="java">
- <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
- </target-language>
- </sitemap-language>
- </markup-languages>
-
- <!-- Stream Pipeline:
- Either collects a Reader and lets it produce a character stream
- or connects an EventPipeline with a Serializer and lets them produce
- the character stream.
- -->
- <stream-pipeline class="org.apache.cocoon.components.pipeline.CachingStreamPipeline"
- pool-max="32" pool-min="4" pool-grow="4"/>
-
- <!-- Caching of stream pipeline:
- freememory: Indicates how much memory should be left free in the
- JVM for normal operation.
- heapsize: Indicates how big the heap size can grow to before the
- cleanup thread kicks in.
- objectlifetime: Indicates how long (seconds) a cache object will
- be hold in memory. The object will be thrown out,
- when the time is over.
- interval: Indicates the interval of the cleanup thread in seconds.
- maxobjects: Indicates how many objects will be hold in the cache.
- When the number of maxobjects has been reached. The
- last object in the cache will be thrown out.
- usethread: Indicates whether we use a cleanup thread or not.
- threadpriority: Indicates the priority of the cleanup thread.
- (1 is the lowest priority and 10 is the highest).
- filesystem: Turns the filesystem storage for objects on or off.
- -->
- <stream-cache class="org.apache.cocoon.components.store.MRUMemoryStore" logger="root.store">
- <parameter name="maxobjects" value="100"/>
- <parameter name="threadpriority" value="5"/>
- <parameter name="filesystem" value="true"/>
- </stream-cache>
-
- <!-- Event Pipeline:
- Connects the generator and the various transformers and produces a
- character stream. Alternatives to CachingEventPipeline are:
- <event-pipeline class="org.apache.cocoon.components.pipeline.NonCachingEventPipeline"/>
- -->
- <event-pipeline class="org.apache.cocoon.components.pipeline.CachingEventPipeline"
- pool-max="32" pool-min="4" pool-grow="4"/>
-
- <!-- Caching of event pipeline:
- freememory: Indicates how much memory should be left free in the
- JVM for normal operation.
- heapsize: Indicates how big the heap size can grow to before the
- cleanup thread kicks in.
- objectlifetime: Indicates how long (seconds) a cache object will
- be hold in memory. The object will be thrown out,
- when the time is over.
- interval: Indicates the interval of the cleanup thread in seconds.
- maxobjects: Indicates how many objects will be hold in the cache.
- When the number of maxobjects has been reached. The
- last object in the cache will be thrown out.
- usethread: Indicates whether we use a cleanup thread or not.
- threadpriority: Indicates the priority of the cleanup thread.
- (1 is the lowest priority and 10 is the highest).
- filesystem: Turns the filesystem storage for objects on or off.
- -->
- <event-cache class="org.apache.cocoon.components.store.MRUMemoryStore" logger="root.store">
- <parameter name="maxobjects" value="100"/>
- <parameter name="threadpriority" value="5"/>
- <parameter name="filesystem" value="true"/>
- </event-cache>
-
- <!-- SAXConnector:
- Connects the various pipeline components.
- LoggingSAXConnector logs SAX events between pipeline components
- into cocoon's log file.
- Uncomment one of the following lines for using the SAXConnector.
- <sax-connector class="org.apache.cocoon.components.saxconnector.LoggingSAXConnector"/>
- -->
-
-<!-- ======================== The sitemap ============================== -->
-
- <!-- Reloading of the sitemap:
- The check-reload attribute determines if the sitemap is reloaded on change.
- Set to "no", the sitemap is generated once at startup.
- Set to "yes", the sitemap is regenerated if it changes.
-
- The reload-method specifies the method for the regeneration:
- asynchron: If the sitemap changes, the sitemap is regenerated at the
- next request in the background and the incoming request is
- served with the old sitemap. All subsequent requests are
- served with the old sitemap until the regeneration in the
- background has finished.
- synchron: If the sitemap changes, the sitemap is regenerated at the
- next request. When the regeneration is finished, the request
- (and all subsequent ones) is served with the new sitemap.
-
- For development environment, set the reload-method to synchron and the
- check-reload to yes.
- For production environment, it is advisable to set the reload-method to
- asynchron and for more safety the check-reload to no.
- -->
- <sitemap file="sitemap.xmap" reload-method="synchron" check-reload="no"/>
-
-</cocoon>
diff --git a/src/documentation/images/.xvpics/header.gif b/src/documentation/images/.xvpics/header.gif
deleted file mode 100644
index 62721418b1..0000000000
--- a/src/documentation/images/.xvpics/header.gif
+++ /dev/null
Binary files differ
diff --git a/src/documentation/images/avalon-compatible.png b/src/documentation/images/avalon-compatible.png
new file mode 100644
index 0000000000..ecdd455a84
--- /dev/null
+++ b/src/documentation/images/avalon-compatible.png
Binary files differ
diff --git a/src/documentation/images/built-with-cocoon.png b/src/documentation/images/built-with-cocoon.png
new file mode 100644
index 0000000000..64e25d3bbf
--- /dev/null
+++ b/src/documentation/images/built-with-cocoon.png
Binary files differ
diff --git a/src/documentation/images/cocoon2-small.jpg b/src/documentation/images/cocoon2-small.jpg
deleted file mode 100755
index e8f6dd8c8c..0000000000
--- a/src/documentation/images/cocoon2-small.jpg
+++ /dev/null
Binary files differ
diff --git a/src/documentation/images/krysalis-compatible.png b/src/documentation/images/krysalis-compatible.png
new file mode 100644
index 0000000000..589305e604
--- /dev/null
+++ b/src/documentation/images/krysalis-compatible.png
Binary files differ
diff --git a/src/documentation/images/made-with-cocoon.png b/src/documentation/images/made-with-cocoon.png
deleted file mode 100644
index e409cb413b..0000000000
--- a/src/documentation/images/made-with-cocoon.png
+++ /dev/null
Binary files differ
diff --git a/src/documentation/linkalarm-readme.txt b/src/documentation/linkalarm-readme.txt
deleted file mode 100755
index dd5646970e..0000000000
--- a/src/documentation/linkalarm-readme.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-The LinkAlarm report for xml.apache.org/cocoon/ is at
-http://reports.linkalarm.com/373104199608/
-
-LinkAlarm scans are run after each release to detect any
-issues that need to be addressed prior to the next release.
-
-The LinkAlarm report gives detailed HTML views of the situation
-in an easy-to-read style. However, the summary file that is
-explained below has concise info about actual broken links.
-One other LinkAlarm page that is of special interest is the
-"mailto:" validation page (those errors are not included in
-the summary listing below).
-
-To facilitate the management of link mending by the cocoon-dev
-team, there is a summary file in the HEAD CVS at
- documentation/linkalarm-broken.txt
-This tab-delimited file has the following format ...
-
-status problem_link referring_page response_code meaning comment
-
-where "status" has these codes ...
- - ... not yet addressed
- F ... fixed
- ? ... has some issue (see the "comment" field)
- [1-3] ... external link has been broken for n runs
-
-To reduce duplication of effort, please update the "status"
-tag for each issue that you might address.
diff --git a/src/documentation/sitemap.xmap b/src/documentation/sitemap.xmap
index 49b348ba8b..be3090722b 100755
--- a/src/documentation/sitemap.xmap
+++ b/src/documentation/sitemap.xmap
@@ -5,35 +5,16 @@
<!-- =========================== Components ================================ -->
<map:components>
-
- <map:generators default="file">
- <map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" label="content"/>
- <!-- FIXME: Change this once better view handling is implemented -->
- <map:generator name="file-nolabel" src="org.apache.cocoon.generation.FileGenerator"/>
- </map:generators>
-
- <map:transformers default="xslt">
- <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer">
- <use-request-parameters>false</use-request-parameters>
- <use-browser-capabilities-db>false</use-browser-capabilities-db>
- </map:transformer>
- </map:transformers>
-
- <map:readers default="resource">
- <map:reader name="resource" src="org.apache.cocoon.reading.ResourceReader"/>
- </map:readers>
-
- <map:serializers default="html">
- <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.HTMLSerializer">
- <encoding>iso8859-1</encoding>
- </map:serializer>
- <map:serializer name="xml" mime-type="text/xml" src="org.apache.cocoon.serialization.XMLSerializer"/>
- <map:serializer name="links" src="org.apache.cocoon.serialization.LinkSerializer"/>
- </map:serializers>
-
- <map:matchers default="wildcard">
+ <!-- Components used are declared in the cocoon tool section -->
+
+ <map:generators default="file"/> <!-- available: file, serverpages -->
+ <map:transformers default="xslt"/> <!-- available: xslt -->
+ <map:readers default="resource"/> <!-- available: resource -->
+ <map:serializers default="html"/> <!-- available: html, xml, links -->
+ <map:matchers default="wildcard">
<map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
</map:matchers>
+
</map:components>
<!-- =========================== Views =================================== -->
@@ -54,7 +35,7 @@
<map:pipelines>
- <!-- C2 documentation pipeline -->
+ <!-- Documentation pipeline -->
<map:pipeline>
<map:match pattern="">
<map:redirect-to uri="index.html"/>
@@ -70,7 +51,7 @@
</map:match>
<map:match pattern="body-todo.xml">
- <map:generate type="file-nolabel" src="xdocs/todo.xml"/>
+ <map:generate type="file" src="xdocs/todo.xml"/>
<map:transform src="stylesheets/todo2document.xsl" label="content"/>
<map:transform src="stylesheets/document2docbook.xsl"/>
<map:transform src="stylesheets/docbook2body.xsl"/>
@@ -78,7 +59,7 @@
</map:match>
<map:match pattern="body-changes.xml">
- <map:generate type="file-nolabel" src="xdocs/changes.xml"/>
+ <map:generate type="file" src="xdocs/changes.xml"/>
<map:transform src="stylesheets/changes2document.xsl" label="content"/>
<map:transform src="stylesheets/document2docbook.xsl"/>
<map:transform src="stylesheets/docbook2body.xsl"/>
@@ -86,40 +67,13 @@
</map:match>
<map:match pattern="body-faq.xml">
- <map:generate type="file-nolabel" src="xdocs/faq.xml"/>
+ <map:generate type="file" src="xdocs/faq.xml"/>
<map:transform src="stylesheets/faq2document.xsl" label="content"/>
<map:transform src="stylesheets/document2docbook.xsl"/>
<map:transform src="stylesheets/docbook2body.xsl"/>
<map:serialize/>
</map:match>
- <!-- Generate the "doclist" - list of all documentation
- The first match generates each book.xml and adds a new attribute "uri".
- The second match aggregates each book.xml into a doclist and
- then converts it to a document.
- -->
- <map:match pattern="doclist/xdocs/**book.xml">
- <map:generate src="xdocs/{1}book.xml"/>
- <map:transform src="stylesheets/doclist.xsl">
- <map:parameter name="uri" value="{1}"/>
- </map:transform>
- <map:serialize type="xml"/>
- </map:match>
- <map:match pattern="body-doclist.xml">
- <map:aggregate element="doclist">
- <map:part src="cocoon:/doclist/xdocs/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/plan/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/poifs/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/hdf/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/hssf/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/hpsf/book.xml"/>
- <map:part src="cocoon:/doclist/xdocs/utils/book.xml"/>
- </map:aggregate>
- <map:transform src="stylesheets/doclist2document.xsl"/>
- <map:transform src="stylesheets/document2html.xsl"/>
- <map:serialize type="html"/>
- </map:match>
-
<map:match pattern="body-**.xml">
<map:generate src="xdocs/{1}.xml"/>
<map:transform src="stylesheets/document2docbook.xsl"/>
@@ -165,18 +119,10 @@
<!-- ================ Static =========================== -->
- <map:match pattern="**sample/**">
- <map:read src="xdocs/{1}sample/{2}" mime-type="text/plain"/>
- </map:match>
-
<map:match pattern="**.txt">
<map:read src="xdocs/{1}.txt" mime-type="text/plain"/>
</map:match>
- <map:match pattern="**resources/script.js">
- <map:read src="stylesheets/script-cli.js" mime-type="application/javascript"/>
- </map:match>
-
<map:match pattern="**resources/**.js">
<map:read src="stylesheets/{2}.js" mime-type="application/javascript"/>
</map:match>
@@ -197,15 +143,6 @@
<map:read src="images/{2}.gif" mime-type="image/gif"/>
</map:match>
- <map:match pattern="**graphics/**-*.jpg">
- <map:generate src="svg/{3}.xml"/>
- <map:transform src="svg/addlabel.xsl">
- <map:parameter name="use-request-parameters" value="true"/>
- <map:parameter name="label" value="{2}"/>
- </map:transform>
- <map:serialize type="svg2jpeg"/>
- </map:match>
-
</map:pipeline>
</map:pipelines>
diff --git a/src/documentation/stylesheets/announcement.xsl b/src/documentation/stylesheets/announcement.xsl
deleted file mode 100755
index 230506202c..0000000000
--- a/src/documentation/stylesheets/announcement.xsl
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:template match="changes">
- <xsl:variable name="file" select="concat('../', @file)"/>
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document($file)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/book2menu.xsl b/src/documentation/stylesheets/book2menu.xsl
index e97057fd1f..ab0fb1fe4e 100755
--- a/src/documentation/stylesheets/book2menu.xsl
+++ b/src/documentation/stylesheets/book2menu.xsl
@@ -14,20 +14,16 @@
</xsl:template>
<xsl:template match="menu">
- <font color="#000000" size="+1"><xsl:value-of select="@label"/></font>
- <font size="-1">
- <ul>
+ <hr/>
+ <span class="s1"><xsl:value-of select="@label"/></span><br/>
<xsl:apply-templates/>
- </ul>
- </font><br/>
</xsl:template>
<xsl:template match="menu-item">
<xsl:if test="not(@type) or @type!='hidden'">
- <li><a href="{@href}"><font size="-1"><xsl:value-of select="@label"/></font></a></li>
+ <a href="{@href}" class="s1"><xsl:value-of select="@label"/></a><br/>
</xsl:if>
</xsl:template>
<xsl:template match="node()|@*" priority="-1"/>
-</xsl:stylesheet>
-
+</xsl:stylesheet> \ No newline at end of file
diff --git a/src/documentation/stylesheets/docbook2body.xsl b/src/documentation/stylesheets/docbook2body.xsl
index 88f0d6928a..27621919be 100755
--- a/src/documentation/stylesheets/docbook2body.xsl
+++ b/src/documentation/stylesheets/docbook2body.xsl
@@ -6,16 +6,31 @@
<xsl:template match="book">
<body>
<title><xsl:value-of select="title"/></title>
- <center>
- <table width="80%">
- <tr>
- <td bgcolor="#F3DD61">
- <br/><center><b><xsl:value-of select="title"/><xsl:if test="subtitle"><xsl:text>: </xsl:text><xsl:value-of select="subtitle"/></xsl:if></b></center>
- <br/>
- </td>
- </tr>
- </table>
- </center><br/>
+ <table class="centered" align="center" width="100%">
+ <tbody>
+ <tr>
+ <td align="center">
+ <table class="title" cellspacing="0" cellpadding="1" border="0">
+ <tbody>
+ <tr>
+ <td bgcolor="#525d76">
+ <table class="centered" cellspacing="0" cellpadding="2" border="0" width="100%">
+ <tbody>
+ <tr>
+ <td bgcolor="#f3dd61">
+ <span class="title"><xsl:value-of select="title"/><xsl:if test="subtitle"><xsl:text>: </xsl:text><xsl:value-of select="subtitle"/></xsl:if></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
<xsl:apply-templates select="dedication"/>
<xsl:apply-templates select="bookinfo"/>
</body>
@@ -25,15 +40,31 @@
<body>
<xsl:if test="normalize-space(title)!=''">
<title><xsl:value-of select="title"/></title>
- <center>
- <table width="80%">
- <tr>
- <td bgcolor="#F3DD61">
- <font size="+1" face="Arial,sans-serif"><center><b><xsl:value-of select="title"/></b></center></font>
- </td>
- </tr>
- </table>
- </center>
+ <table class="centered" align="center" width="100%">
+ <tbody>
+ <tr>
+ <td align="center">
+ <table class="title" cellspacing="0" cellpadding="1" border="0">
+ <tbody>
+ <tr>
+ <td bgcolor="#525d76">
+ <table class="centered" cellspacing="0" cellpadding="2" border="0" width="100%">
+ <tbody>
+ <tr>
+ <td bgcolor="#f3dd61">
+ <span class="title"><xsl:value-of select="title"/></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
</xsl:if>
<xsl:if test="subtitle">
@@ -58,7 +89,7 @@
<xsl:apply-templates select="para"/>
- <br/>
+
<xsl:apply-templates select="section">
<xsl:with-param name="level" select="1"/>
@@ -424,13 +455,6 @@
<xsl:apply-templates/>
</xsl:template>
- <xsl:template match="entry[@role='th']">
- <td align="center" bgcolor="#006CB8" valign="top"
- style="font-weight: bold">
- <font color="#ffffff" size="-1"><xsl:apply-templates/></font>
- </td>
- </xsl:template>
-
<xsl:template match="entry">
<td align="left" bgcolor="#a0ddf0" valign="top">
<font color="#000000" size="-1"><xsl:apply-templates/></font>
diff --git a/src/documentation/stylesheets/doclist.xsl b/src/documentation/stylesheets/doclist.xsl
deleted file mode 100755
index ecb2465bf2..0000000000
--- a/src/documentation/stylesheets/doclist.xsl
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
- <xsl:param name="uri"/>
-
- <xsl:template match="book">
- <book title="{@title}" uri="{$uri}">
- <xsl:copy-of select="node()"/>
- </book>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/doclist2document.xsl b/src/documentation/stylesheets/doclist2document.xsl
deleted file mode 100755
index 4219c63519..0000000000
--- a/src/documentation/stylesheets/doclist2document.xsl
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
- <xsl:template match="doclist">
- <document>
- <header>
- <title>List of all documentation</title>
- </header>
- <body>
- <s1 title="Documentation List">
- <p>
- This complete list shows, at a glance, how all of the documentation
- fits together within the hierarchy of sections.
-<!-- For an overview of the documentation see the new
- &quot;Table of Contents&quot;. -->
- </p>
- <p>
- The side-panel of each actual document is used to reach other documents
- that are relevant to that section. The side-panel will change, according
- to that section's location in the documentation hierarchy.
- </p>
- </s1>
- <xsl:apply-templates/>
- </body>
- </document>
- </xsl:template>
-
- <xsl:template match="book">
- <s1 title="{@title}">
- <xsl:if test="position()=1">
- <p>This first section is a list of the top-level documentation
- (and is a replica of this page's side-panel).</p>
- </xsl:if>
- <xsl:apply-templates/>
- </s1>
- </xsl:template>
-
- <xsl:template match="menu">
- <xsl:if test="@label!='Navigation'">
- <p><strong><xsl:value-of select="@label"/></strong></p>
- <ul>
- <xsl:apply-templates>
- <xsl:with-param name="uri" select="../@uri"/>
- </xsl:apply-templates>
- </ul>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="menu-item">
- <xsl:param name="uri"/>
- <xsl:if test="not(@type) or @type!='hidden'">
- <xsl:if test="@label!='Main' and @label!='User Documentation'">
-<!-- FIXME: ensure href is not full URL scheme:// -->
-<!--
- (uri=<xsl:value-of select="$uri"/> href=<xsl:value-of select="@href"/>)
--->
- <li><link href="{$uri}{@href}"><xsl:value-of select="@label"/></link>
- </li>
- </xsl:if>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="external">
- <xsl:param name="uri"/>
- <xsl:if test="not(@type) or @type!='hidden'">
- <xsl:choose>
- <!-- FIXME: specially handle menu item "API (Javadoc)", it causes a bug. -->
- <xsl:when test="starts-with(@label,'API')">
- <li><link href="http://xml.apache.org/cocoon/apidocs/"><xsl:value-of select="@label"/></link></li>
-<!-- FIXME: here is the bug:
- <li><link href="{@href}"><xsl:value-of select="@label"/></link></li>
- <li><xsl:value-of select="@label"/>href=<xsl:value-of select="@href"/></li>
--->
- </xsl:when>
- <xsl:otherwise>
- <li><link href="{@href}"><xsl:value-of select="@label"/></link></li>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/document2docbook.xsl b/src/documentation/stylesheets/document2docbook.xsl
index 2967f76916..33b48beae2 100755
--- a/src/documentation/stylesheets/document2docbook.xsl
+++ b/src/documentation/stylesheets/document2docbook.xsl
@@ -144,7 +144,11 @@
<table>
<tgroup>
<xsl:attribute name="cols"><xsl:value-of select="count(tr/td)"/></xsl:attribute>
- <xsl:apply-templates select="th"/>
+ <xsl:if test="th">
+ <thead>
+ <xsl:apply-templates select="th"/>
+ </thead>
+ </xsl:if>
<tbody>
<xsl:apply-templates select="tr"/>
</tbody>
@@ -152,13 +156,7 @@
</table>
</xsl:template>
- <xsl:template match="th">
- <entry role="th">
- <xsl:apply-templates/>
- </entry>
- </xsl:template>
-
- <xsl:template match="tr">
+ <xsl:template match="th|tr">
<row>
<xsl:apply-templates/>
</row>
@@ -176,3 +174,4 @@
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
+
diff --git a/src/documentation/stylesheets/document2html.xsl b/src/documentation/stylesheets/document2html.xsl
deleted file mode 100755
index f64b59b51a..0000000000
--- a/src/documentation/stylesheets/document2html.xsl
+++ /dev/null
@@ -1,389 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
-
-<!-- ====================================================================== -->
-<!-- document section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="/">
- <!-- checks if this is the included document to avoid neverending loop -->
- <xsl:if test="not(book)">
- <document>
- <xsl:choose>
- <xsl:when test="document/header/title">
- <title><xsl:value-of select="document/header/title"/></title>
- </xsl:when>
- <xsl:otherwise>
- <title>NO TITLE</title>
- </xsl:otherwise>
- </xsl:choose>
- <body text="#000000" link="#039acc" vlink="#0086b2" alink="#cc0000"
- topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
- bgcolor="#ffffff">
-
- <xsl:apply-templates/>
-
- </body>
- </document>
- </xsl:if>
-
- <xsl:if test="book">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- header section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="header">
- <!-- ignore on general document -->
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- body section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="s1">
- <div align="right">
- <table border="0" width="98%" cellspacing="0" cellpadding="0">
- <tr>
- <td width="9" height="7" valign="bottom" align="right"><img src="images/bar-top-left.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-top.gif"><img src="images/void.gif" width="1" height="5" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="7" valign="bottom" align="left"><img src="images/bar-top-right.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" background="images/bar-border-left.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- <td width="100%" bgcolor="#0086b2">
- <font size="+1" face="arial,helvetica,sanserif" color="#ffffff">
- <img src="images/void.gif" width="5" height="5" vspace="0" hspace="0" border="0"/><b><xsl:value-of select="@title"/></b></font>
- </td>
- <td width="9" background="images/bar-border-right.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" height="12" valign="top" align="right"><img src="images/bar-bottom-left.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-bottom.gif"><img src="images/void.gif" height="12" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="12" valign="top" align="left"><img src="images/bar-bottom-right.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- </tr>
- </table>
- <table border="0" width="98%" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
- </td>
- </tr>
- </table>
- </div>
- <br/>
- </xsl:template>
-
- <xsl:template match="s2">
- <div align="right">
- <table border="0" width="95%" cellspacing="0" cellpadding="0">
- <tr>
- <td width="9" height="7" valign="bottom" align="right"><img src="images/bar-top-left.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-top.gif"><img src="images/void.gif" width="1" height="5" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="7" valign="bottom" align="left"><img src="images/bar-top-right.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" background="images/bar-border-left.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- <td width="100%" bgcolor="#0086b2">
- <font face="arial,helvetica,sanserif" color="#ffffff">
- <img src="images/void.gif" width="5" height="5" vspace="0" hspace="0" border="0"/><b><xsl:value-of select="@title"/></b></font>
- </td>
- <td width="9" background="images/bar-border-right.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" height="12" valign="top" align="right"><img src="images/bar-bottom-left.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-bottom.gif"><img src="images/void.gif" width="1" height="12" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="12" valign="top" align="left"><img src="images/bar-bottom-right.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- </tr>
- </table>
- <table border="0" width="95%" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
- </td>
- </tr>
- </table>
- </div>
- <br/>
- </xsl:template>
-
- <xsl:template match="s3">
- <div align="right">
- <table border="0" width="90%" cellspacing="0" cellpadding="0">
- <tr>
- <td width="9" height="7" valign="bottom" align="right"><img src="images/bar-top-left.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-top.gif"><img src="images/void.gif" width="1" height="5" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="7" valign="bottom" align="left"><img src="images/bar-top-right.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" background="images/bar-border-left.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- <td width="100%" bgcolor="#0086b2">
- <font size="-1" face="arial,helvetica,sanserif" color="#ffffff">
- <img src="images/void.gif" width="5" height="5" vspace="0" hspace="0" border="0"/><b><xsl:value-of select="@title"/></b></font>
- </td>
- <td width="9" background="images/bar-border-right.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" height="12" valign="top" align="right"><img src="images/bar-bottom-left.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-bottom.gif"><img src="images/void.gif" width="1" height="12" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="12" valign="top" align="left"><img src="images/bar-bottom-right.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- </tr>
- </table>
- <table border="0" width="90%" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
- </td>
- </tr>
- </table>
- </div>
- <br/>
- </xsl:template>
-
- <xsl:template match="s4">
- <div align="right">
- <table border="0" width="85%" cellspacing="0" cellpadding="0">
- <tr>
- <td width="9" height="7" valign="bottom" align="right"><img src="images/bar-top-left.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-top.gif"><img src="images/void.gif" width="1" height="5" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="7" valign="bottom" align="left"><img src="images/bar-top-right.gif" width="9" height="7" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" background="images/bar-border-left.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- <td width="100%" bgcolor="#0086b2">
- <font size="-2" face="arial,helvetica,sanserif" color="#ffffff">
- <img src="images/void.gif" width="5" height="5" vspace="0" hspace="0" border="0"/><b><xsl:value-of select="@title"/></b></font>
- </td>
- <td width="9" background="images/bar-border-right.gif"><img src="images/void.gif" width="9" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td width="9" height="12" valign="top" align="right"><img src="images/bar-bottom-left.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- <td background="images/bar-border-bottom.gif"><img src="images/void.gif" width="1" height="12" vspace="0" hspace="0" border="0"/></td>
- <td width="9" height="12" valign="top" align="left"><img src="images/bar-bottom-right.gif" width="9" height="12" vspace="0" hspace="0" border="0"/></td>
- </tr>
- </table>
- <table border="0" width="85%" cellspacing="0" cellpadding="0">
- <tr>
- <td>
- <font face="arial,helvetica,sanserif" color="#000000"><xsl:apply-templates/></font>
- </td>
- </tr>
- </table>
- </div>
- <br/>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- footer section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="footer">
- <!-- ignore on general documents -->
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- paragraph section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="p">
- <p align="justify"><xsl:apply-templates/></p>
- </xsl:template>
-
- <xsl:template match="note">
- <p>
- <table width="100%" cellspacing="3" cellpadding="0" border="0">
- <tr>
- <td width="28" valign="top">
- <img src="images/note.gif" width="28" height="29" vspace="0" hspace="0" border="0" alt="Note"/>
- </td>
- <td valign="top">
- <font size="-1" face="arial,helvetica,sanserif" color="#000000">
- <i>
- <xsl:apply-templates/>
- </i>
- </font>
- </td>
- </tr>
- </table>
- </p>
- </xsl:template>
-
- <xsl:template match="source">
- <div align="center">
- <table cellspacing="4" cellpadding="0" border="0">
- <tr>
- <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- <td bgcolor="#0086b2" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td bgcolor="#0086b2" width="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- <td bgcolor="#ffffff"><pre><xsl:apply-templates/></pre></td>
- <td bgcolor="#0086b2" width="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- <tr>
- <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- <td bgcolor="#0086b2" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- <td bgcolor="#0086b2" width="1" height="1"><img src="images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
- </tr>
- </table>
- </div>
- </xsl:template>
-
- <xsl:template match="fixme">
- <!-- ignore on documentation -->
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- list section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="ul|ol|dl">
- <blockquote>
- <xsl:copy>
- <xsl:apply-templates/>
- </xsl:copy>
- </blockquote>
- </xsl:template>
-
- <xsl:template match="li">
- <xsl:copy>
- <xsl:apply-templates/>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template match="sl">
- <ul>
- <xsl:apply-templates/>
- </ul>
- </xsl:template>
-
- <xsl:template match="dt">
- <li>
- <strong><xsl:value-of select="."/></strong>
- <xsl:text> - </xsl:text>
- <xsl:apply-templates select="dd"/>
- </li>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- table section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="table">
- <table width="100%" border="0" cellspacing="2" cellpadding="2">
- <caption><xsl:value-of select="caption"/></caption>
- <xsl:apply-templates/>
- </table>
- </xsl:template>
-
- <xsl:template match="tr">
- <tr><xsl:apply-templates/></tr>
- </xsl:template>
-
- <xsl:template match="th">
- <td bgcolor="#039acc" colspan="{@colspan}" rowspan="{@rowspan}" valign="center" align="center">
- <font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
- <b><xsl:apply-templates/></b>&#160;
- </font>
- </td>
- </xsl:template>
-
- <xsl:template match="td">
- <td bgcolor="#a0ddf0" colspan="{@colspan}" rowspan="{@rowspan}" valign="top" align="left">
- <font color="#000000" size="-1" face="arial,helvetica,sanserif">
- <xsl:apply-templates/>&#160;
- </font>
- </td>
- </xsl:template>
-
- <xsl:template match="tn">
- <td bgcolor="#ffffff" colspan="{@colspan}" rowspan="{@rowspan}">
- &#160;
- </td>
- </xsl:template>
-
- <xsl:template match="caption">
- <!-- ignore since already used -->
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- markup section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="strong">
- <b><xsl:apply-templates/></b>
- </xsl:template>
-
- <xsl:template match="em">
- <i><xsl:apply-templates/></i>
- </xsl:template>
-
- <xsl:template match="code">
- <code><font face="courier, monospaced"><xsl:apply-templates/></font></code>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- images section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="figure">
- <p align="center">
- <xsl:choose>
- <xsl:when test="string(@width) and string(@height)">
- <img src="{@src}" alt="{@alt}" width="{@width}" height="{@height}" border="0" vspace="4" hspace="4"/>
- </xsl:when>
- <xsl:otherwise>
- <img src="{@src}" alt="{@alt}" border="0" vspace="4" hspace="4"/>
- </xsl:otherwise>
- </xsl:choose>
- </p>
- </xsl:template>
-
- <xsl:template match="img">
- <img src="{@src}" alt="{@alt}" border="0" vspace="4" hspace="4" align="right"/>
- </xsl:template>
-
- <xsl:template match="icon">
- <img src="{@src}" alt="{@alt}" border="0" align="absmiddle"/>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- links section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="link">
- <a href="{@href}"><xsl:apply-templates/></a>
- </xsl:template>
-
- <xsl:template match="connect">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="jump">
- <a href="{@href}#{@anchor}"><xsl:apply-templates/></a>
- </xsl:template>
-
- <xsl:template match="fork">
- <a href="{@href}" target="_blank"><xsl:apply-templates/></a>
- </xsl:template>
-
- <xsl:template match="anchor">
- <a name="{@id}"><xsl:comment>anchor</xsl:comment></a>
- </xsl:template>
-
-<!-- ====================================================================== -->
-<!-- specials section -->
-<!-- ====================================================================== -->
-
- <xsl:template match="br">
- <br/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/announcement2txt.xsl b/src/documentation/stylesheets/projectinfo2announcement.xsl
index d5c3ab87a8..dd9e2c0f26 100755..100644
--- a/src/documentation/stylesheets/announcement2txt.xsl
+++ b/src/documentation/stylesheets/projectinfo2announcement.xsl
@@ -2,7 +2,6 @@
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:import href="announcement.xsl"/>
<xsl:output method="text" indent="no"/>
<xsl:template match="announcement">
diff --git a/src/documentation/stylesheets/projectinfo2todo.xsl b/src/documentation/stylesheets/projectinfo2todo.xsl
new file mode 100644
index 0000000000..dd9e2c0f26
--- /dev/null
+++ b/src/documentation/stylesheets/projectinfo2todo.xsl
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text" indent="no"/>
+
+ <xsl:template match="announcement">
+ <xsl:variable name="titlelen" select="string-length(project)+9"/>
+ <text>
+ <xsl:value-of select="project"/><xsl:text> Released
+</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="$titlelen"/>
+ </xsl:call-template>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="abstract"/>
+ <xsl:apply-templates select="body"/>
+ <xsl:text>
+For more information about </xsl:text>
+ <xsl:value-of select="project"/>
+ <xsl:text>, please go to
+</xsl:text>
+ <xsl:value-of select="@site"/>
+ <xsl:text>
+
+Changes with </xsl:text>
+ <xsl:value-of select="project"/>
+ <xsl:text>
+
+</xsl:text>
+ <xsl:apply-templates select="changes"/>
+ </text>
+ </xsl:template>
+
+ <xsl:template match="project"/>
+ <xsl:template match="title"/>
+
+ <xsl:template match="subproject">
+ <xsl:variable name="titlelen" select="string-length(title)"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="$titlelen"/>
+ </xsl:call-template>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="abstract"/>
+ <xsl:text>
+For more information about </xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>, please go to
+</xsl:text>
+ <xsl:value-of select="@site"/>
+ <xsl:text>
+
+Changes with </xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>
+
+</xsl:text>
+ <xsl:apply-templates select="changes"/>
+ </xsl:template>
+
+ <xsl:template match="abstract">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="p">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="link">
+ <xsl:value-of select="."/>
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="@href"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="release">
+ <xsl:for-each select="action">
+ <xsl:text>*) </xsl:text>
+ <xsl:value-of select="normalize-space(.)"/><xsl:text> </xsl:text>
+ <xsl:if test="@dev">
+ <xsl:text>[</xsl:text>
+ <xsl:value-of select="@dev"/>
+ <xsl:text>]</xsl:text>
+ </xsl:if>
+ <xsl:text>
+
+</xsl:text>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="line">
+ <xsl:param name="len"/>
+ <xsl:if test="number($len) > 0">
+ <xsl:text>-</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="number($len)-1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/projectinfo2txt.xsl b/src/documentation/stylesheets/projectinfo2txt.xsl
new file mode 100644
index 0000000000..dd9e2c0f26
--- /dev/null
+++ b/src/documentation/stylesheets/projectinfo2txt.xsl
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text" indent="no"/>
+
+ <xsl:template match="announcement">
+ <xsl:variable name="titlelen" select="string-length(project)+9"/>
+ <text>
+ <xsl:value-of select="project"/><xsl:text> Released
+</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="$titlelen"/>
+ </xsl:call-template>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="abstract"/>
+ <xsl:apply-templates select="body"/>
+ <xsl:text>
+For more information about </xsl:text>
+ <xsl:value-of select="project"/>
+ <xsl:text>, please go to
+</xsl:text>
+ <xsl:value-of select="@site"/>
+ <xsl:text>
+
+Changes with </xsl:text>
+ <xsl:value-of select="project"/>
+ <xsl:text>
+
+</xsl:text>
+ <xsl:apply-templates select="changes"/>
+ </text>
+ </xsl:template>
+
+ <xsl:template match="project"/>
+ <xsl:template match="title"/>
+
+ <xsl:template match="subproject">
+ <xsl:variable name="titlelen" select="string-length(title)"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="$titlelen"/>
+ </xsl:call-template>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="abstract"/>
+ <xsl:text>
+For more information about </xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>, please go to
+</xsl:text>
+ <xsl:value-of select="@site"/>
+ <xsl:text>
+
+Changes with </xsl:text>
+ <xsl:value-of select="title"/>
+ <xsl:text>
+
+</xsl:text>
+ <xsl:apply-templates select="changes"/>
+ </xsl:template>
+
+ <xsl:template match="abstract">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="p">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="link">
+ <xsl:value-of select="."/>
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="@href"/>
+ <xsl:text>)</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="release">
+ <xsl:for-each select="action">
+ <xsl:text>*) </xsl:text>
+ <xsl:value-of select="normalize-space(.)"/><xsl:text> </xsl:text>
+ <xsl:if test="@dev">
+ <xsl:text>[</xsl:text>
+ <xsl:value-of select="@dev"/>
+ <xsl:text>]</xsl:text>
+ </xsl:if>
+ <xsl:text>
+
+</xsl:text>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template name="line">
+ <xsl:param name="len"/>
+ <xsl:if test="number($len) > 0">
+ <xsl:text>-</xsl:text>
+ <xsl:call-template name="line">
+ <xsl:with-param name="len" select="number($len)-1"/>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/src/documentation/stylesheets/script-cli.js b/src/documentation/stylesheets/script-cli.js
deleted file mode 100755
index 580dd4a1ba..0000000000
--- a/src/documentation/stylesheets/script-cli.js
+++ /dev/null
@@ -1,27 +0,0 @@
-rolloverImagesOn=new Array();
-rolloverImagesOff=new Array();
-
-function rolloverOn(name) {
- if(document.images[name] && rolloverImagesOn[name]) document.images[name].src=rolloverImagesOn[name].src;
-}
-
-function rolloverOff(name) {
- if(document.images[name] && rolloverImagesOff[name]) document.images[name].src=rolloverImagesOff[name].src;
-}
-
-
-function rolloverLoad(name,on,off) {
- rolloverImagesOn[name]=new Image();
- rolloverImagesOn[name].src=mangle(on);
- rolloverImagesOff[name]=new Image();
- rolloverImagesOff[name].src=mangle(off);
-}
-
-function mangle(name) {
-
- name = name.replace(/:/g, "_");
- name = name.replace(/\?/g, "_");
- name = name.replace(/\"/g, "\'");
-
- return name;
-}
diff --git a/src/documentation/stylesheets/script.js b/src/documentation/stylesheets/script.js
deleted file mode 100755
index 77a2762c86..0000000000
--- a/src/documentation/stylesheets/script.js
+++ /dev/null
@@ -1,17 +0,0 @@
-rolloverImagesOn=new Array();
-rolloverImagesOff=new Array();
-
-function rolloverOn(name) {
- if(document.images[name] && rolloverImagesOn[name]) document.images[name].src=rolloverImagesOn[name].src;
-}
-
-function rolloverOff(name) {
- if(document.images[name] && rolloverImagesOff[name]) document.images[name].src=rolloverImagesOff[name].src;
-}
-
-function rolloverLoad(name,on,off) {
- rolloverImagesOn[name]=new Image();
- rolloverImagesOn[name].src=on;
- rolloverImagesOff[name]=new Image();
- rolloverImagesOff[name].src=off;
-} \ No newline at end of file
diff --git a/src/documentation/stylesheets/site2xhtml.xsl b/src/documentation/stylesheets/site2xhtml.xsl
index 709963b174..f1de4da669 100755
--- a/src/documentation/stylesheets/site2xhtml.xsl
+++ b/src/documentation/stylesheets/site2xhtml.xsl
@@ -2,66 +2,85 @@
<html xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xsl:version="1.0">
- <head><title><xsl:value-of select="/site/body/title"/></title></head>
- <body text="#000000" link="#525D76" vlink="#023264" alink="#023264"
- topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
- bgcolor="#ffffff">
+ <head>
+ <meta content="text/html; charset=ISO-8859-1"/>
+ <title><xsl:value-of select="/site/body/title"/></title>
+<style type="text/css">
+<![CDATA[ body { background-color: white; font-size: normal; color: black ; }
+ a { color: #525d76; }
+ a.black { color: #000000;}
+ table {border-width: 0; width: 100%}
+ table.centered {text-align: center}
+ table.title {text-align: center; width: 80%}
+ img{border-width: 0;}
+ span.s1 {font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #000000; }
+ span.s1_white { font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #ffffff; }
+ span.title {font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #000000; }
+ span.c1 {color: #000000; font-family: Helvetica, Arial, sans-serif}
+ tr.left {text-align: left}
+ hr { width: 100%; size: 2} ]]>
+</style>
+ </head>
+ <body>
+
+ <!-- header -->
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+<tr>
+<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"/></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"/></td>
+</tr>
+<tr>
+<td bgcolor="#525d76" colspan="2"><span class="c1"><a href="http://www.apache.org/" class="black">www.apache.org &gt;</a><a href="http://jakarta.apache.org/" class="black">jakarta.apache.org &gt;</a><a class="black" href="http://jakarta.apache.org/poi/">jakarta.apache.org/poi</a></span></td>
+</tr>
+<tr>
+<td height="8"></td>
+</tr>
+</table>
+
+ <!-- main -->
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
- <td valign="top" align="left">
- <a href="http://jakarta.apache.org/index.html">
- <img hspace="0" vspace="0" border="0" src="images/jakarta-logo.gif"/>
- </a>
- </td>
- <td width="100%" valign="top" align="left" bgcolor="#ffffff">
- <img hspace="0"
- vspace="0"
- border="0"
- align="right"
- src="images/header.gif"/>
- </td>
- </tr>
- <tr>
- <td width="100%" height="2" colspan="2"><hr noshade="" size="1"/></td>
- </tr>
- </table>
-
- <table width="100%" cellspacing="0" cellpadding="0" border="0">
- <tr>
- <td width="1%" valign="top"/>
+ <!-- left menu -->
+ <td width="1%"><br/></td>
<td width="14%" valign="top" nowrap="1">
- <br/>
- <font face="arial,helvetica,sanserif">
- <br/>
- <xsl:copy-of select="/site/menu/node()|@*"/>
- <br/>
- </font>
+ <xsl:copy-of select="/site/menu/node()|@*"/>
</td>
+ <td width="1%"><br/></td>
+
+ <!-- contents -->
<td width="*" valign="top" align="left">
<xsl:copy-of select="/site/body/node()|@*"/>
</td>
</tr>
</table>
<br/>
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr><td><hr noshade="" size="1"/></td></tr>
- <tr>
- <td align="center">
- <font face="arial,helvetica,sanserif" size="-1" color="#525D76">
- <i>
- Copyright &#169;2002 Apache Software Foundation
- </i>
- </font>
- </td>
- <td align="right" width="5%">
- <img hspace="0"
- vspace="0"
- border="0"
- align="right"
- src="images/cocoon2-small.jpg"/>
- </td>
- </tr>
+
+ <!-- footer -->
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
+ <tbody>
+ <tr>
+ <td>
+ <hr size="1" noshade=""/>
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ <i>Copyright &#x00A9; 2002 Apache Software Foundation</i>
+ </td>
+ </tr>
+ <tr>
+ <td width="100%" align="right">
+ <br/>
+ </td>
+ </tr>
+ <tr>
+ <td width="100%" align="right">
+ <a href="http://krysalis.org/"><img src="images/krysalis-compatible.png" alt="Krysalis Logo"/></a>
+ <a href="http://xml.apache.org/cocoon/"><img src="images/built-with-cocoon.png" alt="Cocoon Logo"/></a>
+ </td>
+ </tr>
+ </tbody>
</table>
+
</body>
</html>
diff --git a/src/documentation/xdocs/book.xml b/src/documentation/xdocs/book.xml
index 3bfbb58f2c..42ff43d7ea 100644
--- a/src/documentation/xdocs/book.xml
+++ b/src/documentation/xdocs/book.xml
@@ -6,10 +6,6 @@
copyright="@year@ Poi Project"
xmlns:xlink="http://www.w3.org/1999/xlink">
- <menu label="Main">
- <menu-item label="Jakarta" href="http://jakarta.apache.org"/>
- </menu>
-
<menu label="About">
<menu-item label="Index" href="index.html"/>
<menu-item label="History" href="historyandfuture.html"/>
@@ -33,7 +29,6 @@
<menu label="References">
<menu-item label="In The News" href="inthenews.html"/>
<menu-item label="Live Sites" href="livesites.html"/>
- <menu-item label="Building" href="building.xml"/>
<menu-item label="XLS spec [PDF]" href="http://sc.openoffice.org/excelfileformat.pdf"/>
<menu-item label="Apache Cocoon" href="http://xml.apache.org/cocoon/"/>
<menu-item label="Resolutions" href="resolutions/index.html"/>
diff --git a/src/java/log4j.properties b/src/java/log4j.properties
new file mode 100644
index 0000000000..a912f3a3c4
--- /dev/null
+++ b/src/java/log4j.properties
@@ -0,0 +1,31 @@
+#log4j.rootCategory=debug, globalLog
+log4j.category.org.apache.poi.hssf=debug, hssfLog
+log4j.category.org.apache.poi.hdf=debug, hdfLog
+log4j.category.org.apache.poi.hpsf=debug, hpsfLog
+log4j.category.org.apache.poi.poifs=debug, poifsLog
+log4j.category.org.apache.poi.util=debug, utilLog
+
+log4j.appender.hssfLog=org.apache.log4j.FileAppender
+log4j.appender.hssfLog.File=hssf.log
+log4j.appender.hssfLog.layout=org.apache.log4j.PatternLayout
+log4j.appender.hssfLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+
+log4j.appender.hdfLog=org.apache.log4j.FileAppender
+log4j.appender.hdfLog.File=hdf.log
+log4j.appender.hdfLog.layout=org.apache.log4j.PatternLayout
+log4j.appender.hdfLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+
+log4j.appender.hpsfLog=org.apache.log4j.FileAppender
+log4j.appender.hpsfLog.File=hpsf.log
+log4j.appender.hpsfLog.layout=org.apache.log4j.PatternLayout
+log4j.appender.hpsfLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+
+log4j.appender.poifsLog=org.apache.log4j.FileAppender
+log4j.appender.poifsLog.File=poifs.log
+log4j.appender.poifsLog.layout=org.apache.log4j.PatternLayout
+log4j.appender.poifsLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+
+log4j.appender.utilLog=org.apache.log4j.FileAppender
+log4j.appender.utilLog.File=util.log
+log4j.appender.utilLog.layout=org.apache.log4j.PatternLayout
+log4j.appender.utilLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
diff --git a/src/java/org/apache/poi/hssf/model/Sheet.java b/src/java/org/apache/poi/hssf/model/Sheet.java
index a7b8507524..c274da546f 100644
--- a/src/java/org/apache/poi/hssf/model/Sheet.java
+++ b/src/java/org/apache/poi/hssf/model/Sheet.java
@@ -61,7 +61,7 @@ import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
-import org.apache.poi.hssf.HSSFLog;
+import org.apache.poi.util.POILogFactory;
import org.apache.poi.hssf
.record.*; // normally I don't do this, buy we literally mean ALL
import org.apache.poi.hssf.record.formula.FormulaUtil;
@@ -106,7 +106,7 @@ public class Sheet
protected MergeCellsRecord merged = null;
protected int mergedloc = 0;
private static POILogger log =
- HSSFLog.getPOILogger(Sheet.class);
+ POILogFactory.getLogger(Sheet.class);
private ArrayList columnSizes =
null; // holds column info
protected ValueRecordsAggregate cells = null;
diff --git a/src/java/org/apache/poi/hssf/model/Workbook.java b/src/java/org/apache/poi/hssf/model/Workbook.java
index 8329a1f00b..d45153f9c9 100644
--- a/src/java/org/apache/poi/hssf/model/Workbook.java
+++ b/src/java/org/apache/poi/hssf/model/Workbook.java
@@ -63,7 +63,7 @@ import java.util.Iterator;
import org.apache.poi.hssf.record.*;
import org.apache.poi.util.POILogger;
-import org.apache.poi.hssf.HSSFLog;
+import org.apache.poi.util.POILogFactory;
/**
* Workbook
@@ -130,7 +130,7 @@ public class Workbook
private int backuppos =
0; // holds the position of the backup record.
private static POILogger log =
- HSSFLog.getPOILogger(Workbook.class);
+ POILogFactory.getLogger(Workbook.class);
/**
* Creates new Workbook with no intitialization --useless right now
diff --git a/src/java/org/apache/poi/hssf/package.uml b/src/java/org/apache/poi/hssf/package.uml
deleted file mode 100755
index e9c4f18f1e..0000000000
--- a/src/java/org/apache/poi/hssf/package.uml
+++ /dev/null
@@ -1,5 +0,0 @@
-V[1.1:net.sourceforge.poi.hssf]
-S[net.sourceforge.poi.hssf:HSSFLog,net.sourceforge.poi.util:POILogFactory]{2:(140,107),(148,329)}
-P[net.sourceforge.poi.hssf:HSSFLog]{20,20}
-P[net.sourceforge.poi.hssf:HSSFLog]{279,20}
-P[net.sourceforge.poi.util:POILogFactory]{11,329}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
index 55ec266bd4..ddb5dc8a65 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
@@ -60,7 +60,7 @@
*/
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.hssf.HSSFLog;
+import org.apache.poi.util.POILogFactory;
import org.apache.poi.hssf.model.Sheet;
import org.apache.poi.hssf.model.Workbook;
import org.apache.poi.hssf.record.*;
@@ -98,7 +98,7 @@ public class HSSFSheet
private Workbook book;
private int firstrow;
private int lastrow;
- private static POILogger log = HSSFLog.getPOILogger(HSSFSheet.class);
+ private static POILogger log = POILogFactory.getLogger(HSSFSheet.class);
/**
* Creates new HSSFSheet - called by HSSFWorkbook to create a sheet from
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
index e41647863a..221f16aed0 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
@@ -59,7 +59,7 @@
*/
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.hssf.HSSFLog;
+import org.apache.poi.util.POILogFactory;
import org.apache.poi.hssf.model.Sheet;
import org.apache.poi.hssf.model.Workbook;
import org.apache.poi.hssf.record.*;
@@ -110,7 +110,7 @@ public class HSSFWorkbook
*/
private ArrayList sheets;
- private static POILogger log = HSSFLog.getPOILogger(HSSFWorkbook.class);
+ private static POILogger log = POILogFactory.getLogger(HSSFWorkbook.class);
/**
* Creates new HSSFWorkbook from scratch (start here!)
diff --git a/src/java/org/apache/poi/util/POILogFactory.java b/src/java/org/apache/poi/util/POILogFactory.java
index e52a424dd5..683608b23f 100644
--- a/src/java/org/apache/poi/util/POILogFactory.java
+++ b/src/java/org/apache/poi/util/POILogFactory.java
@@ -60,13 +60,7 @@ import java.io.IOException;
import java.util.*;
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Hierarchy;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.spi.RootCategory;
+import org.apache.commons.logging.*;
/**
* Provides logging without clients having to mess with
@@ -74,52 +68,23 @@ import org.apache.log4j.spi.RootCategory;
*
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Marc Johnson (mjohnson at apache dot org)
+ * @author Nicola Ken Barozzi (nicolaken at apache.org)
*/
public class POILogFactory
{
- private Hierarchy _creator;
+ private static LogFactory _creator = LogFactory.getFactory();
// map of POILogger instances, with classes as keys
- private Map _loggers;
- private static final String _fs = System.getProperty("file.separator");
+ private static Map _loggers = new HashMap();;
+
/**
* construct a POILogFactory.
- *
- * @param logFile the name of the file that contains the
- * properties governing the logs; should not be
- * null or empty
- * @param logPathProperty the name of the system property that
- * defines the path of logFile; can not be
- * null or empty
*/
- public POILogFactory(final String logFile, final String logPathProperty)
+ private POILogFactory()
{
- String logfile = logFile;
- String logpath = System.getProperty(logPathProperty);
-
- if ((logpath != null) && (logpath.trim().length() != 0))
- {
- logfile = logpath + _fs + logfile;
- }
- _creator =
- new Hierarchy(new RootCategory(Logger.getRootLogger()
- .getLevel()));
- try
- {
- new FileInputStream(logfile).close();
- new PropertyConfigurator().doConfigure(logfile, _creator);
- }
- catch (IOException e)
- {
- _creator.getRootLogger()
- .addAppender(new ConsoleAppender(new SimpleLayout(),
- ConsoleAppender.SYSTEM_OUT));
- _creator.getRootLogger().setLevel((Level)Level.INFO);
- }
- _loggers = new HashMap();
}
/**
@@ -130,16 +95,19 @@ public class POILogFactory
* @return a POILogger for the specified class
*/
- public POILogger getLogger(final Class theclass)
+ public static POILogger getLogger(final Class theclass)
{
- POILogger logger = ( POILogger ) _loggers.get(theclass);
+ POILogger logger = null;
- if (logger == null)
+ if (_loggers.containsKey(theclass))
{
- logger = new POILogger(_creator.getLogger(theclass.getName()));
+ logger = ( POILogger ) _loggers.get(theclass);
+ }
+ else
+ {
+ logger = new POILogger(_creator.getInstance(theclass));
_loggers.put(theclass, logger);
}
return logger;
}
} // end public class POILogFactory
-
diff --git a/src/java/org/apache/poi/util/POILogger.java b/src/java/org/apache/poi/util/POILogger.java
index 1b3186b6c7..a6d066c38d 100644
--- a/src/java/org/apache/poi/util/POILogger.java
+++ b/src/java/org/apache/poi/util/POILogger.java
@@ -55,8 +55,7 @@
*/
package org.apache.poi.util;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.Log;
import java.util.*;
@@ -68,16 +67,17 @@ import java.util.*;
*
* @author Marc Johnson (mjohnson at apache dot org)
* @author Glen Stampoultzis (glens at apache.org)
+ * @author Nicola Ken Barozzi (nicolaken at apache.org)
*/
public class POILogger
{
- private Logger log = null;
- public static final int DEBUG = Level.DEBUG_INT;
- public static final int INFO = Level.INFO_INT;
- public static final int WARN = Level.WARN_INT;
- public static final int ERROR = Level.ERROR_INT;
- public static final int FATAL = Level.FATAL_INT;
+ private Log log = null;
+ public static final int DEBUG = 1;
+ public static final int INFO = 3;
+ public static final int WARN = 5;
+ public static final int ERROR = 7;
+ public static final int FATAL = 9;
/**
* package scope so it cannot be instantiated outside of the util
@@ -86,7 +86,7 @@ public class POILogger
* @param log the object that does the real work of logging
*/
- POILogger(final Logger log)
+ POILogger(final Log log)
{
this.log = log;
}
@@ -94,50 +94,139 @@ public class POILogger
/**
* Log a message
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
- * @param obj1 The object to log. This is converted to a string.
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param obj1 The object to log.
*/
- public void log(final int logLevel, final Object obj1)
+ public void log(final int level, final Object obj1)
{
- log.log(Level.toLevel(logLevel), obj1);
+ if(level==FATAL)
+ {
+ if(log.isFatalEnabled())
+ {
+ log.fatal(obj1);
+ }
+ }
+ else if(level==ERROR)
+ {
+ if(log.isErrorEnabled())
+ {
+ log.error(obj1);
+ }
+ }
+ else if(level==WARN)
+ {
+ if(log.isWarnEnabled())
+ {
+ log.warn(obj1);
+ }
+ }
+ else if(level==INFO)
+ {
+ if(log.isInfoEnabled())
+ {
+ log.info(obj1);
+ }
+ }
+ else if(level==DEBUG)
+ {
+ if(log.isDebugEnabled())
+ {
+ log.debug(obj1);
+ }
+ }
+ else
+ {
+ if(log.isTraceEnabled())
+ {
+ log.trace(obj1);
+ }
+ }
+
+ }
+
+ /**
+ * Check if a logger is enabled to log at the specified level
+ *
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param obj1 The logger to check.
+ */
+
+ public boolean check(final Log log, final int level)
+ {
+ if(level==FATAL)
+ {
+ if(log.isFatalEnabled())
+ {
+ return true;
+ }
+ }
+ else if(level==ERROR)
+ {
+ if(log.isErrorEnabled())
+ {
+ return true;
+ }
+ }
+ else if(level==WARN)
+ {
+ if(log.isWarnEnabled())
+ {
+ return true;
+ }
+ }
+ else if(level==INFO)
+ {
+ if(log.isInfoEnabled())
+ {
+ return true;
+ }
+ }
+ else if(level==DEBUG)
+ {
+ if(log.isDebugEnabled())
+ {
+ return true;
+ }
+ }
+
+ return false;
+
}
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first object to place in the message
* @param obj2 second object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2)
+ public void log(final int level, final Object obj1, final Object obj2)
{
- Level level = Level.toLevel(logLevel);
-
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(32).append(obj1).append(obj2));
+ log(level, new StringBuffer(32).append(obj1).append(obj2));
}
}
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level,
+ log(level,
new StringBuffer(48).append(obj1).append(obj2)
.append(obj3));
}
@@ -146,21 +235,21 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
* @param obj4 fourth Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level,
+ log(level,
new StringBuffer(64).append(obj1).append(obj2)
.append(obj3).append(obj4));
}
@@ -169,7 +258,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
@@ -177,14 +266,14 @@ public class POILogger
* @param obj5 fifth Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level,
+ log(level,
new StringBuffer(80).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5));
}
@@ -193,7 +282,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
@@ -202,15 +291,15 @@ public class POILogger
* @param obj6 sixth Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(Level.toLevel(logLevel),
+ log(level ,
new StringBuffer(96).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5).append(obj6));
}
@@ -219,7 +308,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
@@ -229,15 +318,15 @@ public class POILogger
* @param obj7 seventh Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6, final Object obj7)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level,
+ log(level,
new StringBuffer(112).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5).append(obj6)
.append(obj7));
@@ -247,7 +336,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third Object to place in the message
@@ -258,15 +347,15 @@ public class POILogger
* @param obj8 eighth Object to place in the message
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6, final Object obj7, final Object obj8)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level,
+ log(level,
new StringBuffer(128).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5).append(obj6)
.append(obj7).append(obj8));
@@ -276,34 +365,34 @@ public class POILogger
/**
* Log a message
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 The object to log. This is converted to a string.
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1,
+ public void log(final int level, final Object obj1,
final Throwable exception)
{
- log.log(Level.toLevel(logLevel), obj1, exception);
+ log(level , obj1, exception);
}
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(32).append(obj1).append(obj2),
+ log(level, new StringBuffer(32).append(obj1).append(obj2),
exception);
}
}
@@ -311,21 +400,21 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
* @param exception An error message to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(48).append(obj1).append(obj2)
+ log(level, new StringBuffer(48).append(obj1).append(obj2)
.append(obj3), exception);
}
}
@@ -333,7 +422,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
@@ -341,15 +430,15 @@ public class POILogger
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4,
final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(64).append(obj1).append(obj2)
+ log(level, new StringBuffer(64).append(obj1).append(obj2)
.append(obj3).append(obj4), exception);
}
}
@@ -357,7 +446,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
@@ -366,15 +455,15 @@ public class POILogger
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(80).append(obj1).append(obj2)
+ log(level, new StringBuffer(80).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5), exception);
}
}
@@ -382,7 +471,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
@@ -392,15 +481,15 @@ public class POILogger
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6, final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(Level.toLevel(logLevel), new StringBuffer(96).append(obj1)
+ log(level , new StringBuffer(96).append(obj1)
.append(obj2).append(obj3).append(obj4).append(obj5)
.append(obj6), exception);
}
@@ -409,7 +498,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
@@ -420,16 +509,16 @@ public class POILogger
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6, final Object obj7,
final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(112).append(obj1).append(obj2)
+ log(level, new StringBuffer(112).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5).append(obj6)
.append(obj7), exception);
}
@@ -438,7 +527,7 @@ public class POILogger
/**
* Log a message. Lazily appends Object parameters together.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param obj1 first Object to place in the message
* @param obj2 second Object to place in the message
* @param obj3 third object to place in the message
@@ -450,16 +539,16 @@ public class POILogger
* @param exception An exception to be logged
*/
- public void log(final int logLevel, final Object obj1, final Object obj2,
+ public void log(final int level, final Object obj1, final Object obj2,
final Object obj3, final Object obj4, final Object obj5,
final Object obj6, final Object obj7, final Object obj8,
final Throwable exception)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
- log.log(level, new StringBuffer(128).append(obj1).append(obj2)
+ log(level, new StringBuffer(128).append(obj1).append(obj2)
.append(obj3).append(obj4).append(obj5).append(obj6)
.append(obj7).append(obj8), exception);
}
@@ -485,15 +574,15 @@ public class POILogger
* If the last parameter (after flattening) is a Throwable it is
* logged specially.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param message The message to log.
* @param obj1 The first object to match against.
*/
- public void logFormatted(final int logLevel, final String message,
+ public void logFormatted(final int level, final String message,
final Object obj1)
{
- commonLogFormatted(logLevel, message, new Object[]
+ commonLogFormatted(level, message, new Object[]
{
obj1
});
@@ -519,16 +608,16 @@ public class POILogger
* If the last parameter (after flattening) is a Throwable it is
* logged specially.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param message The message to log.
* @param obj1 The first object to match against.
* @param obj2 The second object to match against.
*/
- public void logFormatted(final int logLevel, final String message,
+ public void logFormatted(final int level, final String message,
final Object obj1, final Object obj2)
{
- commonLogFormatted(logLevel, message, new Object[]
+ commonLogFormatted(level, message, new Object[]
{
obj1, obj2
});
@@ -554,18 +643,18 @@ public class POILogger
* If the last parameter (after flattening) is a Throwable it is
* logged specially.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param message The message to log.
* @param obj1 The first object to match against.
* @param obj2 The second object to match against.
* @param obj3 The third object to match against.
*/
- public void logFormatted(final int logLevel, final String message,
+ public void logFormatted(final int level, final String message,
final Object obj1, final Object obj2,
final Object obj3)
{
- commonLogFormatted(logLevel, message, new Object[]
+ commonLogFormatted(level, message, new Object[]
{
obj1, obj2, obj3
});
@@ -591,7 +680,7 @@ public class POILogger
* If the last parameter (after flattening) is a Throwable it is
* logged specially.
*
- * @param logLevel One of DEBUG, INFO, WARN, ERROR, FATAL
+ * @param level One of DEBUG, INFO, WARN, ERROR, FATAL
* @param message The message to log.
* @param obj1 The first object to match against.
* @param obj2 The second object to match against.
@@ -599,33 +688,33 @@ public class POILogger
* @param obj4 The forth object to match against.
*/
- public void logFormatted(final int logLevel, final String message,
+ public void logFormatted(final int level, final String message,
final Object obj1, final Object obj2,
final Object obj3, final Object obj4)
{
- commonLogFormatted(logLevel, message, new Object[]
+ commonLogFormatted(level, message, new Object[]
{
obj1, obj2, obj3, obj4
});
}
- private void commonLogFormatted(final int logLevel, final String message,
+ private void commonLogFormatted(final int level, final String message,
final Object [] unflatParams)
{
- Level level = Level.toLevel(logLevel);
+
- if (log.isEnabledFor(level))
+ if (check(log, level))
{
Object[] params = flattenArrays(unflatParams);
if (params[ params.length - 1 ] instanceof Throwable)
{
- log(logLevel, StringUtil.format(message, params),
+ log(level, StringUtil.format(message, params),
( Throwable ) params[ params.length - 1 ]);
}
else
{
- log(logLevel, StringUtil.format(message, params));
+ log(level, StringUtil.format(message, params));
}
}
}
diff --git a/tools/resources/jindent/poi.jin b/src/resources/devtools/poi.jin
index 5b612fe38a..5b612fe38a 100755..100644
--- a/tools/resources/jindent/poi.jin
+++ b/src/resources/devtools/poi.jin
diff --git a/src/testcases/org/apache/poi/util/TestPOILogFactory.java b/src/testcases/org/apache/poi/util/TestPOILogFactory.java
deleted file mode 100644
index 0cb3fa1073..0000000000
--- a/src/testcases/org/apache/poi/util/TestPOILogFactory.java
+++ /dev/null
@@ -1,141 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.apache.poi.util;
-
-import org.apache.log4j.Category;
-
-import junit.framework.*;
-
-import java.io.*;
-
-/**
- * @author Marc Johnson (mjohnson at apache dot org)
- * @author Glen Stampoultzis (glens at apache.org)
- */
-
-public class TestPOILogFactory
- extends TestCase
-{
- private String _test_file_path;
- private static final String _test_file_path_property =
- "UTIL.testdata.path";
- private static final String _fs =
- System.getProperty("file.separator");
-
- /**
- * Creates new TestPOILogFactory
- *
- * @param name
- */
-
- public TestPOILogFactory(String name)
- {
- super(name);
- _test_file_path = System.getProperty(_test_file_path_property) + _fs;
- }
-
- /**
- * test log creation
- *
- * @exception IOException
- */
-
- public void testLog()
- throws IOException
- {
-
- // empty log files
- // check the path exists first
- assertTrue("Checking for existance of test property directory was "
- + _test_file_path, new File(_test_file_path).exists());
- new File("p1.log").delete();
- new File("p2.log").delete();
- POILogFactory f1 = new POILogFactory(_test_file_path
- + "test_properties1", "foo");
- POILogFactory f2 = new POILogFactory(_test_file_path
- + "test_properties2", "bar");
- POILogger l1 = f1.getLogger(f1.getClass());
- POILogger l2 = f2.getLogger(f2.getClass());
-
- l1.log(POILogger.WARN, "test1");
- l2.log(POILogger.WARN, "test2");
-
- // It appears necessary that sleep is required for files to be
- // written on Win2000. Tried manually closing appenders with
- // no luck.
- try
- {
- Thread.sleep(4000);
- }
- catch (InterruptedException letBuffersFlush)
- {
- }
- assertTrue(new File("p1.log").length() != 0);
- assertTrue(new File("p2.log").length() != 0);
- }
-
- /**
- * main method to run the unit tests
- *
- * @param ignored_args
- */
-
- public static void main(String [] ignored_args)
- {
- System.out.println("Testing util.POILogFactory functionality");
- junit.textui.TestRunner.run(TestPOILogFactory.class);
- }
-}
diff --git a/src/testcases/org/apache/poi/util/TestPOILogger.java b/src/testcases/org/apache/poi/util/TestPOILogger.java
deleted file mode 100644
index 2fcf0a6361..0000000000
--- a/src/testcases/org/apache/poi/util/TestPOILogger.java
+++ /dev/null
@@ -1,181 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.apache.poi.util;
-
-import junit.framework.TestCase;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-/**
- * Tests the log class.
- *
- * @author Glen Stampoultzis (glens at apache.org)
- * @author Marc Johnson (mjohnson at apache dot org)
- */
-
-public class TestPOILogger
- extends TestCase
-{
- private String _test_file_path;
- private static final String _test_file_path_property =
- "UTIL.testdata.path";
- private static final String _fs =
- System.getProperty("file.separator");
- private static final String _log_file = "POILogger.log";
-
- /**
- * Constructor TestPOILogger
- *
- *
- * @param s
- *
- */
-
- public TestPOILogger(String s)
- {
- super(s);
- }
-
- /**
- * Method setUp
- *
- *
- * @exception Exception
- *
- */
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
- _test_file_path = System.getProperty(_test_file_path_property) + _fs;
- }
-
- /**
- * Test different types of log output.
- *
- * @exception Exception
- */
-
- public void testVariousLogTypes()
- throws Exception
- {
- assertTrue(
- "Checking for existance of test property directory, looking for "
- + _test_file_path, new File(_test_file_path).exists());
- new File(_log_file).delete();
- POILogFactory f1 = new POILogFactory(_test_file_path
- + "test_properties3", "foo");
- POILogger log = f1.getLogger(getClass());
-
- log.log(POILogger.WARN, "Test = ", new Integer(1));
- log.logFormatted(POILogger.ERROR, "Test param 1 = %, param 2 = %",
- "2", new Integer(3));
- log.logFormatted(POILogger.ERROR, "Test param 1 = %, param 2 = %",
- new int[]
- {
- 4, 5
- });
- log.logFormatted(POILogger.ERROR,
- "Test param 1 = %1.1, param 2 = %0.1", new double[]
- {
- 4, 5.23
- });
-
- // It appears necessary that sleep is required for files to be
- // written on Win2000. Tried manually closing appenders with
- // no luck.
- try
- {
- Thread.sleep(4000);
- }
- catch (InterruptedException letBuffersFlush)
- {
- }
- String s = fileRead(_log_file);
-
- assertTrue(s.indexOf("Test = 1") > 0);
- assertTrue(s.indexOf("Test param 1 = 2, param 2 = 3") > 0);
- assertTrue(s.indexOf("Test param 1 = 4, param 2 = 5") > 0);
- assertTrue(s.indexOf("Test param 1 = 4, param 2 = 5.2") > 0);
- }
-
- /**
- * Reads the contents of a file.
- *
- * @param fileName The name of the file to read.
- * @return The file contents or null if read failed.
- *
- * @exception Exception
- */
-
- public String fileRead(String fileName)
- throws Exception
- {
- StringBuffer buf = new StringBuffer();
- FileInputStream in = new FileInputStream(fileName);
- int count;
- byte[] b = new byte[ 512 ];
-
- while ((count = in.read(b)) > 0) // blocking read
- {
- buf.append(new String(b, 0, count));
- }
- in.close();
- return buf.toString();
- }
-}
diff --git a/tools/lib/ant-1.4.1-optional.jar b/tools/ant/lib/ant-1.4.1-optional.jar
index d6a4b4b627..d6a4b4b627 100755..100644
--- a/tools/lib/ant-1.4.1-optional.jar
+++ b/tools/ant/lib/ant-1.4.1-optional.jar
Binary files differ
diff --git a/tools/lib/ant-1.4.1.jar b/tools/ant/lib/ant-1.4.1.jar
index 8ad84e3480..8ad84e3480 100755..100644
--- a/tools/lib/ant-1.4.1.jar
+++ b/tools/ant/lib/ant-1.4.1.jar
Binary files differ
diff --git a/tools/bin/ant b/tools/bin/ant
deleted file mode 100755
index 4555bf7089..0000000000
--- a/tools/bin/ant
+++ /dev/null
@@ -1,107 +0,0 @@
-#! /bin/sh
-
-if [ -f "$HOME/.antrc" ] ; then
- . $HOME/.antrc
-fi
-
-# Cygwin support. $cygwin _must_ be set to either true or false.
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
- *) cygwin=false ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin; then
- [ -n "$ANT_HOME" ] &&
- ANT_HOME=`cygpath --unix "$ANT_HOME"`
- [ -n "$JAVA_HOME" ] &&
- JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
- [ -n "$CLASSPATH" ] &&
- CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-if [ "$ANT_HOME" = "" ] ; then
- # try to find ANT
- if [ -d /opt/ant ] ; then
- ANT_HOME=/opt/ant
- fi
-
- if [ -d ${HOME}/opt/ant ] ; then
- ANT_HOME=${HOME}/opt/ant
- fi
-
- ## resolve links - $0 may be a link to ant's home
- PRG=$0
- progname=`basename $0`
-
- while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '.*/.*' > /dev/null; then
- PRG="$link"
- else
- PRG="`dirname $PRG`/$link"
- fi
- done
-
- ANT_HOME=`dirname "$PRG"`/..
-
-fi
-
-if [ "$JAVA_HOME" != "" ] ; then
- if [ "$JAVACMD" = "" ] ; then
- JAVACMD=$JAVA_HOME/bin/java
- fi
-else
- if [ "$JAVACMD" = "" ] ; then
- JAVACMD=java
- fi
-fi
-
-# add in the dependency .jar files
-DIRLIBS=${ANT_HOME}/lib/*.jar
-for i in ${DIRLIBS}
-do
- # if the directory is empty, then it will return the input string
- # this is stupid, so case for it
- if [ "$i" != "${DIRLIBS}" ] ; then
- LOCALCLASSPATH=$LOCALCLASSPATH:"$i"
- fi
-done
-
-if [ "$CLASSPATH" != "" ] ; then
- LOCALCLASSPATH=$CLASSPATH:$LOCALCLASSPATH
-fi
-
-if [ "$JAVA_HOME" != "" ] ; then
- if test -f $JAVA_HOME/lib/tools.jar ; then
- LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar
- fi
-
- if test -f $JAVA_HOME/lib/classes.zip ; then
- LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip
- fi
-else
- echo "Warning: JAVA_HOME environment variable is not set."
- echo " If build fails because sun.* classes could not be found"
- echo " you will need to set the JAVA_HOME environment variable"
- echo " to the installation directory of java."
-fi
-
-# supply JIKESPATH to Ant as jikes.class.path
-if [ "$JIKESPATH" != "" ] ; then
- if [ "$ANT_OPTS" != "" ] ; then
- ANT_OPTS="$ANT_OPTS -Djikes.class.path=$JIKESPATH"
- else
- ANT_OPTS=-Djikes.class.path=$JIKESPATH
- fi
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
- ANT_HOME=`cygpath --path --windows "$ANT_HOME"`
- JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
- LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
-fi
-
-$JAVACMD -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" $ANT_OPTS org.apache.tools.ant.Main "$@"
diff --git a/tools/bin/ant.bat b/tools/bin/ant.bat
deleted file mode 100755
index e8f8fd1e80..0000000000
--- a/tools/bin/ant.bat
+++ /dev/null
@@ -1,97 +0,0 @@
-@echo off
-
-if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
-
-if not "%OS%"=="Windows_NT" goto win9xStart
-:winNTStart
-@setlocal
-
-rem %~dp0 is name of current script under NT
-set DEFAULT_ANT_HOME=%~dp0
-
-rem : operator works similar to make : operator
-set DEFAULT_ANT_HOME=%DEFAULT_ANT_HOME:\bin\=%
-
-if %ANT_HOME%a==a set ANT_HOME=%DEFAULT_ANT_HOME%
-set DEFAULT_ANT_HOME=
-
-rem On NT/2K grab all arguments at once
-set ANT_CMD_LINE_ARGS=%*
-goto doneStart
-
-:win9xStart
-rem Slurp the command line arguments. This loop allows for an unlimited number of
-rem agruments (up to the command line limit, anyway).
-
-set ANT_CMD_LINE_ARGS=
-
-:setupArgs
-if %1a==a goto doneStart
-set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
-shift
-goto setupArgs
-
-:doneStart
-rem This label provides a place for the argument list loop to break out
-rem and for NT handling to skip to.
-
-rem find ANT_HOME
-if not "%ANT_HOME%"=="" goto checkJava
-
-rem check for ant in Program Files on system drive
-if not exist "%SystemDrive%\Program Files\ant" goto checkSystemDrive
-set ANT_HOME=%SystemDrive%\Program Files\ant
-goto checkJava
-
-:checkSystemDrive
-rem check for ant in root directory of system drive
-if not exist "%SystemDrive%\ant" goto noAntHome
-set ANT_HOME=%SystemDrive%\ant
-goto checkJava
-
-:noAntHome
-echo ANT_HOME is not set and ant could not be located. Please set ANT_HOME.
-goto end
-
-:checkJava
-set _JAVACMD=%JAVACMD%
-set LOCALCLASSPATH="%CLASSPATH%"
-for %%i in ("%ANT_HOME%\lib\*.jar") do call "%ANT_HOME%\bin\lcp.bat" "%%i"
-
-if "%JAVA_HOME%" == "" goto noJavaHome
-if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java
-if exist "%JAVA_HOME%\lib\tools.jar" call "%ANT_HOME%\bin\lcp.bat" "%JAVA_HOME%\lib\tools.jar"
-if exist "%JAVA_HOME%\lib\classes.zip" call "%ANT_HOME%\bin\lcp.bat" "%JAVA_HOME%\lib\classes.zip"
-goto checkJikes
-
-:noJavaHome
-if "%_JAVACMD%" == "" set _JAVACMD=java
-echo.
-echo Warning: JAVA_HOME environment variable is not set.
-echo If build fails because sun.* classes could not be found
-echo you will need to set the JAVA_HOME environment variable
-echo to the installation directory of java.
-echo.
-
-:checkJikes
-if not "%JIKESPATH%" == "" goto runAntWithJikes
-
-:runAnt
-%_JAVACMD% -classpath %LOCALCLASSPATH% -Dant.home="%ANT_HOME%" %ANT_OPTS% org.apache.tools.ant.Main %ANT_CMD_LINE_ARGS%
-goto end
-
-:runAntWithJikes
-%_JAVACMD% -classpath %LOCALCLASSPATH% -Dant.home="%ANT_HOME%" -Djikes.class.path=%JIKESPATH% %ANT_OPTS% org.apache.tools.ant.Main %ANT_CMD_LINE_ARGS%
-
-:end
-set LOCALCLASSPATH=
-set _JAVACMD=
-set ANT_CMD_LINE_ARGS=
-
-if not "%OS%"=="Windows_NT" goto mainEnd
-:winNTend
-@endlocal
-
-:mainEnd
-if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
-
diff --git a/tools/bin/antRun b/tools/bin/antRun
deleted file mode 100755
index f0a18f1653..0000000000
--- a/tools/bin/antRun
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /bin/sh
-
-# Args: DIR command
-cd "$1"
-CMD="$2"
-shift
-shift
-
-exec $CMD "$@"
diff --git a/tools/bin/antRun.bat b/tools/bin/antRun.bat
deleted file mode 100755
index a5484d692b..0000000000
--- a/tools/bin/antRun.bat
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-
-# Change drive and directory to %1 (Win9X only for NT/2K use "cd /d")
-cd %1
-%1\
-set ANT_RUN_CMD=%2
-shift
-shift
-
-set PARAMS=
-:loop
-if ""%1 == "" goto runCommand
-set PARAMS=%PARAMS% %1
-shift
-goto loop
-
-:runCommand
-rem echo %ANT_RUN_CMD% %PARAMS%
-%ANT_RUN_CMD% %PARAMS%
-
diff --git a/tools/bin/fix-packages.py b/tools/bin/fix-packages.py
deleted file mode 100755
index 5858c77a7e..0000000000
--- a/tools/bin/fix-packages.py
+++ /dev/null
@@ -1,216 +0,0 @@
-#! /usr/bin/env python
-#
-# Mass string translation for java/xml files (change Wanted re for other files)
-#
-# Author: Peter Donald <donaldp@apache.org>
-#
-# Adapted from fixid.py in python distribution under Tools
-#
-
-import sys
-import re
-import string
-import os
-from stat import *
-import getopt
-
-err = sys.stderr.write
-dbg = err
-out = sys.stdout.write
-
-def usage():
- progname = sys.argv[0]
- err('Usage: ' + progname + ' [-s file] ... file-or-directory ...\n')
- err('\n')
- err('-s substfile : add a file of substitutions\n')
- err('\n')
- err('Each non-empty non-comment line in a substitution file must\n')
- err('contain exactly two words separated by a | character.\n')
-
-def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], 'crs:')
- except getopt.error, msg:
- err('Options error: ' + str(msg) + '\n')
- usage()
- sys.exit(2)
- bad = 0
- if not args: # No arguments
- usage()
- sys.exit(2)
- for opt, arg in opts:
- if opt == '-s':
- addsubst(arg)
- initre()
- for arg in args:
- if os.path.isdir(arg):
- if recursedown(arg): bad = 1
- elif os.path.islink(arg):
- err(arg + ': will not process symbolic links\n')
- bad = 1
- else:
- if fix(arg): bad = 1
- sys.exit(bad)
-
-# Change this regular expression to select a different set of files
-Wanted = '^[a-zA-Z0-9_\-]+\.(java|xml|xinfo)$'
-def wanted(name):
- return None <> re.match(Wanted, name)
-
-def recursedown(dirname):
- dbg('recursedown(' + `dirname` + ')\n')
- bad = 0
- try:
- names = os.listdir(dirname)
- except os.error, msg:
- err(dirname + ': cannot list directory: ' + str(msg) + '\n')
- return 1
- names.sort()
- subdirs = []
- for name in names:
- if name in (os.curdir, os.pardir): continue
- fullname = os.path.join(dirname, name)
- if os.path.islink(fullname): pass
- elif os.path.isdir(fullname):
- subdirs.append(fullname)
- elif wanted(name):
- if fix(fullname): bad = 1
- for fullname in subdirs:
- if recursedown(fullname): bad = 1
- return bad
-
-def fix(filename):
- dbg('fix(' + `filename` + ')\n')
-
- # File replacement mode
- try:
- f = open(filename, 'r')
- except IOError, msg:
- err(filename + ': cannot open: ' + str(msg) + '\n')
- return 1
-
- head, tail = os.path.split(filename)
- tempname = os.path.join(head, '@' + tail)
-
- # If we find a match, we rewind the file and start over but
- # now copy everything to a temp file.
- lineno = 0
- g = None
- while 1:
- line = f.readline()
- if not line: break
- lineno = lineno + 1
- newline = fixline(line)
- if newline != line:
- if g is None:
- try:
- g = open(tempname, 'w')
- except IOError, msg:
- f.close()
- err(tempname+': cannot create: '+
- str(msg)+'\n')
- return 1
- f.seek(0)
- lineno = 0
- out(filename + ':\n')
- continue # restart from the beginning
- out(`lineno` + '\n')
- out('< ' + line)
- out('> ' + newline)
- if g is not None:
- g.write(newline)
-
- # End of file
- f.close()
- if not g: return 0 # No changes
-
- # Finishing touch -- move files
-
- # First copy the file's mode to the temp file
- try:
- statbuf = os.stat(filename)
- os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
- err(tempname + ': warning: chmod failed (' + str(msg) + ')\n')
-
- # Then make a backup of the original file as filename~
- try:
- os.rename(filename, filename + '~')
- except os.error, msg:
- err(filename + ': warning: backup failed (' + str(msg) + ')\n')
-
- # Now move the temp file to the original file
- try:
- os.rename(tempname, filename)
- except os.error, msg:
- err(filename + ': rename failed (' + str(msg) + ')\n')
- return 1
-
- # Return succes
- return 0
-
-def initre():
- global SearcherExpr
-
- keys = Dict.keys()
- keyCount = len(keys)
- i = 0
- reStr = ""
- while i < len(keys):
- if i != 0: reStr = reStr + '|'
- reStr = reStr + keys[i]
- i = i + 1
- SearcherExpr = re.compile( reStr )
-
-def fixline(line):
- global Program
-## print '-->', `line`
- i = 0
-
- while i < len(line):
- match = SearcherExpr.search(line, i)
- if match == None: break
- found = match.group(0)
- i = match.start()
- n = len(found)
- if Dict.has_key(found):
- subst = Dict[found]
-
- line = line[:i] + subst + line[i+n:]
- n = len(subst)
- i = i + n
- return line
-
-Dict = {}
-NotInComment = {}
-
-def addsubst(substfile):
- try:
- fp = open(substfile, 'r')
- except IOError, msg:
- err(substfile + ': cannot read substfile: ' + str(msg) + '\n')
- sys.exit(1)
- lineno = 0
-
- while 1:
- line = fp.readline()
- if not line: break
- lineno = lineno + 1
- try:
- i = string.index(line, '#')
- except string.index_error:
- i = -1 # Happens to delete trailing \n
- words = string.split(line[:i],'|')
- if not words: continue
- if len(words) <> 2:
- err(substfile + ':' + `lineno` + ': warning: bad line: ' + line)
- continue
- [key, value] = words
-
-## print 'Will replace ', key, ' with ', value
-
- Dict[key] = value
-
- fp.close()
-
-main()
diff --git a/tools/bin/lcp.bat b/tools/bin/lcp.bat
deleted file mode 100755
index 8d6b8515ab..0000000000
--- a/tools/bin/lcp.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-set LOCALCLASSPATH=%1;%LOCALCLASSPATH%
-
diff --git a/tools/bin/runant.pl b/tools/bin/runant.pl
deleted file mode 100755
index a2cc523e71..0000000000
--- a/tools/bin/runant.pl
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/perl
-#######################################################################
-#
-# runant.pl
-#
-# wrapper script for invoking ant in a platform with Perl installed
-# this may include cgi-bin invocation, which is considered somewhat daft.
-# (slo: that should be a separate file which can be derived from this
-# and returns the XML formatted output)
-#
-# the code is not totally portable due to classpath and directory splitting
-# issues. oops. (NB, use File::Spec::Functions will help and the code is
-# structured for the catfile() call, but because of perl version funnies
-# the code is not included.
-#
-# created: 2000-8-24
-# last modified: 2000-8-24
-# author: Steve Loughran steve_l@sourceforge.net
-#######################################################################
-#
-# Assumptions:
-#
-# - the "java" executable/script is on the command path
-# - ANT_HOME has been set
-# - target platform uses ":" as classpath separator or perl indicates it is dos/win32
-# - target platform uses "/" as directory separator.
-
-#be fussy about variables
-use strict;
-
-#platform specifics (disabled)
-#use File::Spec::Functions;
-
-#turn warnings on during dev; generates a few spurious uninitialised var access warnings
-#use warnings;
-
-#and set $debug to 1 to turn on trace info
-my $debug=0;
-
-#######################################################################
-#
-# check to make sure environment is setup
-#
-
-my $HOME = $ENV{ANT_HOME};
-if ($HOME eq "")
- {
- die "\n\nANT_HOME *MUST* be set!\n\n";
- }
-
-my $JAVACMD = $ENV{JAVACMD};
-$JAVACMD = "java" if $JAVACMD eq "";
-
-#ISSUE: what java wants to split up classpath varies from platform to platform
-#and perl is not too hot at hinting which box it is on.
-#here I assume ":" 'cept on win32 and dos. Add extra tests here as needed.
-my $s=":";
-if(($^O eq "MSWin32") || ($^O eq "dos"))
- {
- $s=";";
- }
-
-#build up standard classpath
-my $localpath=$ENV{CLASSPATH};
-if ($localpath eq "")
- {
- print "warning: no initial classpath\n" if ($debug);
- $localpath="";
- }
-
-#add jar files. I am sure there is a perl one liner to do this.
-my $jarpattern="$HOME/lib/*.jar";
-my @jarfiles =glob($jarpattern);
-print "jarfiles=@jarfiles\n" if ($debug);
-my $jar;
-foreach $jar (@jarfiles )
- {
- $localpath.="$s$jar";
- }
-
-#if Java home is defined, look for tools.jar & classes.zip and add to classpath
-my $JAVA_HOME = $ENV{JAVA_HOME};
-if ($JAVA_HOME ne "")
- {
- my $tools="$JAVA_HOME/lib/tools.jar";
- if (-e "$tools")
- {
- $localpath .= "$s$tools";
- }
- my $classes="$JAVA_HOME/lib/classes.zip";
- if (-e $classes)
- {
- $localpath .= "$s$classes";
- }
- }
-else
- {
- print "\n\nWarning: JAVA_HOME environment variable is not set.\n".
- "If the build fails because sun.* classes could not be found\n".
- "you will need to set the JAVA_HOME environment variable\n".
- "to the installation directory of java\n";
- }
-
-#jikes
-my @ANT_OPTS=split $ENV{ANT_OPTS};
-if($ENV{JIKESPATH} ne "")
- {
- push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
- }
-
-#construct arguments to java
-
-my @ARGS;
-push @ARGS, "-classpath", "$localpath", "-Dant.home=$HOME";
-push @ARGS, @ANT_OPTS;
-push @ARGS, "org.apache.tools.ant.Main";
-push @ARGS, @ARGV;
-
-print "\n $JAVACMD @ARGS\n\n" if ($debug);
-
-my $returnValue = system $JAVACMD, @ARGS;
-if ($returnValue eq 0)
- {
- exit 0;
- }
-else
- {
- # only 0 and 1 are widely recognized as exit values
- # so change the exit value to 1
- exit 1;
- }
diff --git a/tools/centipede/lib/IzPress.jar b/tools/centipede/lib/IzPress.jar
new file mode 100644
index 0000000000..4665c12c41
--- /dev/null
+++ b/tools/centipede/lib/IzPress.jar
Binary files differ
diff --git a/lib/optional/jtidy-04aug2000r7-dev.jar b/tools/centipede/lib/jtidy.jar
index a11dfe58ac..a11dfe58ac 100644
--- a/lib/optional/jtidy-04aug2000r7-dev.jar
+++ b/tools/centipede/lib/jtidy.jar
Binary files differ
diff --git a/tools/lib/junit.jar b/tools/centipede/lib/junit.jar
index 914a5cfa9b..914a5cfa9b 100755..100644
--- a/tools/lib/junit.jar
+++ b/tools/centipede/lib/junit.jar
Binary files differ
diff --git a/lib/optional/xalan-2.2.0.jar b/tools/centipede/lib/xalan.jar
index 8dd6dca254..8dd6dca254 100644
--- a/lib/optional/xalan-2.2.0.jar
+++ b/tools/centipede/lib/xalan.jar
Binary files differ
diff --git a/tools/centipede/lib/xerces.jar b/tools/centipede/lib/xerces.jar
new file mode 100644
index 0000000000..28d3642eeb
--- /dev/null
+++ b/tools/centipede/lib/xerces.jar
Binary files differ
diff --git a/tools/centipede/lib/xml-apis.jar b/tools/centipede/lib/xml-apis.jar
new file mode 100644
index 0000000000..2c42757296
--- /dev/null
+++ b/tools/centipede/lib/xml-apis.jar
Binary files differ
diff --git a/tools/centipede/targets/compile.xtarget b/tools/centipede/targets/compile.xtarget
index 416c9f538f..28e537dce7 100644
--- a/tools/centipede/targets/compile.xtarget
+++ b/tools/centipede/targets/compile.xtarget
@@ -21,6 +21,12 @@
<fileset dir="${scratchpad.src}"/>
</copy>
+ <mkdir dir="${build.examples.src}"/>
+ <mkdir dir="${build.examples.dest}"/>
+ <copy todir="${build.examples.src}" filtering="on">
+ <fileset dir="${examples.src}"/>
+ </copy>
+
<mkdir dir="${build.contrib.src}"/>
<mkdir dir="${build.contrib.dest}"/>
<copy todir="${build.contrib.src}" filtering="on">
@@ -66,6 +72,27 @@
<classpath refid="scratchpad.classpath"/>
</javac>
+ <copy todir="${build.examples.dest}">
+ <fileset dir="${build.examples.src}">
+ <include name="**"/>
+ <!--
+ <include name="**/Manifest.mf"/>
+ <include name="**/*.xsl"/>
+ <include name="**/*.roles"/>
+ <include name="**/*.xconf"/>
+ <include name="META-INF/**"/>
+ -->
+ </fileset>
+ </copy>
+
+ <javac srcdir="${build.examples.src}"
+ destdir="${build.examples.dest}"
+ debug="${debug}"
+ optimize="${optimize}"
+ deprecation="${deprecation}"
+ target="${target.vm}">
+ <classpath refid="examples.classpath"/>
+ </javac>
<copy todir="${build.contrib.dest}">
<fileset dir="${build.contrib.src}">
@@ -102,6 +129,12 @@
</fileset>
</jar>
+ <jar jarfile="${build.dir}/${examples.name}.jar">
+ <fileset dir="${build.examples.dest}">
+ <include name="**"/>
+ </fileset>
+ </jar>
+
<jar jarfile="${build.dir}/${contrib.name}.jar">
<fileset dir="${build.contrib.dest}">
<include name="**"/>
diff --git a/tools/centipede/targets/init.xtarget b/tools/centipede/targets/init.xtarget
index 4deedae3ea..7d51f57639 100644
--- a/tools/centipede/targets/init.xtarget
+++ b/tools/centipede/targets/init.xtarget
@@ -83,6 +83,11 @@
<property name="scratchpad.lib" value="${scratchpad.dir}/lib"/>
<property name="scratchpad.name" value="${name}-scratchpad"/>
+ <property name="examples.dir" value="${src.dir}/examples"/>
+ <property name="examples.src" value="${examples.dir}/src"/>
+ <property name="examples.lib" value="${examples.dir}/lib"/>
+ <property name="examples.name" value="${name}-examples"/>
+
<property name="contrib.dir" value="${src.dir}/contrib"/>
<property name="contrib.src" value="${contrib.dir}/src"/>
<property name="contrib.lib" value="${contrib.dir}/lib"/>
@@ -101,6 +106,9 @@
<property name="build.scratchpad" value="${build.dir}/scratchpad"/>
<property name="build.scratchpad.src" value="${build.scratchpad}/src"/>
<property name="build.scratchpad.dest" value="${build.scratchpad}/classes"/>
+ <property name="build.examples" value="${build.dir}/examples"/>
+ <property name="build.examples.src" value="${build.examples}/src"/>
+ <property name="build.examples.dest" value="${build.examples}/classes"/>
<property name="build.contrib" value="${build.dir}/contrib"/>
<property name="build.contrib.src" value="${build.contrib}/src"/>
<property name="build.contrib.dest" value="${build.contrib}/classes"/>
diff --git a/tools/centipede/targets/preinit.xtarget b/tools/centipede/targets/preinit.xtarget
index d93708c8ad..4bee003556 100644
--- a/tools/centipede/targets/preinit.xtarget
+++ b/tools/centipede/targets/preinit.xtarget
@@ -33,6 +33,11 @@
</fileset>
</path>
+ <path id="examples.classpath">
+ <!-- FIXME : how to build a path that references a property set in 'init' target ? -->
+ <pathelement path="./build/jakarta-poi/classes"/>
+ </path>
+
<path id="scratchpad.classpath">
<fileset dir="./lib/core">
<include name="*.jar"/>
@@ -61,3 +66,4 @@
<pathelement path="./build/jakarta-poi/classes"/>
</path>
+
diff --git a/tools/centipede/targets/test.xtarget b/tools/centipede/targets/test.xtarget
index 6ff67dd0f5..1cf2e82199 100644
--- a/tools/centipede/targets/test.xtarget
+++ b/tools/centipede/targets/test.xtarget
@@ -20,6 +20,10 @@
</classpath>
</javac>
<junit printsummary="yes" haltonfailure="yes" fork="yes">
+ <sysproperty key="UTIL.testdata.path"
+ value="${test.dir}/org/apache/poi/util/data"/>
+ <sysproperty key="HSSF.testdata.path"
+ value="${test.dir}/org/apache/poi/hssf/data"/>
<classpath>
<pathelement location="${build.test}" />
<pathelement location="${build.dest}" />
diff --git a/lib/optional/avalon-excalibur-20020114.jar b/tools/cocoon/lib/avalon-excalibur-4.1.jar
index bf2134f75a..7dcb1a73b2 100644
--- a/lib/optional/avalon-excalibur-20020114.jar
+++ b/tools/cocoon/lib/avalon-excalibur-4.1.jar
Binary files differ
diff --git a/lib/optional/avalon-framework-20020114.jar b/tools/cocoon/lib/avalon-framework-4.1.2.jar
index 4c52bc3f95..6a38f1d596 100644
--- a/lib/optional/avalon-framework-20020114.jar
+++ b/tools/cocoon/lib/avalon-framework-4.1.2.jar
Binary files differ
diff --git a/tools/cocoon/lib/avalon-scratchpad-20020212.jar b/tools/cocoon/lib/avalon-scratchpad-20020212.jar
new file mode 100644
index 0000000000..f5439a382c
--- /dev/null
+++ b/tools/cocoon/lib/avalon-scratchpad-20020212.jar
Binary files differ
diff --git a/tools/cocoon/lib/batik-libs-1.1.1.jar b/tools/cocoon/lib/batik-libs-1.1.1.jar
new file mode 100644
index 0000000000..3558d15a3c
--- /dev/null
+++ b/tools/cocoon/lib/batik-libs-1.1.1.jar
Binary files differ
diff --git a/tools/cocoon/lib/cocoon-scratchpad-part.jar b/tools/cocoon/lib/cocoon-scratchpad-part.jar
new file mode 100644
index 0000000000..8614814b11
--- /dev/null
+++ b/tools/cocoon/lib/cocoon-scratchpad-part.jar
Binary files differ
diff --git a/tools/cocoon/lib/cocoon.jar b/tools/cocoon/lib/cocoon.jar
new file mode 100644
index 0000000000..2c8780383c
--- /dev/null
+++ b/tools/cocoon/lib/cocoon.jar
Binary files differ
diff --git a/lib/optional/commons-collections-1.0.jar b/tools/cocoon/lib/commons-collections-1.0.jar
index 0b490e0f2e..0b490e0f2e 100644
--- a/lib/optional/commons-collections-1.0.jar
+++ b/tools/cocoon/lib/commons-collections-1.0.jar
Binary files differ
diff --git a/lib/optional/commons-httpclient-20011012.jar b/tools/cocoon/lib/commons-httpclient-20011012.jar
index cf31c07bfe..cf31c07bfe 100644
--- a/lib/optional/commons-httpclient-20011012.jar
+++ b/tools/cocoon/lib/commons-httpclient-20011012.jar
Binary files differ
diff --git a/lib/optional/jakarta-regexp-1.2.jar b/tools/cocoon/lib/jakarta-regexp-1.2.jar
index 713441c523..713441c523 100644
--- a/lib/optional/jakarta-regexp-1.2.jar
+++ b/tools/cocoon/lib/jakarta-regexp-1.2.jar
Binary files differ
diff --git a/tools/cocoon/lib/jisp_1_0_2.jar b/tools/cocoon/lib/jisp_1_0_2.jar
new file mode 100644
index 0000000000..2f4102f919
--- /dev/null
+++ b/tools/cocoon/lib/jisp_1_0_2.jar
Binary files differ
diff --git a/tools/cocoon/lib/logkit-1.0.1.jar b/tools/cocoon/lib/logkit-1.0.1.jar
new file mode 100644
index 0000000000..d3250ee641
--- /dev/null
+++ b/tools/cocoon/lib/logkit-1.0.1.jar
Binary files differ
diff --git a/tools/cocoon/lib/resolver-20020130.jar b/tools/cocoon/lib/resolver-20020130.jar
new file mode 100644
index 0000000000..12e30a318d
--- /dev/null
+++ b/tools/cocoon/lib/resolver-20020130.jar
Binary files differ
diff --git a/tools/lib/.cvsignore b/tools/lib/.cvsignore
deleted file mode 100755
index eb1aa67684..0000000000
--- a/tools/lib/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-xalan-2.2.0-D14.jar
-xerces-1.4.4.jar
-xml-apis.jar
diff --git a/tools/lib/jtidy-04aug2000r7-dev.jar b/tools/lib/jtidy-04aug2000r7-dev.jar
deleted file mode 100644
index a11dfe58ac..0000000000
--- a/tools/lib/jtidy-04aug2000r7-dev.jar
+++ /dev/null
Binary files differ
diff --git a/tools/lib/xalan-2.2.0.jar b/tools/lib/xalan-2.2.0.jar
deleted file mode 100644
index 8dd6dca254..0000000000
--- a/tools/lib/xalan-2.2.0.jar
+++ /dev/null
Binary files differ
diff --git a/tools/resources/stylesheets/announcement2readme.xsl b/tools/resources/stylesheets/announcement2readme.xsl
deleted file mode 100644
index 63cbdefd07..0000000000
--- a/tools/resources/stylesheets/announcement2readme.xsl
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="html" indent="yes"/>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template match="announcement">
- <style>
- body { background-color: #FFFFFF }
- p { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- li,ul { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- div { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-style:italic }
- h1 { font-size: 14pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h2 { font-size: 12pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h3 { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- A:link { color: #0000A0 } /* unvisited link */
- A:visited { color: #A00000 } /* visited links */
- A:active { color: #00A000 } /* active links */
- </style>
-
- <a name="sig"><h2>PGP Signatures</h2></a>
-
- <p>Many of the distribution kits have been digitally signed (using
- PGP). If so, there will be an accompanying
- <samp><em>distribution</em>.asc</samp> file in the same directory as
- the distribution. The PGP keys can be found in the distribution
- directory at &lt;<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS">
- <samp>http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS</samp></a>&gt;.</p>
-
- <xsl:variable name="filename"><xsl:value-of
- select="project/downloads/@name"/>-<xsl:value-of
- select="project/changes/@version"/>-bin.tar.gz</xsl:variable>
-
- <pre>Always test available signatures, <i>e.g.</i>,
-&gt; pgpk -a KEYS
-&gt; pgpv <xsl:value-of select="$filename"/>.asc
-<i>or</i>,
-&gt; pgp -ka KEYS
-&gt; pgp <xsl:value-of select="$filename"/>.asc
-<i>or</i>,
-&gt; gpg --import KEYS
-&gt; gpg --verify <xsl:value-of select="$filename"/>.asc
-</pre>
-
- <xsl:for-each select="project">
- <xsl:if test="downloads">
- <h2>About <xsl:value-of select="title"/></h2>
- <xsl:apply-templates select="."/>
- </xsl:if>
- </xsl:for-each>
-
- </xsl:template>
-
- <xsl:template match="project">
-
- <p>For more information about <xsl:value-of select="title"/>, please go to
- <a><xsl:attribute name="href"><xsl:value-of select="@site"/></xsl:attribute>
- <xsl:value-of select="@site"/></a>.</p>
-
- <!-- print out ChangeLog if present -->
- <xsl:if test="changes">
- <h3>ChangeLog for <xsl:value-of select="title"/></h3>
- <xsl:apply-templates select="changes"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ulink">
- <a href="{@uri}"><xsl:value-of select="."/></a>
- </xsl:template>
-
- <xsl:template match="release">
- <ul>
- <xsl:for-each select="action">
- <li>
- <xsl:value-of select="normalize-space(.)"/>
- <xsl:if test="@dev">
- <xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/resources/stylesheets/announcement2txt.xsl b/tools/resources/stylesheets/announcement2txt.xsl
deleted file mode 100644
index 9b03cc12b4..0000000000
--- a/tools/resources/stylesheets/announcement2txt.xsl
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="text" indent="no"/>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template name="print-title">
- <xsl:param name="title"/>
-<xsl:variable name="text" select="normalize-space($title)"/>
-<xsl:value-of select="$text"/><xsl:text>
-</xsl:text>
- <xsl:call-template name="line">
- <xsl:with-param name="len" select="string-length($text)"/>
- </xsl:call-template>
- <xsl:text>
-</xsl:text>
- </xsl:template>
-
- <xsl:template match="announcement">
- <text>
- <xsl:call-template name="print-title">
- <xsl:with-param name="title"><xsl:value-of select="title"/> Released</xsl:with-param>
- </xsl:call-template>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="normalize-space(abstract)"/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-
-</xsl:text>
- <xsl:for-each select="project">
- <xsl:call-template name="print-title">
- <xsl:with-param name="title">About <xsl:value-of select="title"/></xsl:with-param>
- </xsl:call-template>
- <xsl:apply-templates select="."/>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </text>
- </xsl:template>
-
- <xsl:template match="project">
- <xsl:choose>
- <xsl:when test="description/para">
- <xsl:for-each select="description/para">
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text">
- <xsl:apply-templates select="."/>
- </xsl:with-param>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text">
- <xsl:apply-templates select="description"/>
- </xsl:with-param>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>
-For more information about </xsl:text>
- <xsl:value-of select="title"/>
- <xsl:text>, please go to
-</xsl:text>
- <xsl:value-of select="@site"/>
-
- <!-- print out ChangeLog if present -->
- <xsl:if test="changes">
- <xsl:text>
-
-ChangeLog for </xsl:text>
- <xsl:value-of select="title"/>
- <xsl:text>
-
-</xsl:text>
- <xsl:apply-templates select="changes"/>
- </xsl:if>
-
- <!-- print out Downloads if present -->
- <xsl:if test="downloads">
- <xsl:text>
-Downloads for </xsl:text><xsl:value-of select="title"/> available at
-
-<xsl:value-of select="downloads/@base"/>/latest
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template match="para">
- <xsl:apply-templates/>
- <xsl:text>
-</xsl:text>
- </xsl:template>
-
- <xsl:template match="ulink">
- <xsl:value-of select="."/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="@uri"/>
- <xsl:text>)</xsl:text>
- </xsl:template>
-
- <xsl:template match="release">
- <xsl:for-each select="action">
- <xsl:text>*) </xsl:text>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="."/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template><xsl:text> </xsl:text>
- <xsl:if test="@dev">
- <xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="line">
- <xsl:param name="len"/>
- <xsl:if test="number($len) > 0">
- <xsl:text>-</xsl:text>
- <xsl:call-template name="line">
- <xsl:with-param name="len" select="number($len)-1"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="word-wrap">
- <xsl:param name="text"/>
- <xsl:param name="count"/>
- <xsl:param name="mytext" select="normalize-space($text)"/>
- <xsl:choose>
- <xsl:when test="$count > 40">
- <xsl:text>
-</xsl:text>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="$mytext"/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="not(contains($mytext,' '))">
- <xsl:text> </xsl:text>
- <xsl:value-of select="$mytext"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="word" select="substring-before($mytext,' ')"/>
- <xsl:variable name="remainder" select="substring-after($mytext,' ')"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$word"/>
- <xsl:if test="string-length($word) > 0">
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="$remainder"/>
- <xsl:with-param name="count" select="$count + string-length($word)"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/resources/stylesheets/bugzilla2patchqueue.xsl b/tools/resources/stylesheets/bugzilla2patchqueue.xsl
deleted file mode 100644
index 5ebb1a9137..0000000000
--- a/tools/resources/stylesheets/bugzilla2patchqueue.xsl
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:html="http://www.w3.org/1999/xhtml">
-
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
-
-<xsl:template match="html:body">
- <patch-queue>
- <xsl:apply-templates/>
- </patch-queue>
-</xsl:template>
-
-<xsl:template match="html:tr">
- <xsl:if test="contains(@class,'th')">
- <bug>
- <xsl:attribute name="id"><xsl:value-of select="html:td[1]/html:a"/></xsl:attribute>
- <xsl:attribute name="url">http://nagoya.apache.org/bugzilla/<xsl:value-of select="html:td[1]/html:a/@href"/></xsl:attribute>
- <xsl:attribute name="severity"><xsl:value-of select="html:td[2]"/></xsl:attribute>
- <xsl:attribute name="priority"><xsl:value-of select="html:td[3]"/></xsl:attribute>
- <xsl:attribute name="platform"><xsl:value-of select="html:td[4]"/></xsl:attribute>
- <xsl:attribute name="owner"><xsl:value-of select="html:td[5]"/></xsl:attribute>
- <xsl:attribute name="status"><xsl:value-of select="html:td[6]"/></xsl:attribute>
- <xsl:attribute name="resolution"><xsl:value-of select="html:td[7]"/></xsl:attribute>
- <xsl:attribute name="summary"><xsl:value-of select="html:td[8]"/></xsl:attribute>
- </bug>
- </xsl:if>
-</xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/tools/resources/stylesheets/changelog.xsl b/tools/resources/stylesheets/changelog.xsl
deleted file mode 100644
index 20f7cf9fb6..0000000000
--- a/tools/resources/stylesheets/changelog.xsl
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
- <xsl:output indent="yes"/>
-
- <xsl:param name="module">module</xsl:param>
- <xsl:param name="cvsweb">cvsweb</xsl:param>
-
- <xsl:template match="/">
-
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="../../../../html/javadoc.css" title="Style"></link>
- </head>
- <body bgcolor="white">
- <h1>Change Log</h1>
-
- <xsl:apply-templates select="changelog/entry">
- <xsl:sort order="descending" select="date" />
- </xsl:apply-templates>
-
- </body>
- </html>
-
- </xsl:template>
-
- <xsl:template match="entry">
-
- <h2>
- <xsl:call-template name="escape-return">
- <xsl:with-param name="string"><xsl:value-of select="msg"/></xsl:with-param>
- </xsl:call-template>
- </h2>
- <p>
- <b>
- <xsl:apply-templates select="date"/>
- by <xsl:value-of disable-output-escaping="yes" select="author"/>
- </b>
- </p>
- <p>
- <xsl:apply-templates select="file"/>
- </p>
- <hr/>
-
- </xsl:template>
-
- <xsl:template match="date">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="weekday">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="time">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="file">
- <br/><a>
- <xsl:choose>
- <xsl:when test="string-length(prevrevision) = 0 ">
- <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&amp;content-type=text/x-cvsweb-markup</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&amp;r2=<xsl:value-of select="prevrevision"/>&amp;diff_format=h</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="name" />
- </a>
- </xsl:template>
-
- <xsl:template name="escape-return">
- <xsl:param name="string"/>
- <!-- must be a better way to define a carrige return -->
- <xsl:variable name="return"><xsl:text>
-</xsl:text>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="contains($string, $return)">
- <xsl:value-of select="substring-before($string, $return)"/><br/>
- <xsl:call-template name="escape-return">
- <xsl:with-param name="string">
- <xsl:value-of select="substring-after($string, $return)"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$string"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/tools/resources/stylesheets/html2xml.xsl b/tools/resources/stylesheets/html2xml.xsl
deleted file mode 100755
index a40bdd2485..0000000000
--- a/tools/resources/stylesheets/html2xml.xsl
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output indent="yes"/>
- <xsl:param name="stack">bodyroot</xsl:param>
-
- <xsl:template match="html|HTML">
- <xsl:text disable-output-escaping="yes">
- <![CDATA[ <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../dtd/document-v10.dtd"> ]]>
- </xsl:text>
- <document>
- <xsl:apply-templates select = "head" />
- <xsl:apply-templates select="body"/>
- </document>
- </xsl:template>
-
- <xsl:template match="head|HEAD">
- <header>
- <title><xsl:value-of select="title" /><xsl:value-of select="TITLE" /></title>
- <authors>
- <person id="AO" name="Andrew C. Oliver" email="acoliver2@users.sourceforge.net"/>
- </authors>
- </header>
- </xsl:template>
-
- <xsl:template match="body|BODY">
- <body><s1><xsl:attribute name="title"><xsl:value-of select="'pippo'"></xsl:value-of></xsl:attribute>
- <xsl:apply-templates select="*"/>
- </s1>
- </body>
- </xsl:template>
-
-
- <xsl:template match="meta|META"/>
-
- <xsl:template match="title|TITLE"/>
-
- <xsl:template match="h1|H1">
- </xsl:template>
-
- <xsl:template match="h2|H2">
- <s2><xsl:attribute name="title"><xsl:value-of select="."></xsl:value-of></xsl:attribute></s2>
- </xsl:template>
-
- <xsl:template match="h3|H3">
- <s2><xsl:attribute name="title"><xsl:value-of select="."></xsl:value-of></xsl:attribute></s2>
- </xsl:template>
-
- <xsl:template match="h4|H4">
- <s2><xsl:attribute name="title"><xsl:value-of select="."></xsl:value-of></xsl:attribute></s2>
- </xsl:template>
-
- <xsl:template match="dl|DL">
- <!--<dl>
- <xsl:apply-templates select = "dd|DD|dt|DT" />
- </dl>-->
- </xsl:template>
-
- <xsl:template match="dd|DD">
- <!--<dd>
- <xsl:apply-templates select = "*" />
- </dd> -->
- </xsl:template>
-
- <xsl:template match="dt|DT">
- <!--<dt>
- <xsl:apply-templates select = "*" />
- </dt>-->
- </xsl:template>
-
- <xsl:template match="p|P">
- <xsl:choose>
- <xsl:when test="name(parent::node())='li' or name(parent::node())='LI'">
- <xsl:value-of select = "*" />
- </xsl:when>
- <xsl:otherwise>
- <p>
- <xsl:value-of select = "*" />
- </p>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="pre|PRE">
- <xsl:choose>
- <xsl:when test="name(parent::node())='li' or name(parent::node())='LI'">
- <code>
- <xsl:value-of disable-output-escaping="no" select="." />
- </code>
- </xsl:when>
- <xsl:otherwise>
- <source>
- <xsl:value-of disable-output-escaping="no" select="." />
- </source>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="ul|UL">
- <ul>
- <xsl:apply-templates select = "li|LI" />
- </ul>
- </xsl:template>
-
- <xsl:template match="li|LI">
- <li>
- <xsl:apply-templates select = "*" />
- </li>
- </xsl:template>
-
- <xsl:template match="ol|OL">
- <ol>
- <xsl:apply-templates select = "li|LI" />
- </ol>
- </xsl:template>
-
- <xsl:template match="div|DIV">
- <xsl:apply-templates select = "*" />
- </xsl:template>
-
- <xsl:template match="br|BR">
- <br/>
- </xsl:template>
-
- <xsl:template match="i|I">
- <em>
- <xsl:value-of select = "*" />
- </em>
- </xsl:template>
-
- <xsl:template match="b|B">
- <strong>
- <xsl:value-of select = "*" />
- </strong>
- </xsl:template>
-
- <xsl:template match="u|U">
- <em>
- <xsl:value-of select = "*" />
- </em>
- </xsl:template>
-
- <xsl:template match="a|A">
- <link><xsl:attribute name="href"><xsl:value-of select="@href" /><xsl:value-of select="@HREF" /></xsl:attribute>
- <xsl:value-of select = "." />
- </link>
- </xsl:template>
-
- <xsl:template match="img|IMG">
- <img><xsl:attribute name="src"><xsl:value-of select="@src" /></xsl:attribute></img>
- </xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/tools/resources/stylesheets/patchqueue2text4dev.xsl b/tools/resources/stylesheets/patchqueue2text4dev.xsl
deleted file mode 100644
index 0ed5685e95..0000000000
--- a/tools/resources/stylesheets/patchqueue2text4dev.xsl
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
-
- <xsl:output method="text"/>
-
- <xsl:template match="/">-----------------------------------------------------------
- This mail is generated automatically using
- Jakarta Ant. Contents are automatically
- downloaded from Apache's Bugzilla.
------------------------------------------------------------
- Please do not reply to this mail.
------------------------------------------------------------
-
-***********************************************************
- COCOON PATCH QUEUE UPDATE
-
- patches in queue: <xsl:value-of select="count(patch-queue/bug)"/>
-***********************************************************
-
- <xsl:for-each select="patch-queue/bug">
------------------------------------------------------------
-<xsl:value-of select="@id"/>:<xsl:value-of select="@summary"/>
------------------------------------------------------------
-<xsl:value-of select="@url"/>
-
-REVIEWER: <xsl:value-of select="@owner"/>
-RESOLUTION: <xsl:value-of select="@resolution"/>
-STATUS: <xsl:value-of select="@status"/>
-
- </xsl:for-each>
-
-*************************that's it!************************
-
-------------------------patch HOWTO------------------------
-
-Send patches to http://nagoya.apache.org/bugzilla/
-specifying [PATCH] in the summary.
-Bugzilla sends a mail automatically to this list.
-Reviewers will mark it FIXED there when applied.
-Patches not sent to Bugzilla will not be reviewed.
------------------------------------------------------------
-This file is generated and updated automatically at least
-once a week, and the data is taken from Bugzilla.
-If you don't find the patch you submitted to bugzilla
-after one week, please notify cocoon-dev@xml.apache.org
-for assistance.
------------------------------------------------------------
-There is usually a HEAD branch and a previous-version
-branch that are maintained. Where will the patch go?
-1. If it is a bug fix it should go to both branches
-2. If something is totally new it goes into HEAD scratchpad.
-3. Something in between, but does not break backward
- compatibility _may_ go into both (and may not)
-4. For everything else, a vote is required so
- first it may go into HEAD, and then be VOTEd in order
- to sync this into branch.
-Please note that structural changes have to be VOTEd first.
- </xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/resources/stylesheets/patchqueue2xdocs.xsl b/tools/resources/stylesheets/patchqueue2xdocs.xsl
deleted file mode 100644
index 52d21f609e..0000000000
--- a/tools/resources/stylesheets/patchqueue2xdocs.xsl
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
-
- <xsl:template match="/">
-
- <xsl:text disable-output-escaping="yes">
- <![CDATA[
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
- "dtd/document-v10.dtd">
- ]]>
- <!-- this file is automatically generated by build patchqueue-xdocs -->
- </xsl:text>
-
- <document>
- <header>
- <title>Patch Queue</title>
- <authors>
- <person name="Robin Green" email="greenrd@hotmail.com"/>
- <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
- </authors>
- </header>
-
- <body>
-
- <s1 title="Introduction">
-
- <p>
- This is an <strong>informal</strong> list - in chronological order -
- of some of the noteworthy patches that have been posted
- to the <link href="mailto:cocoon-dev@xml.apache.org">cocoon-dev</link> mailing list.
- These patches are not (yet) part of the Apache Cocoon project, but need reviewing for possible
- inclusion. This system was instituted because, due to the large volume of mail and
- the lack of time of the committers, some patches tended to get forgotten about. This
- queue does not guarantee that any patch will be reviewed within a reasonable time frame,
- but it does at least make them easier to find!
- </p>
-
- <p><strong>Reviewers wanted!</strong> - If you have time to review and/or test these patches,
- we would be grateful for your time. Please post comments to the cocoon-dev mailing lists.
- </p>
-
- <p>
- Before submitting a patch, please read the page on <connect href="contrib.xml">Third-Party
- Contributions</connect>. The preferred submission method for patches is:
- </p>
-
- <ul>
- <li>Post to cocoon-dev@xml.apache.org</li>
- <li>Describe the patch, the reason for it and (if necessary) why this is important.</li>
- <li>Generate the patch in <code>diff -u</code> format from CVS</li>
- <li>Also generate a documentation patch or new file, if this is something that should be documented.
- </li>
- <li>Post as an attachment rather than inline (unless it is trivially small).</li>
- </ul>
-
- <p>Following the above guidelines will facilitate your patch being reviewed
- and applied efficiently.</p>
-
- </s1>
-
- <s1 title="Patch Queue">
-
- <p><strong> [Under Construction] </strong> Archive links will be added later.
- <strong>Please do not bother the patch submitters/authors</strong> without first reading the
- relevant post(s) in the <connect href="mail-archives.xml">mailing list archives.</connect>
- </p>
-
- <p>Vapourware will not be listed.</p>
-
- <table>
- <tr>
- <th>id<!--and Link--></th>
- <th>Summary</th>
- <th>Reviewer</th>
- <th>Resolution</th>
- <th>Status</th>
- </tr>
- <xsl:for-each select="patch-queue/bug">
- <tr>
- <th>
- <connect>
- <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
- <xsl:value-of select="@id"/>
- </connect>
- </th>
- <th><xsl:value-of select="@summary"/></th>
- <th><xsl:value-of select="@owner"/></th>
- <th><xsl:value-of select="@resolution"/></th>
- <th><xsl:value-of select="@status"/></th>
- </tr>
- </xsl:for-each>
- </table>
-
- <p>See also additional list of patches to be added in <connect href="todo.xml">To Do</connect>.
- </p>
-
- </s1>
- </body>
- </document>
-
- </xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/src/ClassAvailable.java b/tools/src/ClassAvailable.java
deleted file mode 100644
index bec059aeb1..0000000000
--- a/tools/src/ClassAvailable.java
+++ /dev/null
@@ -1,246 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-import java.io.*;
-
-import java.util.*;
-import java.util.zip.*;
-
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.taskdefs.*;
-import org.apache.tools.ant.types.*;
-
-/**
- * Will set the given property if the requested class is available in the
- * specified classpath. The found class is not loaded!
- * This class is heavily based on the available task in the ant package:
- * @author Stefano Mazzocchi <a href="mailto:stefano@apache.org">stefano@apache.org</a>
- *
- * This task searches only in the defined path but not in the parents path
- * unless explicitly overridden by the value of ${build.sysclasspath}
- * like the original available task does.
- * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision$ $Date$
- */
-
-public class ClassAvailable
- extends Task
-{
-
- /**
- * A hashtable of zip files opened by the classloader
- */
-
- private Hashtable zipFiles = new Hashtable();
- private String property;
- private String classname;
- private Path classpath;
- private String value = "true";
-
- public void setClasspath(Path classpath)
- {
- createClasspath().append(classpath);
- }
-
- public Path createClasspath()
- {
- if (this.classpath == null)
- {
- this.classpath = new Path(this.project);
- }
- return this.classpath.createPath();
- }
-
- public void setClasspathRef(Reference r)
- {
- createClasspath().setRefid(r);
- }
-
- public void setProperty(String property)
- {
- this.property = property;
- }
-
- public void setValue(String value)
- {
- this.value = value;
- }
-
- public void setClassname(String classname)
- {
- if (!"".equals(classname))
- {
- this.classname = classname;
- }
- }
-
- public void execute()
- throws BuildException
- {
- if (property == null)
- {
- throw new BuildException("property attribute is required",
- location);
- }
- if (eval())
- {
- this.project.setProperty(property, value);
- }
- }
-
- public boolean eval()
- throws BuildException
- {
- if (classname == null)
- {
- throw new BuildException(
- "At least one of (classname|file|resource) is required",
- location);
- }
- if (classpath != null)
- {
- classpath.setProject(project);
- classpath = classpath.concatSystemClasspath("ignore");
- }
- if (!findClassInComponents(classname))
- {
- log("Unable to load class " + classname + " to set property "
- + property, Project.MSG_VERBOSE);
- return false;
- }
- return true;
- }
-
- /**
- * Get an inputstream to a given resource in the given file which may
- * either be a directory or a zip file.
- *
- * @param file the file (directory or jar) in which to search for the resource.
- * @param resourceName the name of the resource for which a stream is required.
- *
- * @return a stream to the required resource or null if the resource cannot be
- * found in the given file object
- */
-
- private boolean contains(File file, String resourceName)
- {
- try
- {
- if (!file.exists())
- {
- return false;
- }
- if (file.isDirectory())
- {
- File resource = new File(file, resourceName);
-
- if (resource.exists())
- {
- return true;
- }
- }
- else
- {
-
- // is the zip file in the cache
- ZipFile zipFile = ( ZipFile ) zipFiles.get(file);
-
- if (zipFile == null)
- {
- zipFile = new ZipFile(file);
- zipFiles.put(file, zipFile);
- }
- ZipEntry entry = zipFile.getEntry(resourceName);
-
- if (entry != null)
- {
- return true;
- }
- }
- }
- catch (Exception e)
- {
- log("Ignoring Exception " + e.getClass().getName() + ": "
- + e.getMessage() + " reading resource " + resourceName
- + " from " + file, Project.MSG_VERBOSE);
- }
- return false;
- }
-
- /**
- * Find a class on the given classpath.
- */
-
- private boolean findClassInComponents(String name)
- {
-
- // we need to search the components of the path to see if we can find the
- // class we want.
- final String classname = name.replace('.', '/') + ".class";
- final String[] list = classpath.list();
- boolean found = false;
- int i = 0;
-
- while ((i < list.length) && (found == false))
- {
- final File pathComponent =
- ( File ) project.resolveFile(list[ i ]);
-
- found = this.contains(pathComponent, classname);
- i++;
- }
- return found;
- }
-}
diff --git a/tools/src/JTidyTask.java b/tools/src/JTidyTask.java
deleted file mode 100644
index ce8f5b3af4..0000000000
--- a/tools/src/JTidyTask.java
+++ /dev/null
@@ -1,272 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-import java.io.InputStream;
-import java.io.FileInputStream;
-import java.io.BufferedInputStream;
-import java.io.OutputStream;
-import java.io.FileOutputStream;
-import java.io.Writer;
-import java.io.PrintWriter;
-import java.io.FileWriter;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import java.util.ArrayList;
-
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-import org.w3c.dom.Element;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.tidy.Tidy;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.taskdefs.Property;
-
-/**
- * Task to ask property values to the user. Uses current value as default.
- *
- * @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
- * @created 14 January 2002
- */
-
-public class JTidyTask
- extends org.apache.tools.ant.Task
-{
- private String src;
- private String dest;
- private String log;
- private Tidy tidy;
- private String warn = "false";
- private String summary = "false";
- PrintWriter pw;
-
- /**
- * Constructor.
- */
-
- public JTidyTask()
- {
- super();
- }
-
- /**
- * Initializes the task.
- */
-
- public void init()
- {
- super.init();
-
- // Setup an instance of Tidy.
- tidy = new Tidy();
- tidy.setXmlOut(true);
- tidy.setXHTML(true);
- tidy.setDropFontTags(true);
- tidy.setLiteralAttribs(true);
- tidy.setMakeClean(true);
- tidy.setShowWarnings(Boolean.getBoolean(warn));
- tidy.setQuiet(!Boolean.getBoolean(summary));
- }
-
- /**
- * Run the task.
- * @exception org.apache.tools.ant.BuildException The exception raised during task execution.
- */
-
- public void execute()
- throws org.apache.tools.ant.BuildException
- {
- try
- {
- PrintWriter pw = new PrintWriter(new FileWriter(log));
-
- tidy.setErrout(pw);
-
- // Extract the document using JTidy and stream it.
- BufferedInputStream in =
- new BufferedInputStream(new FileInputStream(src));
-
- // FileOutputStream out = new FileOutputStream(dest);
- PrintWriter out =
- new PrintWriter(new FileWriter(dest));
-
- // using null as output to get dom so to remove duplicate attributes
- org.w3c.dom.Document domDoc = tidy.parseDOM(in, null);
-
- domDoc.normalize();
- stripDuplicateAttributes(domDoc, null);
- org.apache.xml.serialize.OutputFormat format =
- new org.apache.xml.serialize.OutputFormat();
-
- format.setIndenting(true);
- format.setEncoding("ISO-8859-1");
- format.setPreserveSpace(true);
- format.setLineSeparator("\n");
- org.apache.xml.serialize.XMLSerializer serializer =
- new org.apache.xml.serialize.XMLSerializer(out, format);
-
- serializer.serialize(domDoc);
- out.flush();
- out.close();
- in.close();
- pw.flush();
- pw.close();
- }
- catch (IOException ioe)
- {
- throw new BuildException(ioe);
- }
- }
-
- public void setSrc(String src)
- {
- this.src = src;
- }
-
- public void setDest(String dest)
- {
- this.dest = dest;
- }
-
- public void setLog(String log)
- {
- this.log = log;
- }
-
- public void setWarn(String warn)
- {
- this.warn = warn;
- }
-
- public void setSummary(String summary)
- {
- this.summary = summary;
- }
-
- // using parent because jtidy dom is bugged, cannot get parent or delete child
- public static void stripDuplicateAttributes(Node node, Node parent)
- {
-
- // The output depends on the type of the node
- switch (node.getNodeType())
- {
-
- case Node.DOCUMENT_NODE :
- {
- Document doc = ( Document ) node;
- Node child = doc.getFirstChild();
-
- while (child != null)
- {
- stripDuplicateAttributes(child, node);
- child = child.getNextSibling();
- }
- break;
- }
- case Node.ELEMENT_NODE :
- {
- Element elt = ( Element ) node;
- NamedNodeMap attrs = elt.getAttributes();
- ArrayList nodesToRemove = new ArrayList();
- int nodesToRemoveNum = 0;
-
- for (int i = 0; i < attrs.getLength(); i++)
- {
- Node a = attrs.item(i);
-
- for (int j = 0; j < attrs.getLength(); j++)
- {
- Node b = attrs.item(j);
-
- // if there are two attributes with same name
- if ((i != j)
- && (a.getNodeName().equals(b.getNodeName())))
- {
- nodesToRemove.add(b);
- nodesToRemoveNum++;
- }
- }
- }
- for (int i = 0; i < nodesToRemoveNum; i++)
- {
- org.w3c.dom.Attr nodeToDelete =
- ( org.w3c.dom.Attr ) nodesToRemove.get(i);
- org.w3c.dom.Element nodeToDeleteParent =
- ( org.w3c.dom
- .Element ) node; // nodeToDelete.getParentNode();
-
- nodeToDeleteParent.removeAttributeNode(nodeToDelete);
- }
- nodesToRemove.clear();
- Node child = elt.getFirstChild();
-
- while (child != null)
- {
- stripDuplicateAttributes(child, node);
- child = child.getNextSibling();
- }
- break;
- }
- default :
-
- // do nothing
- break;
- }
- }
-}
diff --git a/tools/src/SitemapTool.java b/tools/src/SitemapTool.java
deleted file mode 100644
index 23a5f7caca..0000000000
--- a/tools/src/SitemapTool.java
+++ /dev/null
@@ -1,363 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-import java.io.*;
-
-import java.util.*;
-
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.taskdefs.*;
-import org.apache.tools.ant.types.*;
-
-/**
- * Add components to the sitemap
- *
- * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision$ $Date$
- */
-
-public final class SitemapTool
- extends Task
-{
- private String sitemap;
- private String directory;
- private String extension;
-
- public void setSitemap(String sitemap)
- {
- this.sitemap = sitemap;
- }
-
- public void setDirectory(String directory)
- {
- this.directory = directory;
- }
-
- public void setExtension(String extension)
- {
- this.extension = extension;
- }
-
- public void execute()
- throws BuildException
- {
- if (this.sitemap == null)
- {
- throw new BuildException("sitemap attribute is required",
- location);
- }
- if (this.extension == null)
- {
- throw new BuildException("extension attribute is required",
- location);
- }
- if (this.directory == null)
- {
- throw new BuildException("directory attribute is required",
- location);
- }
- try
- {
-
- // process recursive
- this.process(new File(this.directory), this.extension,
- this.sitemap);
- }
- catch (IOException ioe)
- {
- throw new BuildException("IOException: " + ioe);
- }
- }
-
- /**
- * Scan recursive
- */
-
- private void process(final File directoryFile, final String ext,
- final String sitemapLocation)
- throws IOException, BuildException
- {
- final File[] files = directoryFile.listFiles();
-
- for (int i = 0; i < files.length; i++)
- {
- if (files[ i ].isDirectory() == true)
- {
- this.process(files[ i ], ext, sitemapLocation);
- }
- else
- {
- if (files[ i ].getName().endsWith("." + ext) == true)
- {
- System.out.println("Reading: "
- + files[ i ].getAbsolutePath());
- final String data =
- this.load(files[ i ].getAbsolutePath());
-
- // separate the data by lines
- final StringTokenizer st = new StringTokenizer(data);
-
- while (st.hasMoreElements() == true)
- {
-
- // now get the properties of a line. These are separated by a "|"
- final String line =
- ( String ) st.nextElement();
- final StringTokenizer prop =
- new StringTokenizer(line, "|");
- String category = null;
- String componentName = null;
- String className = null;
- String configuration = null;
- String label = null;
- String mimeType = null;
-
- while (prop.hasMoreElements() == true)
- {
- final String property =
- ( String ) prop.nextElement();
- final int pos = property.indexOf(":");
- final String propName =
- property.substring(0, pos);
- final String propVal = property.substring(pos
- + 1);
-
- if (propName.equals("category"))
- {
- category = propVal;
- }
- else if (propName.equals("componentName"))
- {
- componentName = propVal;
- }
- else if (propName.equals("componentClass"))
- {
- className = propVal;
- }
- else if (propName.equals("configuration"))
- {
- configuration = propVal;
- }
- else if (propName.equals("label"))
- {
- label = propVal;
- }
- else if (propName.equals("mimeType"))
- {
- mimeType = propVal;
- }
- else
- {
- throw new BuildException(
- "Unknown property " + propName
- + " in file "
- + files[ i ].getAbsolutePath());
- }
- }
-
- // Test for required values
- if (category == null)
- {
- throw new BuildException(
- "category property is required in file "
- + files[ i ].getAbsolutePath(), location);
- }
- if (componentName == null)
- {
- throw new BuildException(
- "componentName property is required in file "
- + files[ i ].getAbsolutePath(), location);
- }
- if (className == null)
- {
- throw new BuildException(
- "componentClass property is required in file "
- + files[ i ].getAbsolutePath(), location);
- }
- this.add(sitemapLocation, category, componentName,
- className, configuration, label, mimeType);
- }
- }
- }
- }
- }
-
- /**
- * Add entry to sitemap
- */
-
- private void add(final String sitemapLocation, final String category,
- final String componentName, final String className,
- final String configuration, final String label,
- final String mimeType)
- throws IOException
- {
- final String data = load(sitemapLocation);
- final String searchString =
- new StringBuffer("</map:").append(category).append(">")
- .toString();
- final int pos = data.indexOf(searchString);
- int categoryStartPos =
- data
- .indexOf(new StringBuffer("<map:").append(category).append(">")
- .toString());
-
- if (categoryStartPos == -1)
- {
- categoryStartPos =
- data
- .indexOf(new StringBuffer("<map:").append(category)
- .append(" ").toString());
- }
- if ((categoryStartPos != -1) && (categoryStartPos < pos)
- && (pos != -1))
- {
-
- // the category exists, now search if a component
- // with the name already exists
- int componentPos =
- data.substring(categoryStartPos, pos)
- .indexOf(new StringBuffer("name=\"").append(componentName)
- .append("\"").toString());
-
- if (componentPos == -1)
- {
- StringBuffer buffer =
- new StringBuffer(data.substring(0, pos)).append("<map:")
- .append(category.substring(0, category.length() - 1))
- .append(" name=\"").append(componentName)
- .append("\" src=\"").append(className).append("\"")
- .append(" logger=\"sitemap.")
- .append(category.substring(0, category.length() - 1))
- .append('.').append(componentName).append('\"');
-
- if ((null != mimeType) && (mimeType.length() > 0))
- {
- buffer.append(" mime-type=\"").append(mimeType)
- .append("\"");
- }
- if ((null != label) && (label.length() > 0))
- {
- buffer.append(" label=\"").append(label).append("\"");
- }
- if (null != configuration)
- {
- buffer.append(">\n").append(configuration).append("\n")
- .append("</map:")
- .append(category.substring(0, category.length() - 1))
- .append(">\n");
- }
- else
- {
- buffer.append("/>\n");
- }
- buffer.append(data.substring(pos)).toString();
- this.save(sitemapLocation, buffer.toString());
- }
- }
- }
-
- /**
- * Load a file and return the content as a string.
- */
-
- public String load(String filename)
- throws IOException
- {
- FileInputStream fis;
-
- fis = new FileInputStream(filename);
- int available;
- byte[] data = null;
- byte[] tempData;
- byte[] copyData;
-
- do
- {
- available = 1024;
- tempData = new byte[ available ];
- available = fis.read(tempData, 0, available);
- if (available > 0)
- {
- copyData = new byte[ ((data == null) ? 0
- : data.length) + available ];
- if (data != null)
- {
- System.arraycopy(data, 0, copyData, 0, data.length);
- }
- System.arraycopy(tempData, 0, copyData, ((data == null) ? 0
- : data.length), available);
- data = copyData;
- }
- }
- while (available > 0);
- fis.close();
- return ((data != null) ? new String(data)
- : "");
- }
-
- /**
- * Save the string to a file
- */
-
- public void save(String filename, String data)
- throws IOException
- {
- FileWriter fw = new FileWriter(filename);
-
- fw.write(data);
- fw.close();
- }
-}
diff --git a/tools/src/UserInput.java b/tools/src/UserInput.java
deleted file mode 100644
index 6a3c6a419e..0000000000
--- a/tools/src/UserInput.java
+++ /dev/null
@@ -1,149 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-import java.io.InputStreamReader;
-import java.io.BufferedReader;
-import java.io.IOException;
-
-/**
- * Task to ask property values to the user. Uses current value as default.
- *
- * @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
- * @created 14 January 2002
- */
-
-public class UserInput
- extends org.apache.tools.ant.Task
-{
- private String question;
- private String name;
- private String value;
-
- /**
- * Constructor.
- */
-
- public UserInput()
- {
- super();
- }
-
- /**
- * Initializes the task.
- */
-
- public void init()
- {
- super.init();
- question = "?";
- }
-
- /**
- * Run the task.
- * @exception org.apache.tools.ant.BuildException The exception raised during task execution.
- */
-
- public void execute()
- throws org.apache.tools.ant.BuildException
- {
- value = project.getProperty(name);
- String defaultvalue = value;
-
- // if the property exists
- if (value != null)
- {
- System.out.println("\n" + question + " [" + value + "] ");
- BufferedReader reader =
- new BufferedReader(new InputStreamReader(System.in));
-
- try
- {
- value = reader.readLine();
- }
- catch (IOException e)
- {
- value = defaultvalue;
- }
- if (!value.equals(""))
- {
- project.setProperty(name, value);
- }
- else
- {
- project.setProperty(name, defaultvalue);
- }
- }
- }
-
- /**
- * Sets the prompt text that will be presented to the user.
- * @param question prompt string
- */
-
- public void addText(String question)
- {
- this.question = question;
- }
-
- public void setQuestion(String question)
- {
- this.question = question;
- }
-
- public void setName(String name)
- {
- this.name = name;
- }
-}
diff --git a/tools/src/XConfTool.java b/tools/src/XConfTool.java
deleted file mode 100644
index becdba9215..0000000000
--- a/tools/src/XConfTool.java
+++ /dev/null
@@ -1,238 +0,0 @@
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and
- * "Apache POI" must not be used to endorse or promote products
- * derived from this software without prior written permission. For
- * written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * "Apache POI", nor may "Apache" appear in their name, without
- * prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-import java.io.*;
-
-import java.util.*;
-
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.taskdefs.*;
-import org.apache.tools.ant.types.*;
-
-/**
- * Add components to the cocoon.xconf
- * This is only a ugly first shot
- *
- * @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision$ $Date$
- */
-
-public final class XConfTool
- extends Task
-{
- private String configuration;
- private String directory;
- private String extension;
-
- public void setConfiguration(String configuration)
- {
- this.configuration = configuration;
- }
-
- public void setDirectory(String directory)
- {
- this.directory = directory;
- }
-
- public void setExtension(String extension)
- {
- this.extension = extension;
- }
-
- public void execute()
- throws BuildException
- {
- if (this.configuration == null)
- {
- throw new BuildException("configuration attribute is required",
- location);
- }
- if (this.extension == null)
- {
- throw new BuildException("extension attribute is required",
- location);
- }
- if (this.directory == null)
- {
- throw new BuildException("directory attribute is required",
- location);
- }
- try
- {
-
- // process recursive
- this.process(new File(this.directory), this.extension,
- this.configuration);
- }
- catch (IOException ioe)
- {
- throw new BuildException("IOException: " + ioe);
- }
- }
-
- /**
- * Scan recursive
- */
-
- private void process(final File directoryFile, final String ext,
- final String configurationLocation)
- throws IOException, BuildException
- {
- final File[] files = directoryFile.listFiles();
-
- for (int i = 0; i < files.length; i++)
- {
- if (files[ i ].isDirectory() == true)
- {
- this.process(files[ i ], ext, configurationLocation);
- }
- else
- {
- if (files[ i ].getName().endsWith("." + ext) == true)
- {
- System.out.println("Reading: "
- + files[ i ].getAbsolutePath());
- final String newComponent =
- this.load(files[ i ].getAbsolutePath());
-
- this.add(configurationLocation, newComponent);
- }
- }
- }
- }
-
- /**
- * Add entry to sitemap
- */
-
- private void add(final String configurationLocation,
- final String newComponent)
- throws IOException
- {
- final String data = load(configurationLocation);
-
- // first search if component already present:
- if (data.indexOf(newComponent) == -1)
- {
- int pos = data.indexOf("<cocoon");
-
- if (pos != -1)
- {
- pos = data.indexOf(">", pos);
- if (pos != -1)
- {
- StringBuffer buffer =
- new StringBuffer(data.substring(0, pos + 1))
- .append("\n\n").append(newComponent)
- .append(data.substring(pos + 1));
-
- this.save(configurationLocation, buffer.toString());
- }
- }
- }
- }
-
- /**
- * Load a file and return the content as a string.
- */
-
- public String load(String filename)
- throws IOException
- {
- FileInputStream fis;
-
- fis = new FileInputStream(filename);
- int available;
- byte[] data = null;
- byte[] tempData;
- byte[] copyData;
-
- do
- {
- available = 1024;
- tempData = new byte[ available ];
- available = fis.read(tempData, 0, available);
- if (available > 0)
- {
- copyData = new byte[ ((data == null) ? 0
- : data.length) + available ];
- if (data != null)
- {
- System.arraycopy(data, 0, copyData, 0, data.length);
- }
- System.arraycopy(tempData, 0, copyData, ((data == null) ? 0
- : data.length), available);
- data = copyData;
- }
- }
- while (available > 0);
- fis.close();
- return ((data != null) ? new String(data)
- : "");
- }
-
- /**
- * Save the string to a file
- */
-
- public void save(String filename, String data)
- throws IOException
- {
- FileWriter fw = new FileWriter(filename);
-
- fw.write(data);
- fw.close();
- }
-}
diff --git a/tools/src/announcement2header.xsl b/tools/src/announcement2header.xsl
deleted file mode 100755
index c326fa56a7..0000000000
--- a/tools/src/announcement2header.xsl
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="html" indent="yes"/>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template match="announcement">
- <style>
- body { background-color: #FFFFFF }
- p { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- li,ul { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- div { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-style:italic }
- h1 { font-size: 14pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h2 { font-size: 12pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h3 { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- A:link { color: #0000A0 } /* unvisited link */
- A:visited { color: #A00000 } /* visited links */
- A:active { color: #00A000 } /* active links */
- </style>
- <h1 align="center"><xsl:value-of select="title"/><xsl:text> Released</xsl:text></h1>
- <xsl:apply-templates select="abstract"/>
-
- <xsl:for-each select="project">
- <h2>About <xsl:value-of select="title"/></h2>
- <xsl:apply-templates select="."/>
- </xsl:for-each>
-
- </xsl:template>
-
- <xsl:template match="project">
- <p><xsl:apply-templates select="description"/></p>
-
- <p>For more information about <xsl:value-of select="title"/>, please go to
- <a><xsl:attribute name="href"><xsl:value-of select="@site"/></xsl:attribute>
- <xsl:value-of select="@site"/></a>.</p>
-
- <!-- print out ChangeLog if present -->
- <!--
- <xsl:if test="changes">
- <h3>ChangeLog for <xsl:value-of select="title"/></h3>
- <xsl:apply-templates select="changes"/>
- </xsl:if>
- -->
- </xsl:template>
-
- <xsl:template match="abstract">
- <div align="center">
- <xsl:apply-templates/>
- </div>
- </xsl:template>
-
- <xsl:template match="para">
- <p><xsl:apply-templates/></p>
- </xsl:template>
-
- <xsl:template match="ulink">
- <a href="{@uri}"><xsl:value-of select="."/></a>
- </xsl:template>
-
- <xsl:template match="release">
- <ul>
- <xsl:for-each select="action">
- <li>
- <xsl:value-of select="normalize-space(.)"/>
- <xsl:if test="@dev">
- <xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/src/announcement2readme.xsl b/tools/src/announcement2readme.xsl
deleted file mode 100755
index 63cbdefd07..0000000000
--- a/tools/src/announcement2readme.xsl
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="html" indent="yes"/>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template match="announcement">
- <style>
- body { background-color: #FFFFFF }
- p { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- li,ul { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
- div { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-style:italic }
- h1 { font-size: 14pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h2 { font-size: 12pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- h3 { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
- A:link { color: #0000A0 } /* unvisited link */
- A:visited { color: #A00000 } /* visited links */
- A:active { color: #00A000 } /* active links */
- </style>
-
- <a name="sig"><h2>PGP Signatures</h2></a>
-
- <p>Many of the distribution kits have been digitally signed (using
- PGP). If so, there will be an accompanying
- <samp><em>distribution</em>.asc</samp> file in the same directory as
- the distribution. The PGP keys can be found in the distribution
- directory at &lt;<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS">
- <samp>http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS</samp></a>&gt;.</p>
-
- <xsl:variable name="filename"><xsl:value-of
- select="project/downloads/@name"/>-<xsl:value-of
- select="project/changes/@version"/>-bin.tar.gz</xsl:variable>
-
- <pre>Always test available signatures, <i>e.g.</i>,
-&gt; pgpk -a KEYS
-&gt; pgpv <xsl:value-of select="$filename"/>.asc
-<i>or</i>,
-&gt; pgp -ka KEYS
-&gt; pgp <xsl:value-of select="$filename"/>.asc
-<i>or</i>,
-&gt; gpg --import KEYS
-&gt; gpg --verify <xsl:value-of select="$filename"/>.asc
-</pre>
-
- <xsl:for-each select="project">
- <xsl:if test="downloads">
- <h2>About <xsl:value-of select="title"/></h2>
- <xsl:apply-templates select="."/>
- </xsl:if>
- </xsl:for-each>
-
- </xsl:template>
-
- <xsl:template match="project">
-
- <p>For more information about <xsl:value-of select="title"/>, please go to
- <a><xsl:attribute name="href"><xsl:value-of select="@site"/></xsl:attribute>
- <xsl:value-of select="@site"/></a>.</p>
-
- <!-- print out ChangeLog if present -->
- <xsl:if test="changes">
- <h3>ChangeLog for <xsl:value-of select="title"/></h3>
- <xsl:apply-templates select="changes"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="ulink">
- <a href="{@uri}"><xsl:value-of select="."/></a>
- </xsl:template>
-
- <xsl:template match="release">
- <ul>
- <xsl:for-each select="action">
- <li>
- <xsl:value-of select="normalize-space(.)"/>
- <xsl:if test="@dev">
- <xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
- </xsl:if>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/src/announcement2site.xsl b/tools/src/announcement2site.xsl
deleted file mode 100755
index 52a41cd9c5..0000000000
--- a/tools/src/announcement2site.xsl
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:lxslt="http://xml.apache.org/xslt"
- xmlns:my-ext="ext1"
- extension-element-prefixes="my-ext"
->
-
- <xsl:output method="xml" indent="yes"/>
- <!--The component and its script are in the lxslt namespace and define the
- implementation of the extension.-->
- <lxslt:component prefix="my-ext" elements="timelapse" functions="getdate">
- <lxslt:script lang="javascript">
- var month = new Array (
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- );
-
- function getdate()
- {
- var d = new Date();
- var mo = month[d.getMonth()];
- var dy = d.getDate();
- var yr = d.getFullYear();
- var dateString = dy + " " + mo + " " + yr;
- return dateString;
- }
- </lxslt:script>
- </lxslt:component>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template match="announcement">
- <h3><xsl:value-of select="my-ext:getdate()"/> - <xsl:value-of select="title"/><xsl:text> Released</xsl:text></h3>
- <xsl:apply-templates select="abstract"/>
-
- <xsl:for-each select="project">
- <p><b>About <xsl:value-of select="title"/>:</b>
- <xsl:apply-templates select="."/>
- </p>
- </xsl:for-each>
-
- <hr noshade="" size="1"/>
- </xsl:template>
-
- <xsl:template match="project">
- <xsl:apply-templates select="description"/>
-
- <p>For more information about <xsl:value-of select="title"/>, please go to
- <a><xsl:attribute name="href"><xsl:value-of select="@site"/></xsl:attribute>
- <xsl:value-of select="@site"/></a>.</p>
-
- <!-- ignore changelog for site -->
- </xsl:template>
-
- <xsl:template match="abstract">
- <p><xsl:apply-templates/></p>
- </xsl:template>
-
- <xsl:template match="description">
- <xsl:choose>
- <xsl:when test="para">
- <xsl:apply-templates select="para[position()=1]/node()"/>
- <xsl:apply-templates select="para[position()>1]"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="para">
- <p><xsl:apply-templates/></p>
- </xsl:template>
-
- <xsl:template match="ulink">
- <a href="{@uri}"><xsl:value-of select="."/></a>
- </xsl:template>
-</xsl:stylesheet>
diff --git a/tools/src/announcement2txt.xsl b/tools/src/announcement2txt.xsl
deleted file mode 100755
index 9b03cc12b4..0000000000
--- a/tools/src/announcement2txt.xsl
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
- <xsl:output method="text" indent="no"/>
-
- <xsl:template match="changes">
- <xsl:variable name="version" select="@version"/>
- <xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
- </xsl:template>
-
- <xsl:template name="print-title">
- <xsl:param name="title"/>
-<xsl:variable name="text" select="normalize-space($title)"/>
-<xsl:value-of select="$text"/><xsl:text>
-</xsl:text>
- <xsl:call-template name="line">
- <xsl:with-param name="len" select="string-length($text)"/>
- </xsl:call-template>
- <xsl:text>
-</xsl:text>
- </xsl:template>
-
- <xsl:template match="announcement">
- <text>
- <xsl:call-template name="print-title">
- <xsl:with-param name="title"><xsl:value-of select="title"/> Released</xsl:with-param>
- </xsl:call-template>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="normalize-space(abstract)"/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-
-</xsl:text>
- <xsl:for-each select="project">
- <xsl:call-template name="print-title">
- <xsl:with-param name="title">About <xsl:value-of select="title"/></xsl:with-param>
- </xsl:call-template>
- <xsl:apply-templates select="."/>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </text>
- </xsl:template>
-
- <xsl:template match="project">
- <xsl:choose>
- <xsl:when test="description/para">
- <xsl:for-each select="description/para">
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text">
- <xsl:apply-templates select="."/>
- </xsl:with-param>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text">
- <xsl:apply-templates select="description"/>
- </xsl:with-param>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- <xsl:text>
-</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>
-For more information about </xsl:text>
- <xsl:value-of select="title"/>
- <xsl:text>, please go to
-</xsl:text>
- <xsl:value-of select="@site"/>
-
- <!-- print out ChangeLog if present -->
- <xsl:if test="changes">
- <xsl:text>
-
-ChangeLog for </xsl:text>
- <xsl:value-of select="title"/>
- <xsl:text>
-
-</xsl:text>
- <xsl:apply-templates select="changes"/>
- </xsl:if>
-
- <!-- print out Downloads if present -->
- <xsl:if test="downloads">
- <xsl:text>
-Downloads for </xsl:text><xsl:value-of select="title"/> available at
-
-<xsl:value-of select="downloads/@base"/>/latest
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template match="para">
- <xsl:apply-templates/>
- <xsl:text>
-</xsl:text>
- </xsl:template>
-
- <xsl:template match="ulink">
- <xsl:value-of select="."/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="@uri"/>
- <xsl:text>)</xsl:text>
- </xsl:template>
-
- <xsl:template match="release">
- <xsl:for-each select="action">
- <xsl:text>*) </xsl:text>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="."/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template><xsl:text> </xsl:text>
- <xsl:if test="@dev">
- <xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>
-
-</xsl:text>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template name="line">
- <xsl:param name="len"/>
- <xsl:if test="number($len) > 0">
- <xsl:text>-</xsl:text>
- <xsl:call-template name="line">
- <xsl:with-param name="len" select="number($len)-1"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
- <xsl:template name="word-wrap">
- <xsl:param name="text"/>
- <xsl:param name="count"/>
- <xsl:param name="mytext" select="normalize-space($text)"/>
- <xsl:choose>
- <xsl:when test="$count > 40">
- <xsl:text>
-</xsl:text>
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="$mytext"/>
- <xsl:with-param name="count" select="0"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="not(contains($mytext,' '))">
- <xsl:text> </xsl:text>
- <xsl:value-of select="$mytext"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="word" select="substring-before($mytext,' ')"/>
- <xsl:variable name="remainder" select="substring-after($mytext,' ')"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$word"/>
- <xsl:if test="string-length($word) > 0">
- <xsl:call-template name="word-wrap">
- <xsl:with-param name="text" select="$remainder"/>
- <xsl:with-param name="count" select="$count + string-length($word)"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/src/bugzilla2patchqueue.xsl b/tools/src/bugzilla2patchqueue.xsl
deleted file mode 100755
index 96e91245a4..0000000000
--- a/tools/src/bugzilla2patchqueue.xsl
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:html="http://www.w3.org/1999/xhtml">
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
-<xsl:template match="html:body">
- <patch-queue>
- <xsl:apply-templates/>
- </patch-queue>
-</xsl:template>
-
-<xsl:template match="html:tr">
- <xsl:if test="contains(@class,'th')">
- <bug>
- <xsl:attribute name="id"><xsl:value-of select="html:td[1]/html:a"/></xsl:attribute>
- <xsl:attribute name="url">http://nagoya.apache.org/bugzilla/<xsl:value-of select="html:td[1]/html:a/@href"/></xsl:attribute>
- <xsl:attribute name="severity"><xsl:value-of select="html:td[2]"/></xsl:attribute>
- <xsl:attribute name="priority"><xsl:value-of select="html:td[3]"/></xsl:attribute>
- <xsl:attribute name="platform"><xsl:value-of select="html:td[4]"/></xsl:attribute>
- <xsl:attribute name="owner"><xsl:value-of select="html:td[5]"/></xsl:attribute>
- <xsl:attribute name="status"><xsl:value-of select="html:td[6]"/></xsl:attribute>
- <xsl:attribute name="resolution"><xsl:value-of select="html:td[7]"/></xsl:attribute>
- <xsl:attribute name="summary"><xsl:value-of select="html:td[8]"/></xsl:attribute>
- </bug>
- </xsl:if>
-</xsl:template>
-
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-
-
-</xsl:stylesheet>
diff --git a/tools/src/changelog.xsl b/tools/src/changelog.xsl
deleted file mode 100755
index 20f7cf9fb6..0000000000
--- a/tools/src/changelog.xsl
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
- <xsl:output indent="yes"/>
-
- <xsl:param name="module">module</xsl:param>
- <xsl:param name="cvsweb">cvsweb</xsl:param>
-
- <xsl:template match="/">
-
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="../../../../html/javadoc.css" title="Style"></link>
- </head>
- <body bgcolor="white">
- <h1>Change Log</h1>
-
- <xsl:apply-templates select="changelog/entry">
- <xsl:sort order="descending" select="date" />
- </xsl:apply-templates>
-
- </body>
- </html>
-
- </xsl:template>
-
- <xsl:template match="entry">
-
- <h2>
- <xsl:call-template name="escape-return">
- <xsl:with-param name="string"><xsl:value-of select="msg"/></xsl:with-param>
- </xsl:call-template>
- </h2>
- <p>
- <b>
- <xsl:apply-templates select="date"/>
- by <xsl:value-of disable-output-escaping="yes" select="author"/>
- </b>
- </p>
- <p>
- <xsl:apply-templates select="file"/>
- </p>
- <hr/>
-
- </xsl:template>
-
- <xsl:template match="date">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="weekday">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="time">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="file">
- <br/><a>
- <xsl:choose>
- <xsl:when test="string-length(prevrevision) = 0 ">
- <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&amp;content-type=text/x-cvsweb-markup</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&amp;r2=<xsl:value-of select="prevrevision"/>&amp;diff_format=h</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="name" />
- </a>
- </xsl:template>
-
- <xsl:template name="escape-return">
- <xsl:param name="string"/>
- <!-- must be a better way to define a carrige return -->
- <xsl:variable name="return"><xsl:text>
-</xsl:text>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="contains($string, $return)">
- <xsl:value-of select="substring-before($string, $return)"/><br/>
- <xsl:call-template name="escape-return">
- <xsl:with-param name="string">
- <xsl:value-of select="substring-after($string, $return)"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$string"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
-
diff --git a/tools/src/patchqueue2text4dev.xsl b/tools/src/patchqueue2text4dev.xsl
deleted file mode 100755
index 57986547c9..0000000000
--- a/tools/src/patchqueue2text4dev.xsl
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
- <xsl:output method="text"/>
-
- <xsl:template match="/">-----------------------------------------------------------
- This mail is generated automatically using
- Jakarta Ant. Contents are automatically
- downloaded from Apache's Bugzilla.
------------------------------------------------------------
- Please do not reply to this mail.
------------------------------------------------------------
-
-***********************************************************
- __ __ __ __ __ __
- (___ (__) (___ (__) (__) | )
-
- __ __ _|_ __ |__ ___ __
- |__) (__( |_, (___ | ) (__/_ __)
- |
-***********************************************************
-***************** patches in queue: <xsl:value-of select="count(patch-queue/bug)"/> ********************
-***********************************************************
- <xsl:for-each select="patch-queue/bug">
------------------------------------------------------------
-<xsl:value-of select="@id"/>:<xsl:value-of select="@summary"/>
------------------------------------------------------------
-<xsl:value-of select="@url"/>
-
-REVIEWER: <xsl:value-of select="@owner"/>
-RESOLUTION: <xsl:value-of select="@resolution"/>
-STATUS: <xsl:value-of select="@status"/>
-
- </xsl:for-each>
-
-*************************that's it!************************
-
-------------------------patch HOWTO------------------------
-
-Send patches to http://nagoya.apache.org/bugzilla/
-specifying [PATCH] in the summary.
-Bugzilla sends a mail automatically to this list.
-Reviewers will mark it FIXED there when applied.
-Patches not sent to Bugzilla will not be reviewed.
------------------------------------------------------------
-This file is generated and updated automatically at least
-once a week, and the data is taken from Bugzilla.
-If you don't find the patch you submitted to bugzilla
-after one week, please notify cocoon-dev@xml.apache.org
-for assistance.
------------------------------------------------------------
-There is usually a HEAD branch and a previous-version
-branch that are maintained. Where will the patch go?
-1. If it is a bug fix it should go to both branches
-2. If something is totally new it goes into HEAD scratchpad.
-3. Something in between, but does not break backward
- compatibility _may_ go into both (and may not)
-4. For everything else, a vote is required so
- first it may go into HEAD, and then be VOTEd in order
- to sync this into branch.
-Please note that structural changes have to be VOTEd first.
- </xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/src/patchqueue2xdocs.xsl b/tools/src/patchqueue2xdocs.xsl
deleted file mode 100755
index 37194957b0..0000000000
--- a/tools/src/patchqueue2xdocs.xsl
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
-
- <xsl:template match="/">
-
- <xsl:text disable-output-escaping="yes">
- <![CDATA[
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
- "dtd/document-v10.dtd">
- ]]>
- </xsl:text>
-
- <document>
- <header>
- <title>Patch Queue</title>
- <authors>
- <person name="Robin Green" email="greenrd@hotmail.com"/>
- <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
- </authors>
- </header>
-
- <body>
-
- <s1 title="Introduction">
-
- <p>
- This is an <strong>informal</strong> list - in chronological order -
- of some of the noteworthy patches that have been posted
- to the <link href="mailto:cocoon-dev@xml.apache.org">cocoon-dev</link> mailing list.
- These patches are not (yet) part of the Apache Cocoon project, but need reviewing for possible
- inclusion. This system was instituted because, due to the large volume of mail and
- the lack of time of the committers, some patches tended to get forgotten about. This
- queue does not guarantee that any patch will be reviewed within a reasonable time frame,
- but it does at least make them easier to find!
- </p>
-
- <p><strong>Reviewers wanted!</strong> - If you have time to review and/or test these patches,
- we would be grateful for your time. Please post comments to the cocoon-dev mailing lists.
- </p>
-
- <p>
- Before submitting a patch, please read the page on <connect href="contrib.xml">Third-Party
- Contributions</connect>. The preferred submission method for patches is:
- </p>
-
- <ul>
- <li>Post to cocoon-dev@xml.apache.org</li>
- <li>Describe the patch, the reason for it and (if necessary) why this is important.</li>
- <li>Generate the patch in <code>diff -u</code> format from CVS</li>
- <li>Also generate a documentation patch or new file, if this is something that should be documented.
- </li>
- <li>Post as an attachment rather than inline (unless it is trivially small).</li>
- </ul>
-
- <p>Following the above guidelines will facilitate your patch being reviewed
- and applied efficiently.</p>
-
- </s1>
-
- <s1 title="Patch Queue">
-
- <p><strong> [Under Construction] </strong> Archive links will be added later.
- <strong>Please do not bother the patch submitters/authors</strong> without first reading the
- relevant post(s) in the <connect href="mail-archives.xml">mailing list archives.</connect>
- </p>
-
- <p>Vapourware will not be listed.</p>
-
- <table>
- <tr>
- <th>id<!--and Link--></th>
- <th>Summary</th>
- <th>Reviewer</th>
- <th>Resolution</th>
- <th>Status</th>
- </tr>
- <xsl:for-each select="patch-queue/bug">
- <tr>
- <th>
- <connect>
- <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
- <xsl:value-of select="@id"/>
- </connect>
- </th>
- <th><xsl:value-of select="@summary"/></th>
- <th><xsl:value-of select="@owner"/></th>
- <th><xsl:value-of select="@resolution"/></th>
- <th><xsl:value-of select="@status"/></th>
- </tr>
- </xsl:for-each>
- </table>
-
- <p>See also additional list of patches to be added in <connect href="todo.xml">To Do</connect>.
- </p>
-
- </s1>
- </body>
- </document>
-
- </xsl:template>
-
- <xsl:template match="@*|*|text()|processing-instruction()">
- <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/tools/targets/compile.xtarget b/tools/targets/deprecated/compile.xtarget
index 040110d8a2..040110d8a2 100644
--- a/tools/targets/compile.xtarget
+++ b/tools/targets/deprecated/compile.xtarget
diff --git a/tools/targets/contrib.xtarget b/tools/targets/deprecated/contrib.xtarget
index 0ea55c1e02..0ea55c1e02 100644
--- a/tools/targets/contrib.xtarget
+++ b/tools/targets/deprecated/contrib.xtarget
diff --git a/tools/targets/dev.xtarget b/tools/targets/deprecated/dev.xtarget
index 0025f389e8..0025f389e8 100644
--- a/tools/targets/dev.xtarget
+++ b/tools/targets/deprecated/dev.xtarget
diff --git a/tools/targets/docs.xtarget b/tools/targets/deprecated/docs.xtarget
index 4864f48980..4864f48980 100644
--- a/tools/targets/docs.xtarget
+++ b/tools/targets/deprecated/docs.xtarget
diff --git a/tools/targets/init.xtarget b/tools/targets/deprecated/init.xtarget
index 54a74d278a..54a74d278a 100644
--- a/tools/targets/init.xtarget
+++ b/tools/targets/deprecated/init.xtarget
diff --git a/tools/targets/interactive.xtarget b/tools/targets/deprecated/interactive.xtarget
index ca9918bbc7..ca9918bbc7 100644
--- a/tools/targets/interactive.xtarget
+++ b/tools/targets/deprecated/interactive.xtarget
diff --git a/tools/targets/preinit.xtarget b/tools/targets/deprecated/preinit.xtarget
index 91c4a2bad3..91c4a2bad3 100644
--- a/tools/targets/preinit.xtarget
+++ b/tools/targets/deprecated/preinit.xtarget
diff --git a/tools/targets/robot.xtarget b/tools/targets/deprecated/robot.xtarget
index efb4740020..efb4740020 100644
--- a/tools/targets/robot.xtarget
+++ b/tools/targets/deprecated/robot.xtarget
diff --git a/tools/targets/scratchpad.xtarget b/tools/targets/deprecated/scratchpad.xtarget
index cb995c273c..cb995c273c 100644
--- a/tools/targets/scratchpad.xtarget
+++ b/tools/targets/deprecated/scratchpad.xtarget
diff --git a/tools/targets/test.xtarget b/tools/targets/deprecated/test.xtarget
index 1cf2e82199..1cf2e82199 100644
--- a/tools/targets/test.xtarget
+++ b/tools/targets/deprecated/test.xtarget
diff --git a/tools/targets/try.xml b/tools/targets/deprecated/try.xml
index 695b2253c8..695b2253c8 100644
--- a/tools/targets/try.xml
+++ b/tools/targets/deprecated/try.xml
diff --git a/tools/targets/util.xtarget b/tools/targets/deprecated/util.xtarget
index 036d304af7..036d304af7 100644
--- a/tools/targets/util.xtarget
+++ b/tools/targets/deprecated/util.xtarget