31febb
From 4fd868fdfca690e9b0f159b2beadde5920897ab4 Mon Sep 17 00:00:00 2001
31febb
From: Stephan Bergmann <sbergman@redhat.com>
31febb
Date: Sun, 11 Apr 2021 09:20:13 +0200
31febb
Subject: [PATCH] Get rid of apache-commons-logging
31febb
31febb
...using Java 1.4 java.util.logging.Logger instead also for the last remaining
31febb
uses in reportbuilder.
31febb
31febb
(The mention in swext/mediawiki/src/THIRDPARTYLICENSEREADME.html was presumably
31febb
a leftover from 4b6ceed4a4a9b152905a8b1712ffb9bd61373c16 "swext: Wiki Publisher
31febb
does not use those apache-commons libraries".)
31febb
31febb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113939
31febb
Tested-by: Jenkins
31febb
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
31febb
(cherry picked from commit 6de0b1710adfba82c96b75a5da6f52633a54c692)
31febb
Conflicts:
31febb
	readlicense_oo/license/NOTICE
31febb
	swext/mediawiki/src/THIRDPARTYLICENSEREADME.html
31febb
31febb
Change-Id: Ia0bc598fe5844ced11cae497548ec7d09453a99d
31febb
---
31febb
 Makefile.fetch                                |  1 -
31febb
 RepositoryExternal.mk                         | 26 ----------
31febb
 config_host.mk.in                             |  3 --
31febb
 configure.ac                                  | 40 ---------------
31febb
 distro-configs/LibreOfficeFlatpak.conf        |  1 -
31febb
 download.lst                                  |  2 -
31febb
 external/Module_external.mk                   |  1 -
31febb
 .../ExternalPackage_apache_commons_logging.mk | 16 ------
31febb
 .../ExternalProject_apache_commons_logging.mk | 32 ------------
31febb
 external/apache-commons/Makefile              |  7 ---
31febb
 .../apache-commons/Module_apache-commons.mk   | 18 -------
31febb
 external/apache-commons/README                |  1 -
31febb
 .../UnpackedTarball_apache_commons_logging.mk | 22 ---------
31febb
 external/apache-commons/patches/logging.patch | 46 -----------------
31febb
 readlicense_oo/license/NOTICE                 |  8 ---
31febb
 readlicense_oo/license/license.xml            |  6 ---
31febb
 reportbuilder/Jar_reportbuilder.mk            |  1 -
31febb
 .../report/SDBCReportDataFactory.java         |  7 +--
31febb
 .../libreoffice/report/StorageRepository.java | 48 +++++++++---------
31febb
 .../libreoffice/report/pentaho/Manifest.mf    |  2 +-
31febb
 .../report/pentaho/PentahoReportJob.java      | 10 ++--
31febb
 .../report/pentaho/SOReportJobFactory.java    |  9 ++--
31febb
 .../layoutprocessor/FormatValueUtility.java   |  2 +-
31febb
 .../FormattedTextLayoutController.java        |  7 ++-
31febb
 .../ImageElementLayoutController.java         | 19 ++++---
31febb
 .../report/pentaho/output/ImageProducer.java  | 23 ++++-----
31febb
 .../output/OfficeDocumentReportTarget.java    | 23 ++++-----
31febb
 .../report/pentaho/output/OleProducer.java    | 12 ++---
31febb
 .../report/pentaho/output/StyleUtilities.java | 10 ++--
31febb
 .../SpreadsheetRawReportTarget.java           |  2 +-
31febb
 .../office/DocumentContentReadHandler.java    | 13 +++--
31febb
 solenv/flatpak-manifest.in                    |  6 ---
31febb
 .../src/THIRDPARTYLICENSEREADME.html          | 49 -------------------
31febb
 33 files changed, 82 insertions(+), 391 deletions(-)
31febb
 delete mode 100644 external/apache-commons/ExternalPackage_apache_commons_logging.mk
31febb
 delete mode 100644 external/apache-commons/ExternalProject_apache_commons_logging.mk
31febb
 delete mode 100644 external/apache-commons/Makefile
31febb
 delete mode 100644 external/apache-commons/Module_apache-commons.mk
31febb
 delete mode 100644 external/apache-commons/README
31febb
 delete mode 100644 external/apache-commons/UnpackedTarball_apache_commons_logging.mk
31febb
 delete mode 100644 external/apache-commons/patches/logging.patch
31febb
31febb
diff --git a/Makefile.fetch b/Makefile.fetch
31febb
index 0a6202a4b3c7..924927bb4fb5 100644
31febb
--- a/Makefile.fetch
31febb
+++ b/Makefile.fetch
31febb
@@ -101,7 +101,6 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S
31febb
 	@date >> $(fetch_LOGFILE)
31febb
 	$(foreach item, \
31febb
 		$(call fetch_Optional,ABW,ABW_TARBALL) \
31febb
-		$(call fetch_Optional,APACHE_COMMONS,APACHE_COMMONS_LOGGING_TARBALL) \
31febb
 		$(call fetch_Optional,APR,APR_TARBALL) \
31febb
 		$(call fetch_Optional,APR,APR_UTIL_TARBALL) \
31febb
 		$(call fetch_Optional,BOOST,BOOST_TARBALL) \
31febb
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
31febb
index ad3febbae41b..d2fe7e044dfb 100644
31febb
--- a/RepositoryExternal.mk
31febb
+++ b/RepositoryExternal.mk
31febb
@@ -3723,32 +3723,6 @@ endif # SYSTEM_RHINO
31febb
 
31febb
 endif
31febb
 
31febb
-ifneq ($(SYSTEM_APACHE_COMMONS),)
31febb
-
31febb
-define gb_Jar__use_commons-logging
31febb
-$(call gb_Jar_use_system_jar,$(1),$(COMMONS_LOGGING_JAR))
31febb
-endef
31febb
-gb_ExternalProject__use_commons-logging :=
31febb
-
31febb
-else # !SYSTEM_APACHE_COMMONS
31febb
-
31febb
-ifeq ($(ENABLE_JAVA),TRUE)
31febb
-$(eval $(call gb_Helper_register_jars_for_install,OOO,reportbuilder,\
31febb
-	commons-logging-$(COMMONS_LOGGING_VERSION) \
31febb
-))
31febb
-endif
31febb
-
31febb
-define gb_Jar__use_commons-logging
31febb
-$(call gb_Jar_use_external_project,$(1),apache_commons_logging)
31febb
-$(call gb_Jar_use_jar,$(1),commons-logging-$(COMMONS_LOGGING_VERSION))
31febb
-endef
31febb
-define gb_ExternalProject__use_commons-logging
31febb
-$(call gb_ExternalProject_use_external_project,$(1),apache_commons_logging)
31febb
-endef
31febb
-
31febb
-endif # SYSTEM_APACHE_COMMONS
31febb
-
31febb
-
31febb
 ifneq ($(SYSTEM_JFREEREPORT),)
31febb
 
31febb
 define gb_Jar__use_flow-engine
31febb
diff --git a/config_host.mk.in b/config_host.mk.in
31febb
index 42f4511a62e8..c9b3aa015123 100644
31febb
--- a/config_host.mk.in
31febb
+++ b/config_host.mk.in
31febb
@@ -77,8 +77,6 @@ export CLUCENE_LIBS=$(gb_SPACE)@CLUCENE_LIBS@
31febb
 export LIBCMIS_CFLAGS=$(gb_SPACE)@LIBCMIS_CFLAGS@
31febb
 export LIBCMIS_LIBS=$(gb_SPACE)@LIBCMIS_LIBS@
31febb
 export COM=@COM@
31febb
-export COMMONS_LOGGING_JAR=@COMMONS_LOGGING_JAR@
31febb
-export COMMONS_LOGGING_VERSION=@COMMONS_LOGGING_VERSION@
31febb
 export COMPATH=@COMPATH@
31febb
 export COMPILER_PLUGINS=@COMPILER_PLUGINS@
31febb
 export COMPILER_PLUGINS_ANALYZER_PCH=@COMPILER_PLUGINS_ANALYZER_PCH@
31febb
@@ -546,7 +544,6 @@ export STRIP=@STRIP@
31febb
 export STRIP_COMPONENTS=@STRIP_COMPONENTS@
31febb
 export SYSBASE=@SYSBASE@
31febb
 export SYSTEM_ABW=@SYSTEM_ABW@
31febb
-export SYSTEM_APACHE_COMMONS=@SYSTEM_APACHE_COMMONS@
31febb
 export SYSTEM_APR=@SYSTEM_APR@
31febb
 export SYSTEM_BLUEZ=@SYSTEM_BLUEZ@
31febb
 export SYSTEM_BOOST=@SYSTEM_BOOST@
31febb
diff --git a/configure.ac b/configure.ac
31febb
index 11d93b7ba6eb..1cb0a61ad9c2 100644
31febb
--- a/configure.ac
31febb
+++ b/configure.ac
31febb
@@ -2076,11 +2076,6 @@ AC_ARG_WITH(system-gpgmepp,
31febb
         [Use gpgmepp already on system]),,
31febb
     [with_system_gpgmepp="$with_system_libs"])
31febb
 
31febb
-AC_ARG_WITH(system-apache-commons,
31febb
-    AS_HELP_STRING([--with-system-apache-commons],
31febb
-        [Use Apache commons libraries already on system.]),,
31febb
-    [with_system_apache_commons="$with_system_jars"])
31febb
-
31febb
 AC_ARG_WITH(system-mariadb,
31febb
     AS_HELP_STRING([--with-system-mariadb],
31febb
         [Use MariaDB/MySQL libraries already on system.]),,
31febb
@@ -2158,11 +2153,6 @@ AC_ARG_WITH(rhino-jar,
31febb
         [Specify path to jarfile manually.]),
31febb
     RHINO_JAR=$withval)
31febb
 
31febb
-AC_ARG_WITH(commons-logging-jar,
31febb
-    AS_HELP_STRING([--with-commons-logging-jar=JARFILE],
31febb
-        [Specify path to jarfile manually.]),
31febb
-    COMMONS_LOGGING_JAR=$withval)
31febb
-
31febb
 AC_ARG_WITH(system-jfreereport,
31febb
     AS_HELP_STRING([--with-system-jfreereport],
31febb
         [Use JFreeReport already on system.]),,
31febb
@@ -12298,36 +12288,6 @@ AC_SUBST(LIBREPOSITORY_JAR)
31febb
 AC_SUBST(LIBFONTS_JAR)
31febb
 AC_SUBST(LIBSERIALIZER_JAR)
31febb
 
31febb
-# this has to be here because both the Wiki Publisher and the SRB use
31febb
-# commons-logging
31febb
-COMMONS_LOGGING_VERSION=1.2
31febb
-if test "$ENABLE_REPORTBUILDER" = "TRUE"; then
31febb
-    AC_MSG_CHECKING([which Apache commons-* libs to use])
31febb
-    if test "$with_system_apache_commons" = "yes"; then
31febb
-        SYSTEM_APACHE_COMMONS=TRUE
31febb
-        AC_MSG_RESULT([external])
31febb
-        if test -z $COMMONS_LOGGING_JAR; then
31febb
-            if test -f /usr/share/java/commons-logging-${COMMONS_LOGGING_VERSION}.jar; then
31febb
-               COMMONS_LOGGING_JAR=/usr/share/java/commons-logging-${COMMONS_LOGGING_VERSION}.jar
31febb
-           elif test -f /usr/share/java/commons-logging.jar; then
31febb
-                COMMONS_LOGGING_JAR=/usr/share/java/commons-logging.jar
31febb
-            else
31febb
-                AC_MSG_ERROR(commons-logging.jar replacement not found.)
31febb
-            fi
31febb
-        elif ! test -f $COMMONS_LOGGING_JAR; then
31febb
-            AC_MSG_ERROR(commons-logging.jar not found.)
31febb
-        fi
31febb
-    else
31febb
-        AC_MSG_RESULT([internal])
31febb
-        SYSTEM_APACHE_COMMONS=
31febb
-        BUILD_TYPE="$BUILD_TYPE APACHE_COMMONS"
31febb
-        NEED_ANT=TRUE
31febb
-    fi
31febb
-fi
31febb
-AC_SUBST(SYSTEM_APACHE_COMMONS)
31febb
-AC_SUBST(COMMONS_LOGGING_JAR)
31febb
-AC_SUBST(COMMONS_LOGGING_VERSION)
31febb
-
31febb
 # scripting provider for BeanShell?
31febb
 AC_MSG_CHECKING([whether to build support for scripts in BeanShell])
31febb
 if test "${enable_scripting_beanshell}" != "no" -a "x$with_java" != "xno"; then
31febb
diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf
31febb
index 81604de9f1f7..97bfaba200fc 100644
31febb
--- a/distro-configs/LibreOfficeFlatpak.conf
31febb
+++ b/distro-configs/LibreOfficeFlatpak.conf
31febb
@@ -10,7 +10,6 @@
31febb
 --without-export-validation
31febb
 --without-junit
31febb
 --without-lxml
31febb
---without-system-apache-commons
31febb
 --without-system-beanshell
31febb
 --without-system-bluez
31febb
 --without-system-boost
31febb
diff --git a/download.lst b/download.lst
31febb
index c474e9f60208..f74d49e8dfcb 100644
31febb
--- a/download.lst
31febb
+++ b/download.lst
31febb
@@ -5,8 +5,6 @@
31febb
 
31febb
 export ABW_SHA256SUM := e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed
31febb
 export ABW_TARBALL := libabw-0.1.3.tar.xz
31febb
-export APACHE_COMMONS_LOGGING_SHA256SUM := 49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81
31febb
-export APACHE_COMMONS_LOGGING_TARBALL := commons-logging-1.2-src.tar.gz
31febb
 export APR_SHA256SUM := 1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb
31febb
 export APR_TARBALL := apr-1.5.2.tar.gz
31febb
 export APR_UTIL_SHA256SUM := 976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19
31febb
diff --git a/external/Module_external.mk b/external/Module_external.mk
31febb
index 1c722a325c2d..185974271b93 100644
31febb
--- a/external/Module_external.mk
31febb
+++ b/external/Module_external.mk
31febb
@@ -16,7 +16,6 @@ endif
31febb
 $(eval $(call gb_Module_add_moduledirs,external,\
31febb
 	$(call gb_Helper_optional,XMLSEC,xmlsec) \
31febb
 	$(call gb_Helper_optional,ABW,libabw) \
31febb
-	$(call gb_Helper_optional,APACHE_COMMONS,apache-commons) \
31febb
 	$(call gb_Helper_optional,APR,apr) \
31febb
 	$(call gb_Helper_optional,BOOST,boost) \
31febb
 	$(call gb_Helper_optional,BOX2D,box2d) \
31febb
diff --git a/external/apache-commons/ExternalPackage_apache_commons_logging.mk b/external/apache-commons/ExternalPackage_apache_commons_logging.mk
31febb
deleted file mode 100644
31febb
index 2bff13b93c66..000000000000
31febb
--- a/external/apache-commons/ExternalPackage_apache_commons_logging.mk
31febb
+++ /dev/null
31febb
@@ -1,16 +0,0 @@
31febb
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
31febb
-#
31febb
-# This file is part of the LibreOffice project.
31febb
-#
31febb
-# This Source Code Form is subject to the terms of the Mozilla Public
31febb
-# License, v. 2.0. If a copy of the MPL was not distributed with this
31febb
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
31febb
-#
31febb
-
31febb
-$(eval $(call gb_ExternalPackage_ExternalPackage,apache_commons_logging,apache_commons_logging))
31febb
-
31febb
-$(eval $(call gb_ExternalPackage_use_external_project,apache_commons_logging,apache_commons_logging))
31febb
-
31febb
-$(eval $(call gb_ExternalPackage_add_file,apache_commons_logging,$(LIBO_SHARE_JAVA_FOLDER)/commons-logging-$(COMMONS_LOGGING_VERSION).jar,target/commons-logging-$(COMMONS_LOGGING_VERSION).jar))
31febb
-
31febb
-# vim: set noet sw=4 ts=4:
31febb
diff --git a/external/apache-commons/ExternalProject_apache_commons_logging.mk b/external/apache-commons/ExternalProject_apache_commons_logging.mk
31febb
deleted file mode 100644
31febb
index 7c689d18c443..000000000000
31febb
--- a/external/apache-commons/ExternalProject_apache_commons_logging.mk
31febb
+++ /dev/null
31febb
@@ -1,32 +0,0 @@
31febb
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
31febb
-#
31febb
-# This file is part of the LibreOffice project.
31febb
-#
31febb
-# This Source Code Form is subject to the terms of the Mozilla Public
31febb
-# License, v. 2.0. If a copy of the MPL was not distributed with this
31febb
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
31febb
-#
31febb
-
31febb
-$(eval $(call gb_ExternalProject_ExternalProject,apache_commons_logging))
31febb
-
31febb
-$(eval $(call gb_ExternalProject_register_targets,apache_commons_logging,\
31febb
-	build \
31febb
-))
31febb
-
31febb
-$(call gb_ExternalProject_get_state_target,apache_commons_logging,build) :
31febb
-	$(call gb_Trace_StartRange,apache_commons_logging,EXTERNAL)
31febb
-	$(call gb_ExternalProject_run,build,\
31febb
-	JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
31febb
-	ANT_OPTS="$$ANT_OPTS -Dfile.encoding=ISO-8859-1" \
31febb
-	$(ICECREAM_RUN) "$(ANT)" \
31febb
-		$(if $(verbose),-v,-q) \
31febb
-		-f build.xml \
31febb
-		-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \
31febb
-		-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
31febb
-		-Dant.build.javac.target=$(JAVA_TARGET_VER) \
31febb
-		$(if $(debug),-Dcompile.debug="true",-Dcompile.debug="false") \
31febb
-		compile build-jar \
31febb
-	)
31febb
-	$(call gb_Trace_EndRange,apache_commons_logging,EXTERNAL)
31febb
-
31febb
-# vim: set noet sw=4 ts=4:
31febb
diff --git a/external/apache-commons/Makefile b/external/apache-commons/Makefile
31febb
deleted file mode 100644
31febb
index e4968cf85fb6..000000000000
31febb
--- a/external/apache-commons/Makefile
31febb
+++ /dev/null
31febb
@@ -1,7 +0,0 @@
31febb
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
31febb
-
31febb
-module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
31febb
-
31febb
-include $(module_directory)/../../solenv/gbuild/partial_build.mk
31febb
-
31febb
-# vim: set noet sw=4 ts=4:
31febb
diff --git a/external/apache-commons/Module_apache-commons.mk b/external/apache-commons/Module_apache-commons.mk
31febb
deleted file mode 100644
31febb
index 45aabe229b03..000000000000
31febb
--- a/external/apache-commons/Module_apache-commons.mk
31febb
+++ /dev/null
31febb
@@ -1,18 +0,0 @@
31febb
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
31febb
-#
31febb
-# This file is part of the LibreOffice project.
31febb
-#
31febb
-# This Source Code Form is subject to the terms of the Mozilla Public
31febb
-# License, v. 2.0. If a copy of the MPL was not distributed with this
31febb
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
31febb
-#
31febb
-
31febb
-$(eval $(call gb_Module_Module,apache-commons))
31febb
-
31febb
-$(eval $(call gb_Module_add_targets,apache-commons,\
31febb
-	ExternalPackage_apache_commons_logging \
31febb
-	ExternalProject_apache_commons_logging \
31febb
-	UnpackedTarball_apache_commons_logging \
31febb
-))
31febb
-
31febb
-# vim: set noet sw=4 ts=4:
31febb
diff --git a/external/apache-commons/README b/external/apache-commons/README
31febb
deleted file mode 100644
31febb
index 18944aca4af7..000000000000
31febb
--- a/external/apache-commons/README
31febb
+++ /dev/null
31febb
@@ -1 +0,0 @@
31febb
-Java library; used for logging in Extensions, from [http://commons.apache.org/]
31febb
diff --git a/external/apache-commons/UnpackedTarball_apache_commons_logging.mk b/external/apache-commons/UnpackedTarball_apache_commons_logging.mk
31febb
deleted file mode 100644
31febb
index 1d5ad3dc2d9d..000000000000
31febb
--- a/external/apache-commons/UnpackedTarball_apache_commons_logging.mk
31febb
+++ /dev/null
31febb
@@ -1,22 +0,0 @@
31febb
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
31febb
-#
31febb
-# This file is part of the LibreOffice project.
31febb
-#
31febb
-# This Source Code Form is subject to the terms of the Mozilla Public
31febb
-# License, v. 2.0. If a copy of the MPL was not distributed with this
31febb
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
31febb
-#
31febb
-
31febb
-$(eval $(call gb_UnpackedTarball_UnpackedTarball,apache_commons_logging))
31febb
-
31febb
-$(eval $(call gb_UnpackedTarball_set_tarball,apache_commons_logging,$(APACHE_COMMONS_LOGGING_TARBALL),,apache-commons))
31febb
-
31febb
-$(eval $(call gb_UnpackedTarball_fix_end_of_line,apache_commons_logging,\
31febb
-	build.xml \
31febb
-))
31febb
-
31febb
-$(eval $(call gb_UnpackedTarball_add_patches,apache_commons_logging,\
31febb
-	external/apache-commons/patches/logging.patch \
31febb
-))
31febb
-
31febb
-# vim: set noet sw=4 ts=4:
31febb
diff --git a/external/apache-commons/patches/logging.patch b/external/apache-commons/patches/logging.patch
31febb
deleted file mode 100644
31febb
index c225e5a30338..000000000000
31febb
--- a/external/apache-commons/patches/logging.patch
31febb
+++ /dev/null
31febb
@@ -1,46 +0,0 @@
31febb
---- misc/commons-logging-1.1.1-src/build.xml   2007-11-22 00:27:52.000000000 +0100
31febb
-+++ misc/build/commons-logging-1.1.1-src/build.xml     2008-06-24 14:23:56.316301736 +0200
31febb
-@@ -129,12 +129,6 @@
31febb
-   
31febb
- 
31febb
- 
31febb
--  
31febb
--  <property name="target.version" value="1.2"/>
31febb
--
31febb
--  
31febb
--  <property name="source.version" value="1.2"/>
31febb
--
31febb
-   
31febb
-   <property name="compile.debug"           value="true"/>
31febb
- 
31febb
-@@ -283,6 +277,10 @@
31febb
-                classpathref="compile.classpath"
31febb
-                classname="org.apache.avalon.framework.logger.Logger"/>
31febb
- 
31febb
-+    
31febb
-+               classpathref="compile.classpath"
31febb
-+               classname="javax.servlet.ServletContextListener"/>
31febb
-+
31febb
-     <available file="${log4j12.jar}" property="log4j12.present"/>
31febb
-     <available file="${log4j13.jar}" property="log4j13.present"/>
31febb
-     <available file="${build.home}/docs" property="maven.generated.docs.present"/>
31febb
-@@ -362,8 +360,8 @@
31febb
-            debug="${compile.debug}"
31febb
-            deprecation="${compile.deprecation}"
31febb
-            optimize="${compile.optimize}"
31febb
--           source="${source.version}"
31febb
--           target="${target.version}">
31febb
-+           source="${ant.build.javac.source}"
31febb
-+           target="${ant.build.javac.target}">
31febb
- 
31febb
-       <classpath refid="compile.classpath"/>
31febb
-     
31febb
-@@ -373,6 +371,8 @@
31febb
-                unless="logkit.present"/>
31febb
-       
31febb
-                unless="avalon-framework.present"/>
31febb
-+      
31febb
-+               unless="servlet-api.present"/>
31febb
-     </javac>
31febb
-   </target>
31febb
- 
31febb
diff --git a/readlicense_oo/license/NOTICE b/readlicense_oo/license/NOTICE
31febb
index 46b7fccaf737..0cecc2dbfa50 100644
31febb
--- a/readlicense_oo/license/NOTICE
31febb
+++ b/readlicense_oo/license/NOTICE
31febb
@@ -25,7 +25,6 @@ Apache projects:
31febb
 - Apache Lucene
31febb
 - Apache Portable Runtime
31febb
 - Apache Portable Runtime Utility Library
31febb
-- Apache Commons - used by MediaWiki Publisher extension
31febb
 - Apache Jakarta HttpClient - used by MediaWiki Publisher extension
31febb
 - Apache Tomcat - used by MediaWiki Publisher extension
31febb
 
31febb
@@ -106,13 +105,6 @@ This product includes software from the Spring Framework,
31febb
 under the Apache License 2.0 (see: StringUtils.containsWhitespace())
31febb
 
31febb
 
31febb
-Apache Commons Logging
31febb
-Copyright 2003-2007 The Apache Software Foundation
31febb
-
31febb
-This product includes software developed by
31febb
-The Apache Software Foundation (http://www.apache.org/).
31febb
-
31febb
-
31febb
 Apache Tomcat
31febb
 Copyright 1999-2012 The Apache Software Foundation
31febb
 
31febb
diff --git a/readlicense_oo/license/license.xml b/readlicense_oo/license/license.xml
31febb
index 2c45a12fd202..2bd6b943096f 100644
31febb
--- a/readlicense_oo/license/license.xml
31febb
+++ b/readlicense_oo/license/license.xml
31febb
@@ -52,12 +52,6 @@
31febb
     

Third Party Code Additional Copyright

31febb
     Notices and License Terms
31febb
     

Libraries

31febb
-    
31febb
-        

Apache Commons

31febb
-        

The following software may be included in this product: Apache Commons (codec, httpclient, lang, logging).

31febb
-        Use of any of this software is governed by the terms of the license below:

31febb
-        

Jump to Apache License Version 2.0

31febb
-    
31febb
     
31febb
         

Apache Portable Runtime (APR)

31febb
         

The following software may be included in this product: Apache Portable Runtime (APR).

31febb
diff --git a/reportbuilder/Jar_reportbuilder.mk b/reportbuilder/Jar_reportbuilder.mk
31febb
index 101ebc9330b7..7abcf796a0d0 100644
31febb
--- a/reportbuilder/Jar_reportbuilder.mk
31febb
+++ b/reportbuilder/Jar_reportbuilder.mk
31febb
@@ -15,7 +15,6 @@ $(eval $(call gb_Jar_use_jars,reportbuilder,\
31febb
 ))
31febb
 
31febb
 $(eval $(call gb_Jar_use_externals,reportbuilder,\
31febb
-	commons-logging \
31febb
 	flow-engine \
31febb
 	flute \
31febb
 	libbase \
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java b/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java
31febb
index 463addc63e71..b3c4508666ca 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/SDBCReportDataFactory.java
31febb
@@ -58,9 +58,6 @@ import java.util.Map;
31febb
 import java.util.logging.Level;
31febb
 import java.util.logging.Logger;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
-
31febb
 
31febb
 /**
31febb
  * Very primitive implementation, just to show how this could be used ...
31febb
@@ -142,7 +139,7 @@ public class SDBCReportDataFactory implements DataSourceFactory
31febb
         private int parameterCount = 0;
31febb
         private final ArrayList<Integer> parameterIndex = new ArrayList<Integer>();
31febb
     }
31febb
-    private static final Log LOGGER = LogFactory.getLog(SDBCReportDataFactory.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(SDBCReportDataFactory.class.getName());
31febb
     public static final String COMMAND_TYPE = "command-type";
31febb
     public static final String ESCAPE_PROCESSING = "escape-processing";
31febb
     public static final String SORT_EXPRESSIONS = "sort-expressions";
31febb
@@ -259,7 +256,7 @@ public class SDBCReportDataFactory implements DataSourceFactory
31febb
         }
31febb
         catch (SQLException ex)
31febb
         {
31febb
-            LOGGER.error("ReportProcessing failed / getOrderStatement could not get quote character", ex);
31febb
+            LOGGER.severe("ReportProcessing failed / getOrderStatement could not get quote character: " + ex);
31febb
             // fall back to the SQL standard
31febb
             quote="";
31febb
         }
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/StorageRepository.java b/reportbuilder/java/org/libreoffice/report/StorageRepository.java
31febb
index 8b6d08c458a2..a338ee5dedb5 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/StorageRepository.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/StorageRepository.java
31febb
@@ -37,9 +37,7 @@ import java.io.BufferedOutputStream;
31febb
 import java.io.IOException;
31febb
 import java.io.InputStream;
31febb
 import java.io.OutputStream;
31febb
-
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 /**
31febb
  * A directory holds all the contents here.
31febb
@@ -49,8 +47,8 @@ import org.apache.commons.logging.LogFactory;
31febb
 public class StorageRepository implements InputRepository, OutputRepository
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(StorageRepository.class);
31febb
-    private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed";
31febb
+    private static final Logger LOGGER = Logger.getLogger(StorageRepository.class.getName());
31febb
+    private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed: ";
31febb
     private XStorage input;
31febb
     private XStorage output;
31febb
     private final String rootURL;
31febb
@@ -134,11 +132,11 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
         }
31febb
         catch (InvalidStorageException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (com.sun.star.lang.IllegalArgumentException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (NoSuchElementException e)
31febb
         {
31febb
@@ -168,15 +166,15 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
         }
31febb
         catch (InvalidStorageException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (com.sun.star.lang.IllegalArgumentException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (NoSuchElementException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         return false;
31febb
     }
31febb
@@ -195,23 +193,23 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
         }
31febb
         catch (NoSuchElementException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (WrappedTargetException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (InvalidStorageException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (IllegalArgumentException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (com.sun.star.io.IOException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         throw new IOException();
31febb
     }
31febb
@@ -245,27 +243,27 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
         }
31febb
         catch (UnknownPropertyException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (PropertyVetoException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (IllegalArgumentException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (WrappedTargetException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (InvalidStorageException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (com.sun.star.io.IOException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
 
31febb
         throw new IOException();
31febb
@@ -293,11 +291,11 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
             }
31febb
             catch (com.sun.star.io.IOException ex)
31febb
             {
31febb
-                LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+                LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
             }
31febb
             catch (WrappedTargetException ex)
31febb
             {
31febb
-                LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+                LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
             }
31febb
             output.dispose();
31febb
         }
31febb
@@ -312,11 +310,11 @@ public class StorageRepository implements InputRepository, OutputRepository
31febb
         }
31febb
         catch (InvalidStorageException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (com.sun.star.lang.IllegalArgumentException ex)
31febb
         {
31febb
-            LOGGER.error(REPORT_PROCESSING_FAILED, ex);
31febb
+            LOGGER.severe(REPORT_PROCESSING_FAILED + ex);
31febb
         }
31febb
         catch (NoSuchElementException ex)
31febb
         {
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf b/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf
31febb
index 23731b104054..2a56b2fbb9fa 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/Manifest.mf
31febb
@@ -3,5 +3,5 @@ Class-Path: reportbuilderwizard.jar
31febb
   flute-1.1.6.jar libserializer-1.1.6.jar libbase-1.1.6.jar
31febb
   libfonts-1.1.6.jar libformula-1.1.7.jar liblayout.jar
31febb
   libloader-1.1.6.jar librepository-1.1.6.jar libxml-1.1.7.jar
31febb
-  flow-engine.jar sac.jar commons-logging-1.2.jar
31febb
+  flow-engine.jar sac.jar
31febb
 UNO-Type-Path: 
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java b/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java
31febb
index 480bca548e7e..efb4261ce127 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/PentahoReportJob.java
31febb
@@ -42,9 +42,7 @@ import java.io.IOException;
31febb
 
31febb
 import java.util.ArrayList;
31febb
 import java.util.List;
31febb
-
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 import org.jfree.report.expressions.Expression;
31febb
 import org.jfree.report.expressions.FormulaExpression;
31febb
@@ -72,7 +70,7 @@ import org.pentaho.reporting.libraries.resourceloader.ResourceManager;
31febb
 public class PentahoReportJob implements ReportJob
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(PentahoReportJob.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(PentahoReportJob.class.getName());
31febb
     private final DataSourceFactory dataSourceFactory;
31febb
     private final OutputRepository outputRepository;
31febb
     private final JobProperties jobProperties;
31febb
@@ -235,7 +233,7 @@ public class PentahoReportJob implements ReportJob
31febb
                 }
31febb
                 catch (ParseException ex)
31febb
                 {
31febb
-                    LOGGER.error("ReportProcessing failed", ex);
31febb
+                    LOGGER.severe("ReportProcessing failed: " + ex);
31febb
                 }
31febb
             }
31febb
             else if (node instanceof OfficeDetailSection)
31febb
@@ -338,7 +336,7 @@ public class PentahoReportJob implements ReportJob
31febb
             rp.processReport(job);
31febb
             job.close();
31febb
             final long endTime = System.currentTimeMillis();
31febb
-            LOGGER.debug("Report processing time: " + (endTime - startTime));
31febb
+            LOGGER.config("Report processing time: " + (endTime - startTime));
31febb
         }
31febb
         catch (final Exception e)
31febb
         {
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java
31febb
index 54694fd619ab..3c52473e3d3c 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/SOReportJobFactory.java
31febb
@@ -68,9 +68,6 @@ import java.io.Writer;
31febb
 import java.io.PrintWriter;
31febb
 import java.io.StringWriter;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
-
31febb
 /**
31febb
  * This class capsulates the class, that implements the minimal component, a factory for creating the service
31febb
  * (__getComponentFactory) and a method, that writes the information into the given registry key
31febb
@@ -86,7 +83,7 @@ public class SOReportJobFactory
31febb
     public static class _SOReportJobFactory extends WeakBase implements XInitialization, XServiceInfo, XJob, XPropertySet, ReportJobFactory
31febb
     {
31febb
 
31febb
-        private static final Log LOGGER = LogFactory.getLog(_SOReportJobFactory.class);
31febb
+        private static final Logger LOGGER = Logger.getLogger(_SOReportJobFactory.class.getName());
31febb
         /**
31febb
          * The service name, that must be used to get an instance of this service.
31febb
          */
31febb
@@ -242,7 +239,7 @@ public class SOReportJobFactory
31febb
             }
31febb
             catch (java.lang.Exception e)
31febb
             {
31febb
-                LOGGER.error("ReportProcessing failed", e);
31febb
+                LOGGER.severe("ReportProcessing failed: " + e);
31febb
                 Writer result = new StringWriter();
31febb
                 PrintWriter printWriter = new PrintWriter(result);
31febb
                 e.printStackTrace(printWriter);
31febb
@@ -254,7 +251,7 @@ public class SOReportJobFactory
31febb
             }
31febb
             catch (java.lang.IncompatibleClassChangeError e)
31febb
             {
31febb
-                LOGGER.error("Detected an IncompatibleClassChangeError");
31febb
+                LOGGER.severe("Detected an IncompatibleClassChangeError");
31febb
                 Writer result = new StringWriter();
31febb
                 PrintWriter printWriter = new PrintWriter(result);
31febb
                 e.printStackTrace(printWriter);
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
31febb
index 6a1bd00736ee..eab7c512284d 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormatValueUtility.java
31febb
@@ -208,7 +208,7 @@ public class FormatValueUtility
31febb
         if (result == null)
31febb
         {
31febb
             // ignore it. Ignoring it is much better than printing 'null'.
31febb
-            // LOGGER.debug("Formula '" + formulaExpression.getFormula() + "' evaluated to null.");
31febb
+            // LOGGER.config("Formula '" + formulaExpression.getFormula() + "' evaluated to null.");
31febb
             return null;
31febb
         }
31febb
         else if (result instanceof DataFlags)
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
31febb
index 7f1470edc866..7959b5857408 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/FormattedTextLayoutController.java
31febb
@@ -20,8 +20,7 @@ package org.libreoffice.report.pentaho.layoutprocessor;
31febb
 
31febb
 import org.libreoffice.report.pentaho.OfficeNamespaces;
31febb
 import org.libreoffice.report.pentaho.model.FormattedTextElement;
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 import org.jfree.report.DataFlags;
31febb
 import org.jfree.report.DataSourceException;
31febb
@@ -45,7 +44,7 @@ public class FormattedTextLayoutController
31febb
         extends AbstractReportElementLayoutController
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(FormattedTextLayoutController.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(FormattedTextLayoutController.class.getName());
31febb
 
31febb
     @Override
31febb
     public boolean isValueChanged()
31febb
@@ -62,7 +61,7 @@ public class FormattedTextLayoutController
31febb
         }
31febb
         catch (final ParseException e)
31febb
         {
31febb
-            LOGGER.debug("Parse Exception", e);
31febb
+            LOGGER.config("Parse Exception: " + e);
31febb
             return false;
31febb
         }
31febb
     }
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java
31febb
index 0bf40b9dcd28..6fc68e816f7c 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/layoutprocessor/ImageElementLayoutController.java
31febb
@@ -22,8 +22,7 @@ import org.libreoffice.report.OfficeToken;
31febb
 import org.libreoffice.report.pentaho.OfficeNamespaces;
31febb
 import org.libreoffice.report.pentaho.model.ImageElement;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 import org.jfree.layouting.util.AttributeMap;
31febb
 import org.jfree.report.DataSourceException;
31febb
@@ -59,7 +58,7 @@ public class ImageElementLayoutController
31febb
         extends AbstractReportElementLayoutController
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(ImageElementLayoutController.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(ImageElementLayoutController.class.getName());
31febb
     private ImageElementContext context;
31febb
 
31febb
     @Override
31febb
@@ -116,7 +115,7 @@ public class ImageElementLayoutController
31febb
             final LayoutController cellController = findParentCell();
31febb
             if (cellController == null)
31febb
             {
31febb
-                LOGGER.warn("Image is not contained in a table. Unable to calculate the image-size.");
31febb
+                LOGGER.warning("Image is not contained in a table. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
             final Element tableCell = (Element) cellController.getNode();
31febb
@@ -124,14 +123,14 @@ public class ImageElementLayoutController
31febb
             final int colSpan = TextUtilities.parseInt((String) tableCell.getAttribute(OfficeNamespaces.TABLE_NS, "number-columns-spanned"), 1);
31febb
             if (rowSpan < 1 || colSpan < 1)
31febb
             {
31febb
-                LOGGER.warn("Rowspan or colspan for image-size calculation was invalid.");
31febb
+                LOGGER.warning("Rowspan or colspan for image-size calculation was invalid.");
31febb
                 return null;
31febb
             }
31febb
 
31febb
             final LayoutController rowController = cellController.getParent();
31febb
             if (rowController == null)
31febb
             {
31febb
-                LOGGER.warn("Table-Cell has no parent. Unable to calculate the image-size.");
31febb
+                LOGGER.warning("Table-Cell has no parent. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
             final Section tableRow = (Section) rowController.getNode();
31febb
@@ -141,14 +140,14 @@ public class ImageElementLayoutController
31febb
             final int columnPos = findNodeInSection(tableRow, tableCell, OfficeToken.COVERED_TABLE_CELL);
31febb
             if (columnPos == -1)
31febb
             {
31febb
-                LOGGER.warn("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size.");
31febb
+                LOGGER.warning("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
 
31febb
             final LayoutController tableController = rowController.getParent();
31febb
             if (tableController == null)
31febb
             {
31febb
-                LOGGER.warn("Table-Row has no Table. Unable to calculate the image-size.");
31febb
+                LOGGER.warning("Table-Row has no Table. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
 
31febb
@@ -158,7 +157,7 @@ public class ImageElementLayoutController
31febb
             if (columns.getNodeCount() <= columnPos + colSpan)
31febb
             {
31febb
                 // the colspan is too large. The table definition is therefore invalid. We do not try to fix this.
31febb
-                LOGGER.warn(
31febb
+                LOGGER.warning(
31febb
                         "The Table's defined columns do not match the col-span or col-position. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
@@ -169,7 +168,7 @@ public class ImageElementLayoutController
31febb
             final int rowPos = findNodeInSection(table, tableRow, null);
31febb
             if (rowPos == -1)
31febb
             {
31febb
-                LOGGER.warn("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size.");
31febb
+                LOGGER.warning("Table-Cell is not a direct child of the table-row. Unable to calculate the image-size.");
31febb
                 return null;
31febb
             }
31febb
 
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java
31febb
index ae1a8273bfb7..69995d7aa1c5 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/ImageProducer.java
31febb
@@ -48,9 +48,6 @@ import java.util.Map;
31febb
 import java.util.logging.Level;
31febb
 import java.util.logging.Logger;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
-
31febb
 import org.jfree.layouting.input.style.values.CSSNumericType;
31febb
 import org.jfree.layouting.input.style.values.CSSNumericValue;
31febb
 
31febb
@@ -67,7 +64,7 @@ import org.pentaho.reporting.libraries.base.util.WaitingImageObserver;
31febb
 public class ImageProducer
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(ImageProducer.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(ImageProducer.class.getName());
31febb
 
31febb
     public static class OfficeImage
31febb
     {
31febb
@@ -188,7 +185,7 @@ public class ImageProducer
31febb
             final boolean preserveIRI)
31febb
     {
31febb
 
31febb
-        LOGGER.debug("Want to produce image " + imageData);
31febb
+        LOGGER.config("Want to produce image " + imageData);
31febb
         if (imageData instanceof String)
31febb
         {
31febb
             return produceFromString((String) imageData, preserveIRI);
31febb
@@ -247,11 +244,11 @@ public class ImageProducer
31febb
         }
31febb
         catch (IOException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to produce image from Blob", e);
31febb
+            LOGGER.warning("Failed to produce image from Blob: " + e);
31febb
         }
31febb
         catch (SQLException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to produce image from Blob", e);
31febb
+            LOGGER.warning("Failed to produce image from Blob: " + e);
31febb
         }
31febb
         return null;
31febb
     }
31febb
@@ -295,11 +292,11 @@ public class ImageProducer
31febb
         }
31febb
         catch (IOException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to load image from local input-repository", e);
31febb
+            LOGGER.warning("Failed to load image from local input-repository: " + e);
31febb
         }
31febb
         catch (ReportExecutionException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to create image from local input-repository", e);
31febb
+            LOGGER.warning("Failed to create image from local input-repository: " + e);
31febb
         }
31febb
         return null;
31febb
     }
31febb
@@ -353,11 +350,11 @@ public class ImageProducer
31febb
             }
31febb
             catch (IOException e)
31febb
             {
31febb
-                LOGGER.warn("Failed to load image from local input-repository", e);
31febb
+                LOGGER.warning("Failed to load image from local input-repository: " + e);
31febb
             }
31febb
             catch (ReportExecutionException e)
31febb
             {
31febb
-                LOGGER.warn("Failed to create image from local input-repository", e);
31febb
+                LOGGER.warning("Failed to create image from local input-repository: " + e);
31febb
             }
31febb
         }
31febb
         else
31febb
@@ -435,11 +432,11 @@ public class ImageProducer
31febb
         }
31febb
         catch (IOException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to load image from local input-repository", e);
31febb
+            LOGGER.warning("Failed to load image from local input-repository: " + e);
31febb
         }
31febb
         catch (ReportExecutionException e)
31febb
         {
31febb
-            LOGGER.warn("Failed to create image from local input-repository", e);
31febb
+            LOGGER.warning("Failed to create image from local input-repository: " + e);
31febb
         }
31febb
 
31febb
         if (!preserveIRI)
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java
31febb
index a5c3be135a65..b73b5781b3a3 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/OfficeDocumentReportTarget.java
31febb
@@ -65,9 +65,6 @@ import java.util.Map;
31febb
 import java.util.zip.DeflaterOutputStream;
31febb
 import java.util.zip.InflaterInputStream;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
-
31febb
 import org.jfree.layouting.input.style.parser.CSSValueFactory;
31febb
 import org.jfree.layouting.input.style.parser.StyleSheetParserUtil;
31febb
 import org.jfree.layouting.input.style.values.CSSNumericType;
31febb
@@ -112,7 +109,7 @@ import org.w3c.css.sac.LexicalUnit;
31febb
 public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
 {
31febb
 
31febb
-    protected static final Log LOGGER = LogFactory.getLog(OfficeDocumentReportTarget.class);
31febb
+    protected static final Logger LOGGER = Logger.getLogger(OfficeDocumentReportTarget.class.getName());
31febb
     public static final String HORIZONTAL_POS = "horizontal-pos";
31febb
     public static final String TAG_DEF_PREFIX = "org.libreoffice.report.pentaho.output.";
31febb
     private static final int ROLE_NONE = 0;
31febb
@@ -517,7 +514,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
         // todo
31febb
         if (DEBUG_ELEMENTS)
31febb
         {
31febb
-            LOGGER.debug("Starting " + getCurrentState() + '/' + states.size() + ' ' + ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + ReportTargetUtil.getElemenTypeFromAttribute(attrs));
31febb
+            LOGGER.config("Starting " + getCurrentState() + '/' + states.size() + ' ' + ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + ReportTargetUtil.getElemenTypeFromAttribute(attrs));
31febb
         }
31febb
         try
31febb
         {
31febb
@@ -713,7 +710,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
         }
31febb
         catch (IOException ioe)
31febb
         {
31febb
-            LOGGER.error("ReportProcessing failed", ioe);
31febb
+            LOGGER.severe("ReportProcessing failed: " + ioe);
31febb
             throw new ReportProcessingException("Failed to write content", ioe);
31febb
         }
31febb
     }
31febb
@@ -762,7 +759,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
                 if (styleMapper.isListOfStyles(elementNamespace, elementName, attrNamespace, attrName))
31febb
                 {
31febb
                     // ignored for now.
31febb
-                    LOGGER.warn("List of styles is not yet implemented.");
31febb
+                    LOGGER.warning("List of styles is not yet implemented.");
31febb
                     continue;
31febb
                 }
31febb
 
31febb
@@ -970,7 +967,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
 
31febb
             if (DEBUG_ELEMENTS)
31febb
             {
31febb
-                LOGGER.debug("Finished " + getCurrentState() + "/" + states.size() + " " + ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + ReportTargetUtil.getElemenTypeFromAttribute(attrs));
31febb
+                LOGGER.config("Finished " + getCurrentState() + "/" + states.size() + " " + ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + ReportTargetUtil.getElemenTypeFromAttribute(attrs));
31febb
             }
31febb
 
31febb
         }
31febb
@@ -1153,7 +1150,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
         }
31febb
         catch (IOException e)
31febb
         {
31febb
-            LOGGER.error("ReportProcessing failed", e);
31febb
+            LOGGER.severe("ReportProcessing failed: " + e);
31febb
         }
31febb
         return state;
31febb
     }
31febb
@@ -1294,7 +1291,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
 
31febb
             final CSSNumericValue height = image.getHeight(); // always in 100th of a mm
31febb
 
31febb
-            LOGGER.debug("Image " + imageData + " Width: " + width + ", Height: " + height);
31febb
+            LOGGER.config("Image " + imageData + " Width: " + width + ", Height: " + height);
31febb
             if (width == null || height == null)
31febb
             {
31febb
                 return;
31febb
@@ -1313,7 +1310,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
 
31febb
                 if (imageAreaWidthVal == null || imageAreaHeightVal == null)
31febb
                 {
31febb
-                    LOGGER.debug("Image data returned from context is invalid. Maybe this is not an image?");
31febb
+                    LOGGER.config("Image data returned from context is invalid. Maybe this is not an image?");
31febb
                     return;
31febb
                 }
31febb
                 else
31febb
@@ -1410,7 +1407,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
             }
31febb
             else
31febb
             {
31febb
-                LOGGER.debug("There is no image-context, so we have to rely on the image's natural bounds. " + "This may go awfully wrong.");
31febb
+                LOGGER.config("There is no image-context, so we have to rely on the image's natural bounds. " + "This may go awfully wrong.");
31febb
                 imageAreaWidthVal = image.getWidth();
31febb
                 imageAreaHeightVal = image.getHeight();
31febb
             }
31febb
@@ -1427,7 +1424,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget
31febb
             frameList.setAttribute(OfficeNamespaces.SVG_NS, "y", posY.getValue() + posY.getType().getType());
31febb
 
31febb
 
31febb
-            LOGGER.debug("Image " + imageData + " A-Width: " + imageAreaWidthVal + ", A-Height: " + imageAreaHeightVal);
31febb
+            LOGGER.config("Image " + imageData + " A-Width: " + imageAreaWidthVal + ", A-Height: " + imageAreaHeightVal);
31febb
 
31febb
             if (imageAreaWidthVal != null)
31febb
             {
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java
31febb
index 2010a189be1d..27f3c25a4b4b 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/OleProducer.java
31febb
@@ -32,14 +32,12 @@ import org.libreoffice.report.pentaho.PentahoReportEngineMetaData;
31febb
 import java.io.IOException;
31febb
 
31febb
 import java.util.List;
31febb
-
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 public class OleProducer
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(OleProducer.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(OleProducer.class.getName());
31febb
     private final InputRepository inputRepository;
31febb
     private final OutputRepository outputRepository;
31febb
     private final DefaultNameGenerator nameGenerator;
31febb
@@ -100,16 +98,16 @@ public class OleProducer
31febb
             }
31febb
             catch (ReportExecutionException ex)
31febb
             {
31febb
-                LOGGER.error("ReportProcessing failed", ex);
31febb
+                LOGGER.severe("ReportProcessing failed: " + ex);
31febb
             }
31febb
             catch (IOException ex)
31febb
             {
31febb
-                LOGGER.error("ReportProcessing failed", ex);
31febb
+                LOGGER.severe("ReportProcessing failed: " + ex);
31febb
             }
31febb
         }
31febb
         catch (IOException ex)
31febb
         {
31febb
-            LOGGER.error("ReportProcessing failed", ex);
31febb
+            LOGGER.severe("ReportProcessing failed: " + ex);
31febb
         } finally
31febb
         {
31febb
             if (subInputRepository != null)
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java
31febb
index 2b204a4bf502..98af0c3fa076 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/StyleUtilities.java
31febb
@@ -28,9 +28,7 @@ import org.libreoffice.report.pentaho.model.OfficeStylesCollection;
31febb
 import java.util.ArrayList;
31febb
 import java.util.HashSet;
31febb
 import java.util.Set;
31febb
-
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 import org.jfree.report.ReportProcessingException;
31febb
 import org.jfree.report.structure.Element;
31febb
@@ -46,7 +44,7 @@ import org.jfree.report.util.AttributeNameGenerator;
31febb
 public class StyleUtilities
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(StyleUtilities.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(StyleUtilities.class.getName());
31febb
     private static final String STYLE = "style";
31febb
 
31febb
     private StyleUtilities()
31febb
@@ -180,7 +178,7 @@ public class StyleUtilities
31febb
             }
31febb
             else if (styleParent != null)
31febb
             {
31febb
-                LOGGER.warn("Inconsistent styles: " + styleFamily + ":" + styleParent + " does not exist.");
31febb
+                LOGGER.warning("Inconsistent styles: " + styleFamily + ":" + styleParent + " does not exist.");
31febb
             }
31febb
             return preStyle;
31febb
         }
31febb
@@ -301,7 +299,7 @@ public class StyleUtilities
31febb
                         }
31febb
                         else
31febb
                         {
31febb
-                            LOGGER.warn("Dangling data style: " + styleName);
31febb
+                            LOGGER.warning("Dangling data style: " + styleName);
31febb
                             derivedStyle = null;
31febb
                         }
31febb
                     }
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java b/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java
31febb
index e6c234503c22..b1d979e7b788 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java
31febb
@@ -305,7 +305,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget
31febb
             }
31febb
             catch (IOException ex)
31febb
             {
31febb
-                LOGGER.error("ReportProcessing failed", ex);
31febb
+                LOGGER.severe("ReportProcessing failed: " + ex);
31febb
             }
31febb
         }
31febb
     }
31febb
diff --git a/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java b/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java
31febb
index 6d36eb6f9ea5..65a48252e69f 100644
31febb
--- a/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java
31febb
+++ b/reportbuilder/java/org/libreoffice/report/pentaho/parser/office/DocumentContentReadHandler.java
31febb
@@ -22,8 +22,7 @@ import org.libreoffice.report.pentaho.model.OfficeDocument;
31febb
 import org.libreoffice.report.pentaho.model.OfficeStylesCollection;
31febb
 import org.libreoffice.report.pentaho.parser.style.OfficeStylesReadHandler;
31febb
 
31febb
-import org.apache.commons.logging.Log;
31febb
-import org.apache.commons.logging.LogFactory;
31febb
+import java.util.logging.Logger;
31febb
 
31febb
 import org.jfree.report.JFreeReport;
31febb
 
31febb
@@ -49,7 +48,7 @@ import org.xml.sax.SAXException;
31febb
 public class DocumentContentReadHandler extends AbstractXmlReadHandler
31febb
 {
31febb
 
31febb
-    private static final Log LOGGER = LogFactory.getLog(DocumentContentReadHandler.class);
31febb
+    private static final Logger LOGGER = Logger.getLogger(DocumentContentReadHandler.class.getName());
31febb
     private OfficeDocument report;
31febb
     private FontFaceDeclsReadHandler fontFaceReadHandler;
31febb
     private BodyReadHandler bodyReadHandler;
31febb
@@ -98,12 +97,12 @@ public class DocumentContentReadHandler extends AbstractXmlReadHandler
31febb
         catch (ResourceKeyCreationException e)
31febb
         {
31febb
             // ignore ..
31febb
-            LOGGER.debug("Failed to create resource-key for 'styles.xml'. Ignoring.", e);
31febb
+            LOGGER.config("Failed to create resource-key for 'styles.xml'. Ignoring: " + e);
31febb
         }
31febb
         catch (ResourceException e)
31febb
         {
31febb
             // ignore ..
31febb
-            LOGGER.debug("Failed to parse resource for 'styles.xml'. Ignoring.", e);
31febb
+            LOGGER.config("Failed to parse resource for 'styles.xml'. Ignoring: " + e);
31febb
         }
31febb
 
31febb
         return new OfficeStylesCollection();
31febb
@@ -135,12 +134,12 @@ public class DocumentContentReadHandler extends AbstractXmlReadHandler
31febb
         catch (ResourceKeyCreationException e)
31febb
         {
31febb
             // ignore ..
31febb
-            LOGGER.debug("Failed to create resource-key for 'content.xml'. Ignoring.");
31febb
+            LOGGER.config("Failed to create resource-key for 'content.xml'. Ignoring.");
31febb
         }
31febb
         catch (ResourceException e)
31febb
         {
31febb
             // ignore ..
31febb
-            LOGGER.debug("Failed to parse resource for 'content.xml'. Ignoring.");
31febb
+            LOGGER.config("Failed to parse resource for 'content.xml'. Ignoring.");
31febb
         }
31febb
         return new OfficeDocument();
31febb
 
31febb
diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in
31febb
index d5699baefb90..8610fa05d6f5 100644
31febb
--- a/solenv/flatpak-manifest.in
31febb
+++ b/solenv/flatpak-manifest.in
31febb
@@ -543,13 +543,6 @@
31febb
                     "dest": "external/tarballs",
31febb
                     "dest-filename": "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip"
31febb
                 },
31febb
-                {
31febb
-                    "url": "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz",
31febb
-                    "sha256": "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81",
31febb
-                    "type": "file",
31febb
-                    "dest": "external/tarballs",
31febb
-                    "dest-filename": "commons-logging-1.2-src.tar.gz"
31febb
-                },
31febb
                 {
31febb
                     "url": "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip",
31febb
                     "sha256": "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd",
31febb
diff --git a/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html
31febb
index fbd8b0bfdca0..877661330b6b 100644
31febb
--- a/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html
31febb
+++ b/swext/mediawiki/src/THIRDPARTYLICENSEREADME.html
31febb
@@ -10,27 +10,6 @@ DO NOT TRANSLATE OR LOCALIZE THIS DOCUMENT
31febb
 
31febb
 
    31febb
     
    31febb
    -  
  • The Apache Software Foundation
  • 31febb
    -    
    31febb
    -    
      31febb
      -      
    • Commons Codec
    • 31febb
      -        
      31febb
      -    
      31febb
      -  
      31febb
      -  
    • The Apache Software Foundation
    • 31febb
      -    
      31febb
      -    
        31febb
        -      
      • Commons HTTP Client
      • 31febb
        -        
        31febb
        -    
        31febb
        -  
        31febb
        -  
      • The Apache Software Foundation
      • 31febb
        -    
        31febb
        -    
          31febb
          -      
        • Commons Lang
        • 31febb
          -        
          31febb
          -    
          31febb
          -  
          31febb
             
        • The Apache Software Foundation
        • 31febb
               
          31febb
               
            31febb
            @@ -51,34 +30,6 @@ Foundation
            31febb
             
            The following software may be
            31febb
             included in this product: Jakarta Commons Codec; Use of any of this
            31febb
             software is governed by the terms of the license below:
            31febb
            -

            The Apache Software

            31febb
            -Foundation
            31febb
            -
            31febb
            -

            Commons Codec

            31febb
            -
            31febb
            -
                                             Apache License
            Version 2.0, January 2004
            http://www.apache.org/licenses/

            TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

            1. Definitions.

            "License" shall mean the terms and conditions for use, reproduction,
            and distribution as defined by Sections 1 through 9 of this document.

            "Licensor" shall mean the copyright owner or entity authorized by
            the copyright owner that is granting the License.

            "Legal Entity" shall mean the union of the acting entity and all
            other entities that control, are controlled by, or are under common
            control with that entity. For the purposes of this definition,
            "control" means (i) the power, direct or indirect, to cause the
            direction or management of such entity, whether by contract or
            otherwise, or (ii) ownership of fifty percent (50%) or more of the
            outstanding shares, or (iii) beneficial ownership of such entity.

            "You" (or "Your") shall mean an individual or Legal Entity
            exercising permissions granted by this License.

            "Source" form shall mean the preferred form for making modifications,
            including but not limited to software source code, documentation
            source, and configuration files.

            "Object" form shall mean any form resulting from mechanical
            transformation or translation of a Source form, including but
            not limited to compiled object code, generated documentation,
            and conversions to other media types.

            "Work" shall mean the work of authorship, whether in Source or
            Object form, made available under the License, as indicated by a
            copyright notice that is included in or attached to the work
            (an example is provided in the Appendix below).

            "Derivative Works" shall mean any work, whether in Source or Object
            form, that is based on (or derived from) the Work and for which the
            editorial revisions, annotations, elaborations, or other modifications
            represent, as a whole, an original work of authorship. For the purposes
            of this License, Derivative Works shall not include works that remain
            separable from, or merely link (or bind by name) to the interfaces of,
            the Work and Derivative Works thereof.

            "Contribution" shall mean any work of authorship, including
            the original version of the Work and any modifications or additions
            to that Work or Derivative Works thereof, that is intentionally
            submitted to Licensor for inclusion in the Work by the copyright owner
            or by an individual or Legal Entity authorized to submit on behalf of
            the copyright owner. For the purposes of this definition, "submitted"
            means any form of electronic, verbal, or written communication sent
            to the Licensor or its representatives, including but not limited to
            communication on electronic mailing lists, source code control systems,
            and issue tracking systems that are managed by, or on behalf of, the
            Licensor for the purpose of discussing and improving the Work, but
            excluding communication that is conspicuously marked or otherwise
            designated in writing by the copyright owner as "Not a Contribution."

            "Contributor" shall mean Licensor and any individual or Legal Entity
            on behalf of whom a Contribution has been received by Licensor and
            subsequently incorporated within the Work.

            2. Grant of Copyright License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            copyright license to reproduce, prepare Derivative Works of,
            publicly display, publicly perform, sublicense, and distribute the
            Work and such Derivative Works in Source or Object form.

            3. Grant of Patent License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            (except as stated in this section) patent license to make, have made,
            use, offer to sell, sell, import, and otherwise transfer the Work,
            where such license applies only to those patent claims licensable
            by such Contributor that are necessarily infringed by their
            Contribution(s) alone or by combination of their Contribution(s)
            with the Work to which such Contribution(s) was submitted. If You
            institute patent litigation against any entity (including a
            cross-claim or counterclaim in a lawsuit) alleging that the Work
            or a Contribution incorporated within the Work constitutes direct
            or contributory patent infringement, then any patent licenses
            granted to You under this License for that Work shall terminate
            as of the date such litigation is filed.

            4. Redistribution. You may reproduce and distribute copies of the
            Work or Derivative Works thereof in any medium, with or without
            modifications, and in Source or Object form, provided that You
            meet the following conditions:

            (a) You must give any other recipients of the Work or
            Derivative Works a copy of this License; and

            (b) You must cause any modified files to carry prominent notices
            stating that You changed the files; and

            (c) You must retain, in the Source form of any Derivative Works
            that You distribute, all copyright, patent, trademark, and
            attribution notices from the Source form of the Work,
            excluding those notices that do not pertain to any part of
            the Derivative Works; and

            (d) If the Work includes a "NOTICE" text file as part of its
            distribution, then any Derivative Works that You distribute must
            include a readable copy of the attribution notices contained
            within such NOTICE file, excluding those notices that do not
            pertain to any part of the Derivative Works, in at least one
            of the following places: within a NOTICE text file distributed
            as part of the Derivative Works; within the Source form or
            documentation, if provided along with the Derivative Works; or,
            within a display generated by the Derivative Works, if and
            wherever such third-party notices normally appear. The contents
            of the NOTICE file are for informational purposes only and
            do not modify the License. You may add Your own attribution
            notices within Derivative Works that You distribute, alongside
            or as an addendum to the NOTICE text from the Work, provided
            that such additional attribution notices cannot be construed
            as modifying the License.

            You may add Your own copyright statement to Your modifications and
            may provide additional or different license terms and conditions
            for use, reproduction, or distribution of Your modifications, or
            for any such Derivative Works as a whole, provided Your use,
            reproduction, and distribution of the Work otherwise complies with
            the conditions stated in this License.

            5. Submission of Contributions. Unless You explicitly state otherwise,
            any Contribution intentionally submitted for inclusion in the Work
            by You to the Licensor shall be under the terms and conditions of
            this License, without any additional terms or conditions.
            Notwithstanding the above, nothing herein shall supersede or modify
            the terms of any separate license agreement you may have executed
            with Licensor regarding such Contributions.

            6. Trademarks. This License does not grant permission to use the trade
            names, trademarks, service marks, or product names of the Licensor,
            except as required for reasonable and customary use in describing the
            origin of the Work and reproducing the content of the NOTICE file.

            7. Disclaimer of Warranty. Unless required by applicable law or
            agreed to in writing, Licensor provides the Work (and each
            Contributor provides its Contributions) on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied, including, without limitation, any warranties or conditions
            of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
            PARTICULAR PURPOSE. You are solely responsible for determining the
            appropriateness of using or redistributing the Work and assume any
            risks associated with Your exercise of permissions under this License.

            8. Limitation of Liability. In no event and under no legal theory,
            whether in tort (including negligence), contract, or otherwise,
            unless required by applicable law (such as deliberate and grossly
            negligent acts) or agreed to in writing, shall any Contributor be
            liable to You for damages, including any direct, indirect, special,
            incidental, or consequential damages of any character arising as a
            result of this License or out of the use or inability to use the
            Work (including but not limited to damages for loss of goodwill,
            work stoppage, computer failure or malfunction, or any and all
            other commercial damages or losses), even if such Contributor
            has been advised of the possibility of such damages.

            9. Accepting Warranty or Additional Liability. While redistributing
            the Work or Derivative Works thereof, You may choose to offer,
            and charge a fee for, acceptance of support, warranty, indemnity,
            or other liability obligations and/or rights consistent with this
            License. However, in accepting such obligations, You may act only
            on Your own behalf and on Your sole responsibility, not on behalf
            of any other Contributor, and only if You agree to indemnify,
            defend, and hold each Contributor harmless for any liability
            incurred by, or claims asserted against, such Contributor by reason
            of your accepting any such warranty or additional liability.

            END OF TERMS AND CONDITIONS

            APPENDIX: How to apply the Apache License to your work.

            To apply the Apache License to your work, attach the following
            boilerplate notice, with the fields enclosed by brackets "[]"
            replaced with your own identifying information. (Don't include
            the brackets!) The text should be enclosed in the appropriate
            comment syntax for the file format. We also recommend that a
            file or class name and description of purpose be included on the
            same "printed page" as the copyright notice for easier
            identification within third-party archives.

            Copyright [yyyy] [name of copyright owner]

            Licensed under the Apache License, Version 2.0 (the "License");
            you may not use this file except in compliance with the License.
            You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the License for the specific language governing permissions and
            limitations under the License.

            31febb
            -
            The following software may be
            31febb
            -included in this product: Jakarta Commons HTTP Client 2; Use of any of
            31febb
            -this
            31febb
            -software is governed by the terms of the license below:
            31febb
            -

            The Apache Software

            31febb
            -Foundation
            31febb
            -
            31febb
            -

            Commons HTTP Client

            31febb
            -
            31febb
            -
                                             Apache License
            Version 2.0, January 2004
            http://www.apache.org/licenses/

            TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

            1. Definitions.

            "License" shall mean the terms and conditions for use, reproduction,
            and distribution as defined by Sections 1 through 9 of this document.

            "Licensor" shall mean the copyright owner or entity authorized by
            the copyright owner that is granting the License.

            "Legal Entity" shall mean the union of the acting entity and all
            other entities that control, are controlled by, or are under common
            control with that entity. For the purposes of this definition,
            "control" means (i) the power, direct or indirect, to cause the
            direction or management of such entity, whether by contract or
            otherwise, or (ii) ownership of fifty percent (50%) or more of the
            outstanding shares, or (iii) beneficial ownership of such entity.

            "You" (or "Your") shall mean an individual or Legal Entity
            exercising permissions granted by this License.

            "Source" form shall mean the preferred form for making modifications,
            including but not limited to software source code, documentation
            source, and configuration files.

            "Object" form shall mean any form resulting from mechanical
            transformation or translation of a Source form, including but
            not limited to compiled object code, generated documentation,
            and conversions to other media types.

            "Work" shall mean the work of authorship, whether in Source or
            Object form, made available under the License, as indicated by a
            copyright notice that is included in or attached to the work
            (an example is provided in the Appendix below).

            "Derivative Works" shall mean any work, whether in Source or Object
            form, that is based on (or derived from) the Work and for which the
            editorial revisions, annotations, elaborations, or other modifications
            represent, as a whole, an original work of authorship. For the purposes
            of this License, Derivative Works shall not include works that remain
            separable from, or merely link (or bind by name) to the interfaces of,
            the Work and Derivative Works thereof.

            "Contribution" shall mean any work of authorship, including
            the original version of the Work and any modifications or additions
            to that Work or Derivative Works thereof, that is intentionally
            submitted to Licensor for inclusion in the Work by the copyright owner
            or by an individual or Legal Entity authorized to submit on behalf of
            the copyright owner. For the purposes of this definition, "submitted"
            means any form of electronic, verbal, or written communication sent
            to the Licensor or its representatives, including but not limited to
            communication on electronic mailing lists, source code control systems,
            and issue tracking systems that are managed by, or on behalf of, the
            Licensor for the purpose of discussing and improving the Work, but
            excluding communication that is conspicuously marked or otherwise
            designated in writing by the copyright owner as "Not a Contribution."

            "Contributor" shall mean Licensor and any individual or Legal Entity
            on behalf of whom a Contribution has been received by Licensor and
            subsequently incorporated within the Work.

            2. Grant of Copyright License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            copyright license to reproduce, prepare Derivative Works of,
            publicly display, publicly perform, sublicense, and distribute the
            Work and such Derivative Works in Source or Object form.

            3. Grant of Patent License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            (except as stated in this section) patent license to make, have made,
            use, offer to sell, sell, import, and otherwise transfer the Work,
            where such license applies only to those patent claims licensable
            by such Contributor that are necessarily infringed by their
            Contribution(s) alone or by combination of their Contribution(s)
            with the Work to which such Contribution(s) was submitted. If You
            institute patent litigation against any entity (including a
            cross-claim or counterclaim in a lawsuit) alleging that the Work
            or a Contribution incorporated within the Work constitutes direct
            or contributory patent infringement, then any patent licenses
            granted to You under this License for that Work shall terminate
            as of the date such litigation is filed.

            4. Redistribution. You may reproduce and distribute copies of the
            Work or Derivative Works thereof in any medium, with or without
            modifications, and in Source or Object form, provided that You
            meet the following conditions:

            (a) You must give any other recipients of the Work or
            Derivative Works a copy of this License; and

            (b) You must cause any modified files to carry prominent notices
            stating that You changed the files; and

            (c) You must retain, in the Source form of any Derivative Works
            that You distribute, all copyright, patent, trademark, and
            attribution notices from the Source form of the Work,
            excluding those notices that do not pertain to any part of
            the Derivative Works; and

            (d) If the Work includes a "NOTICE" text file as part of its
            distribution, then any Derivative Works that You distribute must
            include a readable copy of the attribution notices contained
            within such NOTICE file, excluding those notices that do not
            pertain to any part of the Derivative Works, in at least one
            of the following places: within a NOTICE text file distributed
            as part of the Derivative Works; within the Source form or
            documentation, if provided along with the Derivative Works; or,
            within a display generated by the Derivative Works, if and
            wherever such third-party notices normally appear. The contents
            of the NOTICE file are for informational purposes only and
            do not modify the License. You may add Your own attribution
            notices within Derivative Works that You distribute, alongside
            or as an addendum to the NOTICE text from the Work, provided
            that such additional attribution notices cannot be construed
            as modifying the License.

            You may add Your own copyright statement to Your modifications and
            may provide additional or different license terms and conditions
            for use, reproduction, or distribution of Your modifications, or
            for any such Derivative Works as a whole, provided Your use,
            reproduction, and distribution of the Work otherwise complies with
            the conditions stated in this License.

            5. Submission of Contributions. Unless You explicitly state otherwise,
            any Contribution intentionally submitted for inclusion in the Work
            by You to the Licensor shall be under the terms and conditions of
            this License, without any additional terms or conditions.
            Notwithstanding the above, nothing herein shall supersede or modify
            the terms of any separate license agreement you may have executed
            with Licensor regarding such Contributions.

            6. Trademarks. This License does not grant permission to use the trade
            names, trademarks, service marks, or product names of the Licensor,
            except as required for reasonable and customary use in describing the
            origin of the Work and reproducing the content of the NOTICE file.

            7. Disclaimer of Warranty. Unless required by applicable law or
            agreed to in writing, Licensor provides the Work (and each
            Contributor provides its Contributions) on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied, including, without limitation, any warranties or conditions
            of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
            PARTICULAR PURPOSE. You are solely responsible for determining the
            appropriateness of using or redistributing the Work and assume any
            risks associated with Your exercise of permissions under this License.

            8. Limitation of Liability. In no event and under no legal theory,
            whether in tort (including negligence), contract, or otherwise,
            unless required by applicable law (such as deliberate and grossly
            negligent acts) or agreed to in writing, shall any Contributor be
            liable to You for damages, including any direct, indirect, special,
            incidental, or consequential damages of any character arising as a
            result of this License or out of the use or inability to use the
            Work (including but not limited to damages for loss of goodwill,
            work stoppage, computer failure or malfunction, or any and all
            other commercial damages or losses), even if such Contributor
            has been advised of the possibility of such damages.

            9. Accepting Warranty or Additional Liability. While redistributing
            the Work or Derivative Works thereof, You may choose to offer,
            and charge a fee for, acceptance of support, warranty, indemnity,
            or other liability obligations and/or rights consistent with this
            License. However, in accepting such obligations, You may act only
            on Your own behalf and on Your sole responsibility, not on behalf
            of any other Contributor, and only if You agree to indemnify,
            defend, and hold each Contributor harmless for any liability
            incurred by, or claims asserted against, such Contributor by reason
            of your accepting any such warranty or additional liability.

            END OF TERMS AND CONDITIONS

            APPENDIX: How to apply the Apache License to your work.

            To apply the Apache License to your work, attach the following
            boilerplate notice, with the fields enclosed by brackets "[]"
            replaced with your own identifying information. (Don't include
            the brackets!) The text should be enclosed in the appropriate
            comment syntax for the file format. We also recommend that a
            file or class name and description of purpose be included on the
            same "printed page" as the copyright notice for easier
            identification within third-party archives.

            Copyright [yyyy] [name of copyright owner]

            Licensed under the Apache License, Version 2.0 (the "License");
            you may not use this file except in compliance with the License.
            You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the License for the specific language governing permissions and
            limitations under the License.

            31febb
            -
            The following software may be
            31febb
            -included in this product: Jakarta Commons Lang 2.1; Use of any of this
            31febb
            -software is governed by the terms of the license below:
            31febb
            -

            The Apache Software

            31febb
            -Foundation
            31febb
            -
            31febb
            -

            Commons Lang

            31febb
            -
            31febb
            -
                                             Apache License
            Version 2.0, January 2004
            http://www.apache.org/licenses/

            TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

            1. Definitions.

            "License" shall mean the terms and conditions for use, reproduction,
            and distribution as defined by Sections 1 through 9 of this document.

            "Licensor" shall mean the copyright owner or entity authorized by
            the copyright owner that is granting the License.

            "Legal Entity" shall mean the union of the acting entity and all
            other entities that control, are controlled by, or are under common
            control with that entity. For the purposes of this definition,
            "control" means (i) the power, direct or indirect, to cause the
            direction or management of such entity, whether by contract or
            otherwise, or (ii) ownership of fifty percent (50%) or more of the
            outstanding shares, or (iii) beneficial ownership of such entity.

            "You" (or "Your") shall mean an individual or Legal Entity
            exercising permissions granted by this License.

            "Source" form shall mean the preferred form for making modifications,
            including but not limited to software source code, documentation
            source, and configuration files.

            "Object" form shall mean any form resulting from mechanical
            transformation or translation of a Source form, including but
            not limited to compiled object code, generated documentation,
            and conversions to other media types.

            "Work" shall mean the work of authorship, whether in Source or
            Object form, made available under the License, as indicated by a
            copyright notice that is included in or attached to the work
            (an example is provided in the Appendix below).

            "Derivative Works" shall mean any work, whether in Source or Object
            form, that is based on (or derived from) the Work and for which the
            editorial revisions, annotations, elaborations, or other modifications
            represent, as a whole, an original work of authorship. For the purposes
            of this License, Derivative Works shall not include works that remain
            separable from, or merely link (or bind by name) to the interfaces of,
            the Work and Derivative Works thereof.

            "Contribution" shall mean any work of authorship, including
            the original version of the Work and any modifications or additions
            to that Work or Derivative Works thereof, that is intentionally
            submitted to Licensor for inclusion in the Work by the copyright owner
            or by an individual or Legal Entity authorized to submit on behalf of
            the copyright owner. For the purposes of this definition, "submitted"
            means any form of electronic, verbal, or written communication sent
            to the Licensor or its representatives, including but not limited to
            communication on electronic mailing lists, source code control systems,
            and issue tracking systems that are managed by, or on behalf of, the
            Licensor for the purpose of discussing and improving the Work, but
            excluding communication that is conspicuously marked or otherwise
            designated in writing by the copyright owner as "Not a Contribution."

            "Contributor" shall mean Licensor and any individual or Legal Entity
            on behalf of whom a Contribution has been received by Licensor and
            subsequently incorporated within the Work.

            2. Grant of Copyright License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            copyright license to reproduce, prepare Derivative Works of,
            publicly display, publicly perform, sublicense, and distribute the
            Work and such Derivative Works in Source or Object form.

            3. Grant of Patent License. Subject to the terms and conditions of
            this License, each Contributor hereby grants to You a perpetual,
            worldwide, non-exclusive, no-charge, royalty-free, irrevocable
            (except as stated in this section) patent license to make, have made,
            use, offer to sell, sell, import, and otherwise transfer the Work,
            where such license applies only to those patent claims licensable
            by such Contributor that are necessarily infringed by their
            Contribution(s) alone or by combination of their Contribution(s)
            with the Work to which such Contribution(s) was submitted. If You
            institute patent litigation against any entity (including a
            cross-claim or counterclaim in a lawsuit) alleging that the Work
            or a Contribution incorporated within the Work constitutes direct
            or contributory patent infringement, then any patent licenses
            granted to You under this License for that Work shall terminate
            as of the date such litigation is filed.

            4. Redistribution. You may reproduce and distribute copies of the
            Work or Derivative Works thereof in any medium, with or without
            modifications, and in Source or Object form, provided that You
            meet the following conditions:

            (a) You must give any other recipients of the Work or
            Derivative Works a copy of this License; and

            (b) You must cause any modified files to carry prominent notices
            stating that You changed the files; and

            (c) You must retain, in the Source form of any Derivative Works
            that You distribute, all copyright, patent, trademark, and
            attribution notices from the Source form of the Work,
            excluding those notices that do not pertain to any part of
            the Derivative Works; and

            (d) If the Work includes a "NOTICE" text file as part of its
            distribution, then any Derivative Works that You distribute must
            include a readable copy of the attribution notices contained
            within such NOTICE file, excluding those notices that do not
            pertain to any part of the Derivative Works, in at least one
            of the following places: within a NOTICE text file distributed
            as part of the Derivative Works; within the Source form or
            documentation, if provided along with the Derivative Works; or,
            within a display generated by the Derivative Works, if and
            wherever such third-party notices normally appear. The contents
            of the NOTICE file are for informational purposes only and
            do not modify the License. You may add Your own attribution
            notices within Derivative Works that You distribute, alongside
            or as an addendum to the NOTICE text from the Work, provided
            that such additional attribution notices cannot be construed
            as modifying the License.

            You may add Your own copyright statement to Your modifications and
            may provide additional or different license terms and conditions
            for use, reproduction, or distribution of Your modifications, or
            for any such Derivative Works as a whole, provided Your use,
            reproduction, and distribution of the Work otherwise complies with
            the conditions stated in this License.

            5. Submission of Contributions. Unless You explicitly state otherwise,
            any Contribution intentionally submitted for inclusion in the Work
            by You to the Licensor shall be under the terms and conditions of
            this License, without any additional terms or conditions.
            Notwithstanding the above, nothing herein shall supersede or modify
            the terms of any separate license agreement you may have executed
            with Licensor regarding such Contributions.

            6. Trademarks. This License does not grant permission to use the trade
            names, trademarks, service marks, or product names of the Licensor,
            except as required for reasonable and customary use in describing the
            origin of the Work and reproducing the content of the NOTICE file.

            7. Disclaimer of Warranty. Unless required by applicable law or
            agreed to in writing, Licensor provides the Work (and each
            Contributor provides its Contributions) on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
            implied, including, without limitation, any warranties or conditions
            of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
            PARTICULAR PURPOSE. You are solely responsible for determining the
            appropriateness of using or redistributing the Work and assume any
            risks associated with Your exercise of permissions under this License.

            8. Limitation of Liability. In no event and under no legal theory,
            whether in tort (including negligence), contract, or otherwise,
            unless required by applicable law (such as deliberate and grossly
            negligent acts) or agreed to in writing, shall any Contributor be
            liable to You for damages, including any direct, indirect, special,
            incidental, or consequential damages of any character arising as a
            result of this License or out of the use or inability to use the
            Work (including but not limited to damages for loss of goodwill,
            work stoppage, computer failure or malfunction, or any and all
            other commercial damages or losses), even if such Contributor
            has been advised of the possibility of such damages.

            9. Accepting Warranty or Additional Liability. While redistributing
            the Work or Derivative Works thereof, You may choose to offer,
            and charge a fee for, acceptance of support, warranty, indemnity,
            or other liability obligations and/or rights consistent with this
            License. However, in accepting such obligations, You may act only
            on Your own behalf and on Your sole responsibility, not on behalf
            of any other Contributor, and only if You agree to indemnify,
            defend, and hold each Contributor harmless for any liability
            incurred by, or claims asserted against, such Contributor by reason
            of your accepting any such warranty or additional liability.

            END OF TERMS AND CONDITIONS

            APPENDIX: How to apply the Apache License to your work.

            To apply the Apache License to your work, attach the following
            boilerplate notice, with the fields enclosed by brackets "[]"
            replaced with your own identifying information. (Don't include
            the brackets!) The text should be enclosed in the appropriate
            comment syntax for the file format. We also recommend that a
            file or class name and description of purpose be included on the
            same "printed page" as the copyright notice for easier
            identification within third-party archives.

            Copyright [yyyy] [name of copyright owner]

            Licensed under the Apache License, Version 2.0 (the "License");
            you may not use this file except in compliance with the License.
            You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the License for the specific language governing permissions and
            limitations under the License.

            31febb
            -
            The following software may be
            31febb
            -included in this product: Jakarta Commons Codec; Use of any of this
            31febb
            -software is governed by the terms of the license below:
            31febb
             

            The Apache Software

            31febb
             Foundation
            31febb
             
            31febb
            -- 
            31febb
            2.30.2
            31febb