[Libreoffice-commits] core.git: external/jfreereport

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 13 14:39:29 UTC 2021


 external/jfreereport/UnpackedTarball_jfreereport_libbase.mk                     |    1 
 external/jfreereport/UnpackedTarball_jfreereport_libfonts.mk                    |    1 
 external/jfreereport/UnpackedTarball_jfreereport_libformula.mk                  |    1 
 external/jfreereport/UnpackedTarball_jfreereport_libloader.mk                   |    1 
 external/jfreereport/UnpackedTarball_jfreereport_librepository.mk               |    1 
 external/jfreereport/UnpackedTarball_jfreereport_libserializer.mk               |    1 
 external/jfreereport/UnpackedTarball_jfreereport_libxml.mk                      |    1 
 external/jfreereport/patches/libbase-1.1.3-remove-commons-logging.patch.1       |  903 ++++++++++
 external/jfreereport/patches/libfonts-1.1.3-remove-commons-logging.patch.1      |  506 +++++
 external/jfreereport/patches/libformula-1.1.3-remove-commons-logging.patch.1    |  266 ++
 external/jfreereport/patches/libloader-1.1.3-remove-commons-logging.patch.1     |  635 +++++++
 external/jfreereport/patches/librepository-1.1.3-remove-commons-logging.patch.1 |  117 +
 external/jfreereport/patches/libserializer-1.1.2-remove-commons-logging.patch.1 |   31 
 external/jfreereport/patches/libxml-1.1.3-remove-commons-logging.patch.1        |  313 +++
 14 files changed, 2778 insertions(+)

New commits:
commit 5c1d67fbace131dfcf2042d10986b78c766d743d
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Apr 13 15:24:48 2021 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue Apr 13 16:37:56 2021 +0200

    external/jfreereport: Get rid of remaining apache-commons-logging
    
    ...similar to b721a1cecb6ea0013be8402350110822e50b4415 "external/jfreereport:
    Get rid of apache-commons-logging", but where the external tarballs contain
    copies of commons-logging-api-1.0.4.jar to compile against, so
    6de0b1710adfba82c96b75a5da6f52633a54c692 "Get rid of apache-commons-logging" did
    not affect them at build- but only at run-time.
    
    The sources of the seven new patch files (and which have further been adapted as
    necessary) are taken from
    <https://src.fedoraproject.org/rpms/libbase/blob/4a8cd85e49a0a00d0e0f865a3c841e3f1858a04b>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    <https://src.fedoraproject.org/rpms/libfonts/c/c7f7d4ed67b9ca701152732cbdac547db3ada5f4>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    <https://src.fedoraproject.org/rpms/libformula/c/feb5be4b393f13b131623339a5868c6b381b2507>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    <https://src.fedoraproject.org/rpms/libloader/c/53eeb19460f2ab934cdf4c7c7c73fd681141216c>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    <https://src.fedoraproject.org/rpms/librepository/c/9fa7021dfe7dcc76e32c40f99f74c3745013c501>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    <https://src.fedoraproject.org/rpms/libserializer/c/027e1a16f7171f7ac5f9da4683d1e1b63794bb06>
    "Related: rhbz#1895921 replace apache-commons-logging with java.util.logging",
    and
    <https://src.fedoraproject.org/rpms/pentaho-libxml/c/74538ea7cdd0845f8e6dff748f8d4abfe080dbe4>
    "add missing patch".
    
    Change-Id: I98bbe0e24398d3652cda09b0664b4775661cd939
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114053
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libbase.mk b/external/jfreereport/UnpackedTarball_jfreereport_libbase.mk
index c3ba35190ede..46bb438aa58a 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libbase.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libbase.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_libbase,\
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libbase,\
 	external/jfreereport/patches/common_build.patch \
 	external/jfreereport/patches/libbase-$(LIBBASE_VERSION)-deprecated.patch \
+	external/jfreereport/patches/libbase-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libfonts.mk b/external/jfreereport/UnpackedTarball_jfreereport_libfonts.mk
index b648c58bbef8..c45958505e96 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libfonts.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libfonts.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_libfonts,\
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libfonts,\
 	external/jfreereport/patches/common_build.patch \
 	external/jfreereport/patches/libfonts-$(LIBFONTS_VERSION)-deprecated.patch \
+	external/jfreereport/patches/libfonts-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libformula.mk b/external/jfreereport/UnpackedTarball_jfreereport_libformula.mk
index 59622966895a..13e8fcfaf640 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libformula.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libformula.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libformula,\
 	external/jfreereport/patches/libformula-seconds_rounding.patch.1 \
 	external/jfreereport/patches/libformula-minutes_truncation.patch.1 \
 	external/jfreereport/patches/libformula-datevalue_truncation.patch.1 \
+	external/jfreereport/patches/libformula-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libloader.mk b/external/jfreereport/UnpackedTarball_jfreereport_libloader.mk
index 7357ddd03ad9..6221dfa52b1b 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libloader.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libloader.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_libloader,\
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libloader,\
 	external/jfreereport/patches/common_build.patch \
 	external/jfreereport/patches/libloader-$(LIBLOADER_VERSION)-deprecated.patch \
+	external/jfreereport/patches/libloader-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_librepository.mk b/external/jfreereport/UnpackedTarball_jfreereport_librepository.mk
index 86ff991b9f3e..e1db29d02b3e 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_librepository.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_librepository.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_librepository,\
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_librepository,\
 	external/jfreereport/patches/common_build.patch \
 	external/jfreereport/patches/librepository-$(LIBREPOSITORY_VERSION)-deprecated.patch \
+	external/jfreereport/patches/librepository-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libserializer.mk b/external/jfreereport/UnpackedTarball_jfreereport_libserializer.mk
index 22d6d0cb7a2a..fb6f3d60c8da 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libserializer.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libserializer.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_libserializer,\
 
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libserializer,\
 	external/jfreereport/patches/common_build.patch \
+	external/jfreereport/patches/libserializer-1.1.2-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/UnpackedTarball_jfreereport_libxml.mk b/external/jfreereport/UnpackedTarball_jfreereport_libxml.mk
index ceca692adee2..7a920a873d4c 100644
--- a/external/jfreereport/UnpackedTarball_jfreereport_libxml.mk
+++ b/external/jfreereport/UnpackedTarball_jfreereport_libxml.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,jfreereport_libxml,\
 
 $(eval $(call gb_UnpackedTarball_add_patches,jfreereport_libxml,\
 	external/jfreereport/patches/common_build.patch \
+	external/jfreereport/patches/libxml-1.1.3-remove-commons-logging.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/jfreereport/patches/libbase-1.1.3-remove-commons-logging.patch.1 b/external/jfreereport/patches/libbase-1.1.3-remove-commons-logging.patch.1
new file mode 100644
index 000000000000..8d0df70a96df
--- /dev/null
+++ b/external/jfreereport/patches/libbase-1.1.3-remove-commons-logging.patch.1
@@ -0,0 +1,903 @@
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/AbstractBoot.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/AbstractBoot.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/AbstractBoot.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/AbstractBoot.java	2021-02-23 12:11:46.680967049 +0000
+@@ -24,8 +24,7 @@
+ import java.util.ArrayList;
+ import java.util.Enumeration;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+ import org.pentaho.reporting.libraries.base.config.ExtendedConfiguration;
+ import org.pentaho.reporting.libraries.base.config.ExtendedConfigurationWrapper;
+@@ -52,7 +51,7 @@
+   /**
+    * The logger for this class.
+    */
+-  private static final Log LOGGER = LogFactory.getLog(AbstractBoot.class);
++  private static final Logger LOGGER = Logger.getLogger(AbstractBoot.class.getName());
+ 
+   /**
+    * The configuration wrapper around the plain configuration.
+@@ -163,7 +162,7 @@
+       }
+       if (isBootFailed())
+       {
+-        LOGGER.error(getClass() + " failed to boot: " + bootFailed.getMessage());
++        LOGGER.severe(getClass() + " failed to boot: " + bootFailed.getMessage());
+       }
+       while (isBootInProgress())
+       {
+@@ -206,7 +205,7 @@
+     }
+     catch (Exception e)
+     {
+-      LOGGER.error(getClass() + " failed to boot: ", e);
++      LOGGER.severe(getClass() + " failed to boot: " + e);
+       this.bootFailed = e;
+     }
+     finally
+@@ -265,8 +264,8 @@
+           if (boot.isBootFailed())
+           {
+             this.bootFailed = boot.getBootFailureReason();
+-            LOGGER.error("Dependent project failed to boot up: " +
+-                projectInformation.getBootClass() + " failed to boot: ", this.bootFailed);
++            LOGGER.severe("Dependent project failed to boot up: " +
++                projectInformation.getBootClass() + " failed to boot: " + this.bootFailed);
+             return;
+           }
+         }
+@@ -419,7 +418,7 @@
+           }
+           catch (IOException ioe)
+           {
+-            LOGGER.warn("Failed to load the user configuration at " + url, ioe);
++            LOGGER.warning("Failed to load the user configuration at " + url + " : " + ioe);
+           }
+         }
+ 
+@@ -431,7 +430,7 @@
+       }
+       catch (IOException e)
+       {
+-        LOGGER.warn("Failed to lookup the user configurations.", e);
++        LOGGER.warning("Failed to lookup the user configurations: " + e);
+       }
+     }
+     if (addSysProps)
+@@ -455,4 +454,4 @@
+     }
+     return extWrapper;
+   }
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageManager.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageManager.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageManager.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageManager.java	2021-02-23 12:18:45.836952221 +0000
+@@ -23,8 +23,8 @@
+ import java.util.HashMap;
+ import java.util.Iterator;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+ import org.pentaho.reporting.libraries.base.config.PropertyFileConfiguration;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+@@ -63,7 +63,7 @@
+     }
+   }
+ 
+-  private static final Log LOGGER = LogFactory.getLog(PackageManager.class);
++  private static final Logger LOGGER = Logger.getLogger(PackageManager.class.getName());
+ 
+   /**
+    * An internal constant declaring that the specified module was already loaded.
+@@ -201,7 +201,7 @@
+         }
+       }
+     }
+-    LOGGER.debug("Loaded a total of " + count + " modules under prefix: " + modulePrefix);
++    LOGGER.config("Loaded a total of " + count + " modules under prefix: " + modulePrefix);
+   }
+ 
+   /**
+@@ -224,9 +224,9 @@
+ 
+       if (mod.configure(this.booter))
+       {
+-        if (LOGGER.isDebugEnabled())
++        if (LOGGER.isLoggable(Level.CONFIG))
+         {
+-          LOGGER.debug("Conf: " +
++          LOGGER.config("Conf: " +
+               new PadMessage(mod.getModule().getModuleClass(), 70) +
+               " [" + mod.getModule().getSubSystem() + ']');
+         }
+@@ -244,9 +244,9 @@
+ 
+       if (mod.initialize(this.booter))
+       {
+-        if (LOGGER.isDebugEnabled())
++        if (LOGGER.isLoggable(Level.CONFIG))
+         {
+-          LOGGER.debug("Init: " +
++          LOGGER.config("Init: " +
+               new PadMessage(mod.getModule().getModuleClass(), 70) +
+               " [" + mod.getModule().getSubSystem() + ']');
+         }
+@@ -271,12 +271,12 @@
+       final PackageState dependentState = (PackageState) modulesByClass.get(key);
+       if (dependentState == null)
+       {
+-        LOGGER.warn("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not found.");
++        LOGGER.warning("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not found.");
+         return false;
+       }
+       if (dependentState.getState() != PackageState.STATE_CONFIGURED)
+       {
+-        LOGGER.warn("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not configured.");
++        LOGGER.warning("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not configured.");
+         return false;
+       }
+     }
+@@ -300,12 +300,12 @@
+       final PackageState dependentState = (PackageState) modulesByClass.get(key);
+       if (dependentState == null)
+       {
+-        LOGGER.warn("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not found.");
++        LOGGER.warning("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not found.");
+         return false;
+       }
+       if (dependentState.getState() != PackageState.STATE_INITIALIZED)
+       {
+-        LOGGER.warn("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not initializable.");
++        LOGGER.warning("Required dependency '" + key + "' for module '" + state.getModule().getModuleClass() + " not initializable.");
+         return false;
+       }
+     }
+@@ -418,15 +418,15 @@
+       {
+         if (fatal)
+         {
+-          LOGGER.warn("Unresolved dependency for package: " + moduleInfo.getModuleClass());
++          LOGGER.warning("Unresolved dependency for package: " + moduleInfo.getModuleClass());
+         }
+-        LOGGER.debug("Module class referenced, but not in classpath: " + moduleInfo.getModuleClass());
++        LOGGER.config("Module class referenced, but not in classpath: " + moduleInfo.getModuleClass());
+       }
+ 
+       if (acceptVersion(moduleInfo, module) == false)
+       {
+         // module conflict!
+-        LOGGER.warn("Module " + module.getName() + ": required version: "
++        LOGGER.warning("Module " + module.getName() + ": required version: "
+             + moduleInfo + ", but found Version: \n" + module);
+         final PackageState state = new PackageState(module, PackageState.STATE_ERROR);
+         dropFailedModule(state);
+@@ -437,7 +437,7 @@
+       if (moduleContained == RETURN_MODULE_ERROR)
+       {
+         // the module caused harm before ...
+-        LOGGER.debug("Indicated failure for module: " + module.getModuleClass());
++        LOGGER.config("Indicated failure for module: " + module.getModuleClass());
+         final PackageState state = new PackageState(module, PackageState.STATE_ERROR);
+         dropFailedModule(state);
+         return false;
+@@ -447,7 +447,7 @@
+         if (incompleteModules.contains(module))
+         {
+           // we assume that loading will continue ...
+-          LOGGER.error
++          LOGGER.severe
+               ("Circular module reference: This module definition is invalid: " +
+                   module.getClass());
+           final PackageState state = new PackageState(module, PackageState.STATE_ERROR);
+@@ -460,7 +460,7 @@
+         {
+           if (loadModule(required[i], incompleteModules, modules, true) == false)
+           {
+-            LOGGER.debug("Indicated failure for module: " + module.getModuleClass());
++            LOGGER.config("Indicated failure for module: " + module.getModuleClass());
+             final PackageState state = new PackageState(module, PackageState.STATE_ERROR);
+             dropFailedModule(state);
+             return false;
+@@ -472,7 +472,7 @@
+         {
+           if (loadModule(optional[i], incompleteModules, modules, true) == false)
+           {
+-            LOGGER.debug("Optional module: " + optional[i].getModuleClass() + " was not loaded.");
++            LOGGER.config("Optional module: " + optional[i].getModuleClass() + " was not loaded.");
+           }
+         }
+         // maybe a dependent module defined the same base module ...
+@@ -486,7 +486,7 @@
+     }
+     catch (Exception e)
+     {
+-      LOGGER.warn("Exception while loading module: " + moduleInfo, e);
++      LOGGER.warning("Exception while loading module: " + moduleInfo + " : " + e);
+       return false;
+     }
+   }
+@@ -506,7 +506,7 @@
+     }
+     if (module.getMajorVersion() == null)
+     {
+-      LOGGER.warn("Module " + module.getName() + " does not define a major version.");
++      LOGGER.warning("Module " + module.getName() + " does not define a major version.");
+     }
+     else
+     {
+@@ -528,7 +528,7 @@
+     }
+     if (module.getMinorVersion() == null)
+     {
+-      LOGGER.warn("Module " + module.getName() + " does not define a minor version.");
++      LOGGER.warning("Module " + module.getName() + " does not define a minor version.");
+     }
+     else
+     {
+@@ -550,14 +550,14 @@
+     }
+     if (module.getPatchLevel() == null)
+     {
+-      LOGGER.debug("Module " + module.getName() + " does not define a patch level.");
++      LOGGER.config("Module " + module.getName() + " does not define a patch level.");
+     }
+     else
+     {
+       if (acceptVersion(moduleRequirement.getPatchLevel(),
+           module.getPatchLevel()) > 0)
+       {
+-        LOGGER.debug("Did not accept patchlevel: "
++        LOGGER.config("Did not accept patchlevel: "
+             + moduleRequirement.getPatchLevel() + " - "
+             + module.getPatchLevel());
+         return false;
+@@ -699,4 +699,4 @@
+       p.println(mod.getDescription());
+     }
+   }
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageSorter.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageSorter.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageSorter.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageSorter.java	2021-02-23 12:19:11.752198616 +0000
+@@ -23,8 +23,7 @@
+ import java.util.Iterator;
+ import java.util.List;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+ 
+ /**
+@@ -180,7 +179,7 @@
+   }
+ 
+   /** A logger for debug-messages. */
+-  private static final Log LOGGER = LogFactory.getLog(PackageSorter.class);
++  private static final Logger LOGGER = Logger.getLogger(PackageSorter.class.getName());
+ 
+   /**
+    * DefaultConstructor.
+@@ -313,7 +312,7 @@
+       final SortModule reqMod = (SortModule) moduleMap.get(moduleName);
+       if (reqMod == null)
+       {
+-        LOGGER.warn("Invalid state: Required dependency of '" + moduleName + "' had an error.");
++        LOGGER.warning("Invalid state: Required dependency of '" + moduleName + "' had an error.");
+         continue;
+       }
+       if (reqMod.getPosition() >= position)
+@@ -415,7 +414,7 @@
+           moduleMap.get(requiredModules[i].getModuleClass());
+       if (dependentModule == null)
+       {
+-        LOGGER.warn
++        LOGGER.warning
+             ("A dependent module was not found in the list of known modules." +
+                 requiredModules[i].getModuleClass());
+         continue;
+@@ -431,11 +430,11 @@
+           moduleMap.get(optionalModules[i].getModuleClass());
+       if (dependentModule == null)
+       {
+-        LOGGER.warn("A dependent module was not found in the list of known modules.");
++        LOGGER.warning("A dependent module was not found in the list of known modules.");
+         continue;
+       }
+       collector.add(dependentModule.getSubSystem());
+     }
+     return collector;
+   }
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageState.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageState.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/boot/PackageState.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/boot/PackageState.java	2021-02-23 12:22:15.204942814 +0000
+@@ -17,8 +17,8 @@
+ 
+ package org.pentaho.reporting.libraries.base.boot;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ 
+ /**
+  * The package state class is used by the package manager to keep track of
+@@ -31,7 +31,7 @@
+ public class PackageState
+ {
+   /** A logger. */
+-  private static final Log LOGGER = LogFactory.getLog(PackageState.class);
++  private static final Logger LOGGER = Logger.getLogger(PackageState.class.getName());
+ 
+   /**
+    * A constant defining that the package is new.
+@@ -119,20 +119,20 @@
+       }
+       catch (NoClassDefFoundError noClassDef)
+       {
+-        LOGGER.warn("Unable to load module classes for " +
++        LOGGER.warning("Unable to load module classes for " +
+             this.module.getName() + ':' + noClassDef.getMessage());
+         this.state = STATE_ERROR;
+       }
+       catch (Exception e)
+       {
+-        if (LOGGER.isDebugEnabled())
++        if (LOGGER.isLoggable(Level.CONFIG))
+         {
+           // its still worth a warning, but now we are more verbose ...
+-          LOGGER.warn("Unable to configure the module " + this.module.getName(), e);
++          LOGGER.warning("Unable to configure the module " + this.module.getName() + " : " + e);
+         }
+-        else if (LOGGER.isWarnEnabled())
++	else if (LOGGER.isLoggable(Level.WARNING))
+         {
+-          LOGGER.warn("Unable to configure the module " + this.module.getName());
++          LOGGER.warning("Unable to configure the module " + this.module.getName());
+         }
+         this.state = STATE_ERROR;
+       }
+@@ -187,32 +187,32 @@
+       }
+       catch (NoClassDefFoundError noClassDef)
+       {
+-        LOGGER.warn("Unable to load module classes for " + this.module.getName() + ':' + noClassDef.getMessage());
++        LOGGER.warning("Unable to load module classes for " + this.module.getName() + ':' + noClassDef.getMessage());
+         this.state = STATE_ERROR;
+       }
+       catch (ModuleInitializeException me)
+       {
+-        if (LOGGER.isDebugEnabled())
++        if (LOGGER.isLoggable(Level.CONFIG))
+         {
+           // its still worth a warning, but now we are more verbose ...
+-          LOGGER.warn("Unable to initialize the module " + this.module.getName(), me);
++          LOGGER.warning("Unable to initialize the module " + this.module.getName() + " : " + me);
+         }
+-        else if (LOGGER.isWarnEnabled())
++	else if (LOGGER.isLoggable(Level.WARNING))
+         {
+-          LOGGER.warn("Unable to initialize the module " + this.module.getName());
++          LOGGER.warning("Unable to initialize the module " + this.module.getName());
+         }
+         this.state = STATE_ERROR;
+       }
+       catch (Exception e)
+       {
+-        if (LOGGER.isDebugEnabled())
++        if (LOGGER.isLoggable(Level.CONFIG))
+         {
+           // its still worth a warning, but now we are more verbose ...
+-          LOGGER.warn("Unable to initialize the module " + this.module.getName(), e);
++          LOGGER.warning("Unable to initialize the module " + this.module.getName() + " : " + e);
+         }
+-        else if (LOGGER.isWarnEnabled())
++	else if (LOGGER.isLoggable(Level.WARNING))
+         {
+-          LOGGER.warn("Unable to initialize the module " + this.module.getName());
++          LOGGER.warning("Unable to initialize the module " + this.module.getName());
+         }
+         this.state = STATE_ERROR;
+       }
+@@ -267,4 +267,4 @@
+   {
+     this.state = STATE_ERROR;
+   }
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/config/PropertyFileConfiguration.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/config/PropertyFileConfiguration.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/config/PropertyFileConfiguration.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/config/PropertyFileConfiguration.java	2021-02-23 12:13:55.788194558 +0000
+@@ -22,8 +22,7 @@
+ import java.io.InputStream;
+ import java.util.Properties;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+ 
+ /**
+@@ -34,7 +33,7 @@
+ public class PropertyFileConfiguration extends HierarchicalConfiguration
+ {
+   /** A logger for debug-messages. */
+-  private static final Log LOGGER = LogFactory.getLog(PropertyFileConfiguration.class);
++  private static final Logger LOGGER = Logger.getLogger(PropertyFileConfiguration.class.getName());
+   /** A serialization related constant. */
+   private static final long serialVersionUID = 2423181637547944866L;
+ 
+@@ -89,7 +88,7 @@
+     }
+     else
+     {
+-      LOGGER.debug("Configuration file not found in the classpath: " + resourceName);
++      LOGGER.config("Configuration file not found in the classpath: " + resourceName);
+     }
+ 
+   }
+@@ -118,9 +117,9 @@
+     }
+     catch (IOException ioe)
+     {
+-      LOGGER.warn("Unable to read configuration", ioe);
++      LOGGER.warning("Unable to read configuration:" + ioe);
+     }
+ 
+   }
+ 
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ClassQueryTool.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ClassQueryTool.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ClassQueryTool.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ClassQueryTool.java	2021-02-23 12:24:05.460991092 +0000
+@@ -26,8 +26,7 @@
+ import java.util.zip.ZipEntry;
+ import java.util.zip.ZipInputStream;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * The class-query tool loads classes using a classloader and calls "processClass" for each class encountered. This is
+@@ -41,7 +40,7 @@
+ public abstract class ClassQueryTool
+ {
+   /** A logger. */
+-  private static final Log logger = LogFactory.getLog(ClassQueryTool.class);
++  private static final Logger logger = Logger.getLogger(ClassQueryTool.class.getName());
+ 
+   /**
+    * The default constructor.
+@@ -89,7 +88,7 @@
+     catch (Throwable e)
+     {
+       // ignore ..
+-      logger.debug("At class '" + className + "': " + e);
++      logger.config("At class '" + className + "': " + e);
+     }
+   }
+ 
+@@ -137,7 +136,7 @@
+     }
+     catch (final IOException e1)
+     {
+-      logger.debug("Caught IO-Exception while processing file " + jarFile, e1);
++      logger.config("Caught IO-Exception while processing file " + jarFile + " : " + e1);
+     }
+   }
+ 
+@@ -225,7 +224,7 @@
+     for (int i = 0; i < allArray.length; i++)
+     {
+       final URL url = allArray[i];
+-      logger.debug(url);
++      logger.config(url.toString());
+     }
+     for (int i = 0; i < urlsArray.length; i++)
+     {
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/DebugLog.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/DebugLog.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/DebugLog.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/DebugLog.java	2021-02-23 12:26:00.488084723 +0000
+@@ -17,8 +17,7 @@
+ 
+ package org.pentaho.reporting.libraries.base.util;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * This class provides static log messages for on-going bug-hunting efforts. This removes the need to create
+@@ -29,7 +28,7 @@
+ public final class DebugLog
+ {
+   /** A logger. */
+-  private static final Log logger = LogFactory.getLog(DebugLog.class);
++  private static final Logger logger = Logger.getLogger(DebugLog.class.getName());
+ 
+   /**
+    * Logs a message using the debug-logger. By channeling all temporary log messages through this method,
+@@ -39,7 +38,7 @@
+    */
+   public static void log(final Object message)
+   {
+-    logger.info(message);
++    logger.info(message.toString());
+   }
+ 
+   /**
+@@ -51,7 +50,7 @@
+    */
+   public static void log(final Object message, final Throwable t)
+   {
+-    logger.info(message, t);
++    logger.info(message + " : " + t);
+   }
+ 
+   /**
+@@ -68,7 +67,7 @@
+   public static void logHereWE()
+   {
+     //noinspection ThrowableInstanceNeverThrown
+-    logger.info("HERE: Debug point reached", new Exception("Debug-Point reached"));
++    logger.info("HERE: Debug point reached");
+   }
+ 
+   /**
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ObjectUtilities.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ObjectUtilities.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ObjectUtilities.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ObjectUtilities.java	2021-02-23 12:30:11.253468898 +0000
+@@ -29,8 +29,8 @@
+ import java.util.Arrays;
+ import java.util.StringTokenizer;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ 
+ /**
+  * A collection of useful static utility methods for handling classes and object instantiation.
+@@ -39,7 +39,7 @@
+  */
+ public final class ObjectUtilities
+ {
+-  private static final Log LOGGER = LogFactory.getLog(ObjectUtilities.class);
++  private static final Logger LOGGER = Logger.getLogger(ObjectUtilities.class.getName());
+ 
+   /**
+    * A constant for using the TheadContext as source for the classloader.
+@@ -180,15 +180,15 @@
+     }
+     catch (NoSuchMethodException e)
+     {
+-      LOGGER.warn("Object without clone() method is impossible on class " + aClass, e);
++      LOGGER.warning("Object without clone() method is impossible on class " + aClass + " : " + e);
+     }
+     catch (IllegalAccessException e)
+     {
+-      LOGGER.warn("Object.clone(): unable to call method 'clone()'  on class " + aClass, e);
++      LOGGER.warning("Object.clone(): unable to call method 'clone()'  on class " + aClass + " : " + e);
+     }
+     catch (InvocationTargetException e)
+     {
+-      LOGGER.warn("Object without clone() method is impossible on class " + aClass, e);
++      LOGGER.warning("Object without clone() method is impossible on class " + aClass + " : " + e);
+     }
+     throw new CloneNotSupportedException
+         ("Failed to clone: Clone caused an Exception while cloning type " + aClass);
+@@ -424,32 +424,32 @@
+       if (type != null && type.isAssignableFrom(c) == false)
+       {
+         // this is unacceptable and means someone messed up the configuration
+-        LOGGER.warn("Specified class " + className + " is not of expected type " + type);
++        LOGGER.warning("Specified class " + className + " is not of expected type " + type);
+         return null;
+       }
+       return c.newInstance();
+     }
+     catch (ClassNotFoundException e)
+     {
+-      if (LOGGER.isDebugEnabled())
++      if (LOGGER.isLoggable(Level.CONFIG))
+       {
+-        LOGGER.debug("Specified class " + className + " does not exist.");
++        LOGGER.config("Specified class " + className + " does not exist.");
+       }
+       // sometimes, this one is expected.
+     }
+     catch (NoClassDefFoundError e)
+     {
+-      if (LOGGER.isDebugEnabled())
++      if (LOGGER.isLoggable(Level.CONFIG))
+       {
+-        LOGGER.debug("Specified class " + className + " cannot be loaded [NOCLASSDEFERROR].");
++        LOGGER.config("Specified class " + className + " cannot be loaded [NOCLASSDEFERROR].");
+       }
+     }
+     catch (Throwable e)
+     {
+       // this is more severe than a class not being found at all
+-      if (LOGGER.isDebugEnabled())
++      if (LOGGER.isLoggable(Level.CONFIG))
+       {
+-        LOGGER.info("Specified class " + className + " failed to instantiate correctly.", e);
++        LOGGER.info("Specified class " + className + " failed to instantiate correctly." + " : " + e);
+       }
+       else
+       {
+@@ -615,4 +615,4 @@
+     }
+     return hashCode;
+   }
+-}
+\ No newline at end of file
++}
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/PngEncoder.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/PngEncoder.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/PngEncoder.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/PngEncoder.java	2021-02-23 12:27:15.484797751 +0000
+@@ -27,8 +27,7 @@
+ import java.util.zip.Deflater;
+ import java.util.zip.DeflaterOutputStream;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.encoder.ImageEncoder;
+ import org.pentaho.reporting.libraries.base.encoder.UnsupportedEncoderException;
+ 
+@@ -66,7 +65,7 @@
+ public class PngEncoder implements ImageEncoder
+ {
+   /** A logger for debug-messages. */
+-  private static final Log logger = LogFactory.getLog(PngEncoder.class);
++  private static final Logger logger = Logger.getLogger(PngEncoder.class.getName());
+ 
+   /**
+    * Constant specifying that alpha channel should be encoded.
+@@ -622,12 +621,12 @@
+         }
+         catch (Exception e)
+         {
+-          logger.error("interrupted waiting for pixels!", e);
++          logger.severe("interrupted waiting for pixels: " + e);
+           return false;
+         }
+         if ((pg.getStatus() & ImageObserver.ABORT) != 0)
+         {
+-          logger.error("image fetch aborted or errored");
++          logger.severe("image fetch aborted or errored");
+           return false;
+         }
+ 
+@@ -709,7 +708,7 @@
+     }
+     catch (IOException e)
+     {
+-      logger.error("Failed to write PNG Data", e);
++      logger.severe("Failed to write PNG Data:" + e);
+       return false;
+     }
+   }
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ResourceBundleSupport.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ResourceBundleSupport.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/ResourceBundleSupport.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/ResourceBundleSupport.java	2021-02-23 12:27:45.015078518 +0000
+@@ -36,8 +36,7 @@
+ import javax.swing.JMenu;
+ import javax.swing.KeyStroke;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * An utility class to ease up using property-file resource bundles.
+@@ -60,7 +59,7 @@
+   /**
+    * A logger for debug-messages.
+    */
+-  private static final Log logger = LogFactory.getLog(ResourceBundleSupport.class);
++  private static final Logger logger = Logger.getLogger(ResourceBundleSupport.class.getName());
+ 
+   /**
+    * The resource bundle that will be used for local lookups.
+@@ -259,7 +258,7 @@
+         }
+         catch (Exception e)
+         {
+-          logger.error("Error during global lookup", e);
++          logger.severe("Error during global lookup: " + e);
+           throw new MissingResourceException("Error during global lookup", getResourceBase(), key);
+         }
+       }
+@@ -643,7 +642,7 @@
+     final URL in = ObjectUtilities.getResource(name, ResourceBundleSupport.class);
+     if (in == null)
+     {
+-      logger.warn("Unable to find file in the class path: " + name + "; key=" + key);
++      logger.warning("Unable to find file in the class path: " + name + "; key=" + key);
+     }
+     return in;
+   }
+@@ -668,13 +667,13 @@
+ 
+     if (in == null)
+     {
+-      logger.warn("Unable to find file in the class path: " + resourceName);
++      logger.warning("Unable to find file in the class path: " + resourceName);
+       return new ImageIcon(createTransparentImage(1, 1));
+     }
+     final Image img = Toolkit.getDefaultToolkit().createImage(in);
+     if (img == null)
+     {
+-      logger.warn("Unable to instantiate the image: " + resourceName);
++      logger.warning("Unable to instantiate the image: " + resourceName);
+       return new ImageIcon(createTransparentImage(1, 1));
+     }
+     if (scale)
+@@ -808,7 +808,7 @@
+     }
+     catch (MissingResourceException mre)
+     {
+-      logger.warn ("ResourceBundleSupport#getString(,,)", mre);
++      logger.warning ("ResourceBundleSupport#getString(,,): " + mre);
+       return '!' + key + '!';
+     }
+   }
+@@ -821,7 +821,7 @@
+     }
+     catch (MissingResourceException mre)
+     {
+-      logger.warn ("ResourceBundleSupport#getString(,,)", mre);
++      logger.warning ("ResourceBundleSupport#getString(,,): " + mre);
+       return '!' + key + '!';
+     }
+   }
+@@ -836,7 +836,7 @@
+     }
+     catch (MissingResourceException mre)
+     {
+-      logger.warn ("ResourceBundleSupport#getString(,,)", mre);
++      logger.warning ("ResourceBundleSupport#getString(,,): " + mre);
+       return '!' + key + '!';
+     }
+   }
+@@ -852,7 +852,7 @@
+     }
+     catch (MissingResourceException mre)
+     {
+-      logger.warn ("ResourceBundleSupport#getString(,,)", mre);
++      logger.warning ("ResourceBundleSupport#getString(,,): " + mre);
+       return '!' + key + '!';
+     }
+   }
+diff -ru libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/WaitingImageObserver.java libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/WaitingImageObserver.java
+--- libbase-1.1.3.orig/source/org/pentaho/reporting/libraries/base/util/WaitingImageObserver.java	2009-11-16 10:14:12.000000000 +0000
++++ libbase-1.1.3/source/org/pentaho/reporting/libraries/base/util/WaitingImageObserver.java	2021-02-23 12:30:28.223630238 +0000
+@@ -22,8 +22,7 @@
+ import java.awt.image.BufferedImage;
+ import java.awt.image.ImageObserver;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * This image observer blocks until the image is completely loaded. AWT defers the loading of images until they are
+@@ -37,7 +36,7 @@
+ public class WaitingImageObserver implements ImageObserver
+ {
+   /** A logger. */
+-  private static final Log LOGGER = LogFactory.getLog(WaitingImageObserver.class);
++  private static final Logger LOGGER = Logger.getLogger(WaitingImageObserver.class.getName());
+ 
+   /**
+    * For serialization.
+@@ -149,7 +148,7 @@
+       }
+       catch (InterruptedException e)
+       {
+-        LOGGER.info("WaitingImageObserver.waitImageLoaded(): InterruptedException thrown", e);
++        LOGGER.info("WaitingImageObserver.waitImageLoaded(): InterruptedException thrown: " + e);
+       }
+ 
+       if (maxLoadTime > 0 && lastUpdate < (System.currentTimeMillis() - maxLoadTime))
+@@ -172,4 +171,4 @@
+   {
+     return this.error;
+   }
+-}
+\ No newline at end of file
++}
+--- a/source/org/pentaho/reporting/libraries/base/util/IOUtils.java
++++ b/source/org/pentaho/reporting/libraries/base/util/IOUtils.java
+@@ -34,8 +34,7 @@
+ import java.sql.Clob;
+ import java.sql.SQLException;
+ 
+-import org.apache.commons.logging.LogFactory;
+-import org.apache.commons.logging.Log;
++import java.util.logging.Logger;
+ 
+ /**
+  * The IOUtils provide some IO related helper methods.
+@@ -48,7 +47,7 @@
+    * the singleton instance of the utility package.
+    */
+   private static IOUtils instance;
+-  private static final Log logger = LogFactory.getLog(IOUtils.class);
++  private static final Logger logger = Logger.getLogger(IOUtils.class.getName());
+   /**
+    * DefaultConstructor.
+    */
+@@ -855,7 +854,7 @@
+       final long length = clob.length();
+       if (length > Integer.MAX_VALUE)
+       {
+-        logger.warn ("This CLOB contains more than 2^31 characters. We cannot handle that.");
++        logger.warning ("This CLOB contains more than 2^31 characters. We cannot handle that.");
+         return null;
+       }
+ 
+@@ -867,7 +866,7 @@
+       }
+       catch (IOException e)
+       {
+-        logger.warn ("Copying the stream failed.", e);
++        logger.warning ("Copying the stream failed: " + e);
+       }
+       try
+       {
+@@ -875,7 +874,7 @@
+       }
+       catch (IOException e)
+       {
+-        logger.warn ("Failed to close input stream. No worries, we will be alright anyway.", e);
++        logger.warning ("Failed to close input stream. No worries, we will be alright anyway: " + e);
+       }
+       return outStream.toString();
+     }
+@@ -898,7 +897,7 @@
+     final long length = clob.length();
+     if (length > Integer.MAX_VALUE)
+     {
+-      logger.warn ("This CLOB contains more than 2^31 characters. We cannot handle that.");
++      logger.warning ("This CLOB contains more than 2^31 characters. We cannot handle that.");
+       return null;
+     }
+ 
+@@ -910,7 +909,7 @@
+     }
+     catch (IOException e)
+     {
+-      logger.warn ("Copying the stream failed.", e);
++      logger.warning ("Copying the stream failed: " + e);
+     }
+     try
+     {
+@@ -918,7 +917,7 @@
+     }
+     catch (IOException e)
+     {
+-      logger.warn ("Failed to close input stream. No worries, we will be alright anyway.", e);
++      logger.warning ("Failed to close input stream. No worries, we will be alright anyway: " + e);
+     }
+     return outStream.toByteArray();
+   }
diff --git a/external/jfreereport/patches/libfonts-1.1.3-remove-commons-logging.patch.1 b/external/jfreereport/patches/libfonts-1.1.3-remove-commons-logging.patch.1
new file mode 100644
index 000000000000..723a732a593a
--- /dev/null
+++ b/external/jfreereport/patches/libfonts-1.1.3-remove-commons-logging.patch.1
@@ -0,0 +1,506 @@
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/afm/AfmFontRegistry.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/afm/AfmFontRegistry.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/afm/AfmFontRegistry.java	2021-03-12 10:15:06.215353433 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/afm/AfmFontRegistry.java	2021-03-12 10:26:44.036236575 +0000
+@@ -37,8 +37,7 @@
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.base.util.StringUtils;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 21.07.2007, 20:14:05
+@@ -47,7 +46,8 @@
+  */
+ public class AfmFontRegistry extends AbstractFontFileRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(AfmFontRegistry.class);
++  private static final Logger logger = Logger.getLogger(AfmFontRegistry.class.getName());
++
+   /**
+    * The font path filter is used to collect font files and directories during
+    * the font path registration.
+@@ -133,7 +133,7 @@
+         filePfb.isFile() == false ||
+         filePfb.canRead() == false)
+     {
+-      logger.warn("Cannot embedd font: " + filePfb + " is missing for " + font);
++      logger.warning("Cannot embedd font: " + filePfb + " is missing for " + font);
+       embedded = false;
+     }
+ 
+@@ -264,11 +264,11 @@
+     catch (final ClassNotFoundException cnfe)
+     {
+       // ignore the exception.
+-      logger.debug("Failed to restore the cache: Cache was created by a different version of LibFonts");
++      logger.config("Failed to restore the cache: Cache was created by a different version of LibFonts");
+     }
+     catch (Exception e)
+     {
+-      logger.debug("Failed to restore the cache:", e);
++      logger.config("Failed to restore the cache: " + e);
+     }
+   }
+ 
+@@ -311,14 +311,14 @@
+         catch (IOException e)
+         {
+           // ignore ..
+-          logger.debug("Failed to store cached font data", e);
++          logger.config("Failed to store cached font data: " + e);
+         }
+       }
+     }
+     catch (IOException e)
+     {
+       // should not happen
+-      logger.debug("Failed to store cached font data", e);
++      logger.config("Failed to store cached font data: " + e);
+     }
+   }
+ }
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/encoding/EncodingRegistry.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/encoding/EncodingRegistry.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/encoding/EncodingRegistry.java	2021-03-12 10:15:06.228353587 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/encoding/EncodingRegistry.java	2021-03-12 10:27:11.614524616 +0000
+@@ -31,8 +31,7 @@
+ import org.pentaho.reporting.libraries.resourceloader.factory.property.PropertiesResourceFactory;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * A global registry for all supported encodings. This offers the option to fall
+@@ -42,7 +41,7 @@
+  */
+ public final class EncodingRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(EncodingRegistry.class);
++  private static final Logger logger = Logger.getLogger(EncodingRegistry.class.getName());
+ 
+   /**
+    * Implementation doc: This class uses several sources to load the encodings.
+@@ -266,7 +265,7 @@
+       catch (Exception e)
+       {
+         // fall back ...
+-        logger.warn("Failed to create external-encoding instance for key " + key, e);
++        logger.warning("Failed to create external-encoding instance for key " + key + " : " + e);
+       }
+     }
+     if (isEncodingSupportedJVM(name))
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/encoding/generator/EncodingGenerator.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/encoding/generator/EncodingGenerator.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/encoding/generator/EncodingGenerator.java	2021-03-12 10:15:06.218353469 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/encoding/generator/EncodingGenerator.java	2021-03-12 10:27:47.015894357 +0000
+@@ -35,8 +35,7 @@
+ import org.pentaho.reporting.libraries.fonts.encoding.External8BitEncodingData;
+ import org.pentaho.reporting.libraries.base.config.DefaultConfiguration;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * A simple sourcecode generator.
+@@ -45,7 +44,7 @@
+  */
+ public class EncodingGenerator
+ {
+-  private static final Log logger = LogFactory.getLog(EncodingGenerator.class);
++  private static final Logger logger = Logger.getLogger(EncodingGenerator.class.getName());
+ 
+   private File targetDirectory;
+   private DefaultConfiguration propertySet;
+@@ -200,7 +199,7 @@
+       }
+       catch(Exception e)
+       {
+-        logger.warn ("Failed to generate Encoding " + key, e);
++        logger.warning("Failed to generate Encoding " + key + " : " + e);
+       }
+     }
+   }
+@@ -269,7 +268,7 @@
+       }
+       catch(Exception e)
+       {
+-        logger.warn ("Failed to generate Encoding " + key, e);
++        logger.warning("Failed to generate Encoding " + key + " : " + e);
+       }
+     }
+ 
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/pfm/PfmFontRegistry.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/pfm/PfmFontRegistry.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/pfm/PfmFontRegistry.java	2021-03-12 10:15:06.217353457 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/pfm/PfmFontRegistry.java	2021-03-12 10:28:33.904384084 +0000
+@@ -37,8 +37,7 @@
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.base.util.StringUtils;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 21.07.2007, 16:58:06
+@@ -47,7 +46,7 @@
+  */
+ public class PfmFontRegistry extends AbstractFontFileRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(PfmFontRegistry.class);
++  private static final Logger logger = Logger.getLogger(PfmFontRegistry.class.getName());
+ 
+   /**
+    * The font path filter is used to collect font files and directories during
+@@ -146,7 +145,7 @@
+         filePfb.isFile() == false ||
+         filePfb.canRead() == false)
+     {
+-      logger.warn("Cannot embedd font: " + filePfb + " is missing for " + font);
++      logger.warning("Cannot embedd font: " + filePfb + " is missing for " + font);
+       embedded = false;
+     }
+ 
+@@ -155,7 +154,7 @@
+     {
+       if (pfmFont.isItextCompatible() == false)
+       {
+-        logger.warn("Cannot embedd font: pfb-file for " + font + " is not valid (according to iText).");
++        logger.warning("Cannot embedd font: pfb-file for " + font + " is not valid (according to iText).");
+       }
+     }
+     registerFont (pfmFont);
+@@ -283,7 +282,7 @@
+     }
+     catch (Exception e)
+     {
+-      logger.debug("Failed to restore the cache:", e);
++      logger.config("Failed to restore the cache: " + e);
+     }
+   }
+ 
+@@ -326,14 +325,14 @@
+         catch (IOException e)
+         {
+           // ignore ..
+-          logger.debug("Failed to store cached font data", e);
++          logger.config("Failed to store cached font data: " + e);
+         }
+       }
+     }
+     catch (IOException e)
+     {
+       // should not happen
+-      logger.debug("Failed to store cached font data", e);
++      logger.config("Failed to store cached font data: " + e);
+     }
+   }
+ }
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/registry/AbstractFontFileRegistry.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/registry/AbstractFontFileRegistry.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/registry/AbstractFontFileRegistry.java	2021-03-12 10:15:06.229353599 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/registry/AbstractFontFileRegistry.java	2021-03-12 10:25:43.831607771 +0000
+@@ -25,8 +25,7 @@
+ import java.util.Iterator;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.fonts.LibFontBoot;
+ import org.pentaho.reporting.libraries.fonts.encoding.EncodingRegistry;
+ import org.pentaho.reporting.libraries.base.util.StringUtils;
+@@ -39,7 +38,7 @@
+  */
+ public abstract class AbstractFontFileRegistry implements FontRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(AbstractFontFileRegistry.class);
++  private static final Logger logger = Logger.getLogger(AbstractFontFileRegistry.class.getName());
+ 
+   private HashMap seenFiles;
+ 
+@@ -74,7 +73,7 @@
+       }
+       catch (Exception e)
+       {
+-        logger.warn("Extra font path " + extraDir + " could not be fully registered.", e);
++        logger.warning("Extra font path " + extraDir + " could not be fully registered: " + e);
+       }
+     }
+   }
+@@ -98,13 +97,13 @@
+     final String jrepath = safeSystemGetProperty("java.home", ".");
+     final String fs = safeSystemGetProperty("file.separator", File.separator);
+ 
+-    logger.debug("Running on operating system: " + osname);
+-    logger.debug("Character encoding used as default: " + encoding);
++    logger.config("Running on operating system: " + osname);
++    logger.config("Character encoding used as default: " + encoding);
+ 
+     if (safeSystemGetProperty("mrj.version", null) != null)
+     {
+       final String userhome = safeSystemGetProperty("user.home", ".");
+-      logger.debug("Detected MacOS (Property 'mrj.version' is present.");
++      logger.config("Detected MacOS (Property 'mrj.version' is present.");
+       registerFontPath(new File(userhome + "/Library/Fonts"), encoding);
+       registerFontPath(new File("/Library/Fonts"), encoding);
+       registerFontPath(new File("/Network/Library/Fonts"), encoding);
+@@ -116,7 +115,7 @@
+     }
+     else
+     {
+-      logger.debug("Assuming unix like file structures");
++      logger.config("Assuming unix like file structures");
+       // Assume X11 is installed in the default location.
+       registerFontPath(new File("/usr/X11R6/lib/X11/fonts"), encoding);
+       registerFontPath(new File("/usr/share/fonts"), encoding);
+@@ -145,7 +144,7 @@
+    */
+   private void registerWindowsFontPath(final String encoding)
+   {
+-    logger.debug("Found 'Windows' in the OS name, assuming DOS/Win32 structures");
++    logger.config("Found 'Windows' in the OS name, assuming DOS/Win32 structures");
+     // Assume windows
+     // If you are not using windows, ignore this. This just checks if a windows system
+     // directory exist and includes a font dir.
+@@ -182,7 +181,7 @@
+         }
+       }
+     }
+-    logger.debug("Fonts located in \"" + fontPath + '\"');
++    logger.config("Fonts located in \"" + fontPath + '\"');
+     if (fontPath != null)
+     {
+       final File file = new File(fontPath);
+@@ -272,7 +271,7 @@
+       }
+       catch (Exception e)
+       {
+-        logger.warn("Font " + file + " is invalid. Message:" + e.getMessage(), e);
++        logger.warning("Font " + file + " is invalid. Message: " + e);
+       }
+     }
+   }
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/text/GraphemeClassifier.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/text/GraphemeClassifier.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/text/GraphemeClassifier.java	2021-03-12 10:15:06.205353315 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/text/GraphemeClassifier.java	2021-03-12 10:29:03.600694237 +0000
+@@ -22,8 +22,7 @@
+ import java.io.IOException;
+ 
+ import org.pentaho.reporting.libraries.fonts.tools.ByteTable;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 11.06.2006, 17:11:16
+@@ -32,7 +31,7 @@
+  */
+ public final class GraphemeClassifier
+ {
+-  private static final Log logger = LogFactory.getLog(GraphemeClassifier.class);
++  private static final Logger logger = Logger.getLogger(GraphemeClassifier.class.getName());
+ 
+   public static final int OTHER = 0;
+ 
+@@ -70,7 +69,7 @@
+       }
+       catch(Exception e)
+       {
+-        logger.warn ("Unable to load the pre-generated classification data.", e);
++        logger.warning("Unable to load the pre-generated classification data: " + e);
+       }
+       finally
+       {
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFont.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFont.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFont.java	2021-03-12 10:15:06.214353421 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFont.java	2021-03-12 10:29:19.746862875 +0000
+@@ -24,8 +24,7 @@
+ import org.pentaho.reporting.libraries.fonts.ByteAccessUtilities;
+ import org.pentaho.reporting.libraries.fonts.io.FileFontDataInputSource;
+ import org.pentaho.reporting.libraries.fonts.io.FontDataInputSource;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 06.11.2005, 18:27:21
+@@ -34,7 +33,7 @@
+  */
+ public class TrueTypeFont
+ {
+-  private static final Log logger = LogFactory.getLog(TrueTypeFont.class);
++  private static final Logger logger = Logger.getLogger(TrueTypeFont.class.getName());
+ 
+   private static class TrueTypeFontHeader
+   {
+@@ -327,7 +326,7 @@
+               (FontHeaderTable) getTable(FontHeaderTable.TABLE_ID);
+       if (header == null)
+       {
+-        logger.warn("The font '" + filename + "' does not have a 'head' table. The font file is not valid.");
++        logger.warning("The font '" + filename + "' does not have a 'head' table. The font file is not valid.");
+         return null;
+       }
+       final byte[] buffer =
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontMetricsFactory.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontMetricsFactory.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontMetricsFactory.java	2021-03-12 10:15:06.213353409 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontMetricsFactory.java	2021-03-12 10:29:38.442058137 +0000
+@@ -21,8 +21,7 @@
+ import java.io.IOException;
+ import java.util.HashMap;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.fonts.io.FileFontDataInputSource;
+ import org.pentaho.reporting.libraries.fonts.io.FontDataInputSource;
+ import org.pentaho.reporting.libraries.fonts.registry.FontContext;
+@@ -38,7 +37,7 @@
+  */
+ public class TrueTypeFontMetricsFactory implements FontMetricsFactory
+ {
+-  private static final Log logger = LogFactory.getLog(TrueTypeFontMetricsFactory.class);
++  private static final Logger logger = Logger.getLogger(TrueTypeFontMetricsFactory.class.getName());
+   private HashMap fontRecords;
+ 
+   public TrueTypeFontMetricsFactory()
+@@ -77,7 +76,7 @@
+     }
+     catch (IOException e)
+     {
+-      logger.warn("Unable to read the font.", e);
++      logger.warning("Unable to read the font: " + e);
+       // todo: We should throw a better exception instead, shouldnt we?
+       throw new IllegalStateException();
+     }
+diff -ru libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontRegistry.java libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontRegistry.java
+--- libfonts-1.1.3.orig/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontRegistry.java	2021-03-12 10:15:06.214353421 +0000
++++ libfonts-1.1.3/source/org/pentaho/reporting/libraries/fonts/truetype/TrueTypeFontRegistry.java	2021-03-12 10:31:15.504071887 +0000
+@@ -28,8 +28,7 @@
+ import java.io.Serializable;
+ import java.util.HashMap;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.fonts.FontException;
+ import org.pentaho.reporting.libraries.fonts.LibFontBoot;
+ import org.pentaho.reporting.libraries.fonts.cache.FontCache;
+@@ -61,7 +60,7 @@
+     return secondLevelCache;
+   }
+ 
+-  private static final Log logger = LogFactory.getLog(TrueTypeFontRegistry.class);
++  private static final Logger logger = Logger.getLogger(TrueTypeFontRegistry.class.getName());
+ 
+   /**
+    * The font path filter is used to collect font files and directories during the font path registration.
+@@ -180,7 +179,7 @@
+     }
+     catch (Exception e)
+     {
+-      logger.info("Unable to register font file " + file, e);
++      logger.info("Unable to register font file " + file + " : " + e);
+       // An error must not stop us on our holy mission to find and register
+       // all fonts :)
+       return false;
+@@ -206,7 +205,7 @@
+     }
+     catch (FontException e)
+     {
+-      logger.info("The font '" + font.getFilename() + "' is invalid.", e);
++      logger.info("The font '" + font.getFilename() + "' is invalid: " + e);
+       return;
+     }
+ 
+@@ -347,11 +346,11 @@
+     catch (final ClassNotFoundException cnfe)
+     {
+       // ignore the exception.
+-      logger.debug("Failed to restore the cache: Cache was created by a different version of LibFonts");
++      logger.config("Failed to restore the cache: Cache was created by a different version of LibFonts");
+     }
+     catch (Exception e)
+     {
+-      logger.debug("Non-Fatal: Failed to restore the cache. The cache will be rebuilt.", e);
++      logger.config("Non-Fatal: Failed to restore the cache. The cache will be rebuilt: " + e);
+     }
+   }
+ 
+@@ -394,14 +393,14 @@
+         catch (IOException e)
+         {
+           // ignore ..
+-          logger.debug("Failed to store cached font data", e);
++          logger.config("Failed to store cached font data: " + e);
+         }
+       }
+     }
+     catch (IOException e)
+     {
+       // should not happen
+-      logger.debug("Failed to store cached font data", e);
++      logger.config("Failed to store cached font data: " + e);
+     }
+   }
+ }
+--- a/source/org/pentaho/reporting/libraries/fonts/itext/BaseFontSupport.java
++++ b/source/org/pentaho/reporting/libraries/fonts/itext/BaseFontSupport.java
+@@ -34,8 +34,8 @@
+ import org.pentaho.reporting.libraries.fonts.merge.CompoundFontRecord;
+ import org.pentaho.reporting.libraries.base.config.ExtendedConfiguration;
+ import org.pentaho.reporting.libraries.base.util.StringUtils;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ 
+ /**
+  * iText font support.
+@@ -44,7 +44,7 @@
+  */
+ public class BaseFontSupport implements FontMapper
+ {
+-  private static final Log logger = LogFactory.getLog(BaseFontSupport.class);
++  private static final Logger logger = Logger.getLogger(BaseFontSupport.class.getName());
+   /**
+    * Storage for BaseFont objects created.
+    */
+@@ -235,7 +235,7 @@
+             final FontSource source = (FontSource) registryFontRecord;
+             if (source.isEmbeddable() == false)
+             {
+-              logger.warn("License of font forbids embedded usage for font: " + fontKey);
++              logger.warning("License of font forbids embedded usage for font: " + fontKey);
+               // strict mode here?
+               embeddedOverride = false;
+             }
+@@ -286,13 +286,13 @@
+     }
+     catch (Exception e)
+     {
+-      if (logger.isDebugEnabled())
++      if (logger.isLoggable(Level.CONFIG))
+       {
+-        logger.debug("BaseFont.createFont failed. Key = " + fontKey + ": " + e.getMessage(), e);
++        logger.config("BaseFont.createFont failed. Key = " + fontKey + ": " + e);
+       }
+-      else if (logger.isWarnEnabled())
++      else if (logger.isLoggable(Level.WARNING))
+       {
+-        logger.warn("BaseFont.createFont failed. Key = " + fontKey + ": " + e.getMessage());
++        logger.warning("BaseFont.createFont failed. Key = " + fontKey + ": " + e.getMessage());
+       }
+     }
+     // fallback .. use BaseFont.HELVETICA as default
+@@ -322,7 +322,7 @@
+     }
+     catch (Exception e)
+     {
+-      logger.warn("BaseFont.createFont for FALLBACK failed.", e);
++      logger.warning("BaseFont.createFont for FALLBACK failed: " + e);
+       throw new BaseFontCreateException("Null font = " + fontKey);
+     }
+     throw new BaseFontCreateException("BaseFont creation failed, null font: " + fontKey);
diff --git a/external/jfreereport/patches/libformula-1.1.3-remove-commons-logging.patch.1 b/external/jfreereport/patches/libformula-1.1.3-remove-commons-logging.patch.1
new file mode 100644
index 000000000000..5a578cf56d08
--- /dev/null
+++ b/external/jfreereport/patches/libformula-1.1.3-remove-commons-logging.patch.1
@@ -0,0 +1,266 @@
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/Formula.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/Formula.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/Formula.java	2021-02-23 14:41:06.962127389 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/Formula.java	2021-02-23 14:48:18.016328356 +0000
+@@ -19,8 +19,7 @@
+ 
+ import java.io.Serializable;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.formula.lvalues.LValue;
+ import org.pentaho.reporting.libraries.formula.lvalues.TypeValuePair;
+ import org.pentaho.reporting.libraries.formula.parser.FormulaParseException;
+@@ -40,7 +39,7 @@
+  */
+ public class Formula implements Serializable, Cloneable
+ {
+-  private static final Log logger = LogFactory.getLog(Formula.class);
++  private static final Logger logger = Logger.getLogger(Formula.class.getName());
+   private LValue rootReference;
+   private static final long serialVersionUID = -1176925812499923546L;
+ 
+@@ -105,7 +104,7 @@
+       final Type type = typeValuePair.getType();
+       if (type.isFlagSet(Type.ERROR_TYPE))
+       {
+-        logger.debug("Error: " + typeValuePair.getValue());
++        logger.config("Error: " + typeValuePair.getValue());
+       }
+       else if (type.isFlagSet(Type.ARRAY_TYPE))
+       {
+@@ -131,7 +130,7 @@
+     }
+     catch (Exception e)
+     {
+-      logger.warn("Evaluation failed unexpectedly: ", e);
++      logger.warning("Evaluation failed unexpectedly: " + e);
+       return new TypeValuePair(ErrorType.TYPE, LibFormulaErrorValue.ERROR_UNEXPECTED_VALUE);
+     }
+   }
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/DefaultFunctionRegistry.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/DefaultFunctionRegistry.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/DefaultFunctionRegistry.java	2021-02-23 14:41:06.980127564 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/DefaultFunctionRegistry.java	2021-02-23 14:48:29.995445103 +0000
+@@ -25,9 +25,7 @@
+ import org.pentaho.reporting.libraries.base.util.HashNMap;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
+-
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 02.11.2006, 12:48:32
+@@ -36,7 +34,7 @@
+  */
+ public class DefaultFunctionRegistry implements FunctionRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(DefaultFunctionRegistry.class);
++  private static final Logger logger = Logger.getLogger(DefaultFunctionRegistry.class.getName());
+   
+   private static final String FUNCTIONS_PREFIX = "org.pentaho.reporting.libraries.formula.functions.";
+   private static final String[] EMPTY_ARRAY = new String[0];
+@@ -72,7 +70,7 @@
+       final Function function = createFunction(aName);
+       if (function == null)
+       {
+-        logger.debug ("There is no such function: " + aName);
++        logger.config ("There is no such function: " + aName);
+       }
+       else
+       {
+@@ -132,7 +130,7 @@
+         (functionClass, DefaultFunctionRegistry.class, Function.class);
+     if (function == null)
+     {
+-      logger.debug ("There is no such function: " + name);
++      logger.config ("There is no such function: " + name);
+     }
+     else
+     {
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/information/IsErrFunction.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/information/IsErrFunction.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/information/IsErrFunction.java	2021-02-23 14:41:06.983127594 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/information/IsErrFunction.java	2021-02-23 14:48:54.904687864 +0000
+@@ -27,8 +27,7 @@
+ import org.pentaho.reporting.libraries.formula.typing.Type;
+ import org.pentaho.reporting.libraries.formula.typing.coretypes.ErrorType;
+ import org.pentaho.reporting.libraries.formula.typing.coretypes.LogicalType;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * This function returns true if the parameter is of error and not of error type NA.
+@@ -37,7 +36,7 @@
+  */
+ public class IsErrFunction implements Function
+ {
+-  private static final Log logger = LogFactory.getLog(IsErrFunction.class); 
++  private static final Logger logger = Logger.getLogger(IsErrFunction.class.getName());
+   private static final TypeValuePair RETURN_TRUE = new TypeValuePair(LogicalType.TYPE, Boolean.TRUE);
+   private static final TypeValuePair RETURN_FALSE = new TypeValuePair(LogicalType.TYPE, Boolean.FALSE);
+   private static final long serialVersionUID = 6749192734608313367L;
+@@ -61,7 +60,7 @@
+ 
+       if (ErrorType.TYPE.equals(type) && value instanceof ErrorValue)
+       {
+-        logger.warn ("Passing errors around is deprecated. Throw exceptions instead.");
++        logger.warning("Passing errors around is deprecated. Throw exceptions instead.");
+         final ErrorValue na = (ErrorValue) value;
+         if (na.getErrorCode() == LibFormulaErrorValue.ERROR_NA)
+         {
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/information/IsNaFunction.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/information/IsNaFunction.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/function/information/IsNaFunction.java	2021-02-23 14:41:06.984127603 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/function/information/IsNaFunction.java	2021-02-23 14:49:05.917795194 +0000
+@@ -27,8 +27,7 @@
+ import org.pentaho.reporting.libraries.formula.typing.Type;
+ import org.pentaho.reporting.libraries.formula.typing.coretypes.ErrorType;
+ import org.pentaho.reporting.libraries.formula.typing.coretypes.LogicalType;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * This function returns true if the parameter is of error type NA.
+@@ -39,7 +38,7 @@
+ {
+   private static final TypeValuePair RETURN_FALSE = new TypeValuePair(LogicalType.TYPE, Boolean.FALSE);
+   private static final TypeValuePair RETURN_TRUE = new TypeValuePair(LogicalType.TYPE, Boolean.TRUE);
+-  private static final Log logger = LogFactory.getLog(IsNaFunction.class);
++  private static final Logger logger = Logger.getLogger(IsNaFunction.class.getName());
+   private static final long serialVersionUID = 1205462839536368718L;
+ 
+   public IsNaFunction()
+@@ -61,7 +60,7 @@
+ 
+       if (ErrorType.TYPE.equals(type) && value instanceof ErrorValue)
+       {
+-        logger.warn ("Passing errors around is deprecated. Throw exceptions instead.");
++        logger.warning("Passing errors around is deprecated. Throw exceptions instead.");
+         final ErrorValue na = (ErrorValue) value;
+         if (na.getErrorCode() == LibFormulaErrorValue.ERROR_NA)
+         {
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/lvalues/FormulaFunction.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/lvalues/FormulaFunction.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/lvalues/FormulaFunction.java	2021-02-23 14:41:06.988127642 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/lvalues/FormulaFunction.java	2021-02-23 14:50:26.354579111 +0000
+@@ -17,8 +17,8 @@
+ 
+ package org.pentaho.reporting.libraries.formula.lvalues;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.formula.EvaluationException;
+ import org.pentaho.reporting.libraries.formula.FormulaContext;
+ import org.pentaho.reporting.libraries.formula.LibFormulaErrorValue;
+@@ -44,7 +44,7 @@
+  */
+ public class FormulaFunction extends AbstractLValue
+ {
+-  private static final Log logger = LogFactory.getLog(FormulaFunction.class);
++  private static final Logger logger = Logger.getLogger(FormulaFunction.class.getName());
+ 
+   private static class FormulaParameterCallback implements ParameterCallback
+   {
+@@ -74,9 +74,9 @@
+         final TypeValuePair converted = typeRegistry.convertTo(paramType, result);
+         if (converted == null)
+         {
+-          if (logger.isDebugEnabled())
++          if (logger.isLoggable(Level.CONFIG))
+           {
+-            logger.debug("Failed to evaluate parameter " + pos + " on function " + function);
++            logger.config("Failed to evaluate parameter " + pos + " on function " + function);
+           }
+           throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_INVALID_AUTO_ARGUMENT_VALUE);
+         }
+@@ -228,7 +228,7 @@
+     }
+     catch (Exception e)
+     {
+-      logger.error("Unexpected exception while evaluating", e);
++      logger.severe("Unexpected exception while evaluating: " + e);
+       throw EvaluationException.getInstance(LibFormulaErrorValue.ERROR_UNEXPECTED_VALUE);
+     }
+   }
+diff -ru libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/typing/DefaultTypeRegistry.java libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/typing/DefaultTypeRegistry.java
+--- libformula-1.1.3.orig/source/org/pentaho/reporting/libraries/formula/typing/DefaultTypeRegistry.java	2021-02-23 14:41:06.961127380 +0000
++++ libformula-1.1.3/source/org/pentaho/reporting/libraries/formula/typing/DefaultTypeRegistry.java	2021-02-23 14:47:11.376678905 +0000
+@@ -35,8 +35,7 @@
+ import java.util.List;
+ import java.util.Locale;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+ import org.pentaho.reporting.libraries.base.util.IOUtils;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+@@ -66,7 +65,7 @@
+  */
+ public class DefaultTypeRegistry implements TypeRegistry
+ {
+-  private static final Log logger = LogFactory.getLog(DefaultTypeRegistry.class);
++  private static final Logger logger = Logger.getLogger(DefaultTypeRegistry.class.getName());
+ 
+   private static class ArrayConverterCallback implements ArrayCallback
+   {
+@@ -599,7 +598,7 @@
+       }
+       else
+       {
+-        logger.warn("Assertation failure: Type declared to be a sequence, but no sequence found inside.");
++        logger.warning("Assertation failure: Type declared to be a sequence, but no sequence found inside.");
+         throw TypeConversionException.getInstance();
+       }
+     }
+@@ -612,7 +611,7 @@
+       }
+       else
+       {
+-        logger.warn("Assertation failure: Type declared to be array, but no array callback found inside.");
++        logger.warning("Assertation failure: Type declared to be array, but no array callback found inside.");
+         throw TypeConversionException.getInstance();
+       }
+     }
+@@ -651,7 +650,7 @@
+       }
+       else
+       {
+-        logger.warn("Assertation failure: Type declared to be array, but no array callback found inside.");
++        logger.warning("Assertation failure: Type declared to be array, but no array callback found inside.");
+         throw TypeConversionException.getInstance();
+       }
+     }
+--- a/source/org/pentaho/reporting/libraries/formula/function/logical/IfNaFunction.java
++++ b/source/org/pentaho/reporting/libraries/formula/function/logical/IfNaFunction.java
+@@ -17,8 +17,7 @@
+ 
+ package org.pentaho.reporting.libraries.formula.function.logical;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.formula.ErrorValue;
+ import org.pentaho.reporting.libraries.formula.EvaluationException;
+ import org.pentaho.reporting.libraries.formula.FormulaContext;
+@@ -37,7 +36,7 @@
+  */
+ public class IfNaFunction implements Function
+ {
+-  private static final Log logger = LogFactory.getLog(IfNaFunction.class);
++  private static final Logger logger = Logger.getLogger(IfNaFunction.class.getName());
+   private static final long serialVersionUID = -7517668261071087411L;
+ 
+   public IfNaFunction()
+@@ -67,7 +66,7 @@
+       value = parameters.getValue(0);
+       if (ErrorType.TYPE.equals(type) && value instanceof ErrorValue)
+       {
+-        logger.warn("Passing errors around is deprecated. Throw exceptions instead.");
++        logger.warning("Passing errors around is deprecated. Throw exceptions instead.");
+         final ErrorValue na = (ErrorValue) value;
+         if (na.getErrorCode() == LibFormulaErrorValue.ERROR_NA)
+         {
diff --git a/external/jfreereport/patches/libloader-1.1.3-remove-commons-logging.patch.1 b/external/jfreereport/patches/libloader-1.1.3-remove-commons-logging.patch.1
new file mode 100644
index 000000000000..fad07d59ded8
--- /dev/null
+++ b/external/jfreereport/patches/libloader-1.1.3-remove-commons-logging.patch.1
@@ -0,0 +1,635 @@
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/DefaultResourceManagerBackend.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/DefaultResourceManagerBackend.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/DefaultResourceManagerBackend.java	2021-04-07 10:55:58.343147414 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/DefaultResourceManagerBackend.java	2021-04-07 11:08:48.389599751 +0100
+@@ -22,8 +22,8 @@
+ import java.util.Iterator;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.config.Configuration;
+ import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
+ 
+@@ -34,7 +34,7 @@
+  */
+ public class DefaultResourceManagerBackend implements ResourceManagerBackend
+ {
+-  private static final Log logger = LogFactory.getLog(DefaultResourceManagerBackend.class);
++  private static final Logger logger = Logger.getLogger(DefaultResourceManagerBackend.class.getName());
+ 
+   private ArrayList resourceLoaders;
+   private ArrayList resourceBundleLoaders;
+@@ -280,9 +280,9 @@
+         {
+           // ignore it, try the next factory ...
+           exception = rex;
+-          if (logger.isDebugEnabled())
++          if (logger.isLoggable(Level.CONFIG))
+           {
+-            logger.debug("Failed at " + fact.getClass() + ": ", rex);
++            logger.config("Failed at " + fact.getClass() + ": " + rex);
+           }
+         }
+       }
+@@ -413,7 +413,7 @@
+     {
+       throw new UnrecognizedLoaderException("Invalid key: No resource-loader registered for schema: " + key.getSchema());
+     }
+-    logger.debug("Loaded " + key);
++    logger.config("Loaded " + key);
+     return loader.load(key);
+   }
+ 
+@@ -451,7 +451,7 @@
+           ResourceLoader.class);
+       if (loader != null)
+       {
+-        //Log.debug("Registering loader for " + loader.getSchema());
++        //Log.config("Registering loader for " + loader.getSchema());
+         registerLoader(loader);
+       }
+     }
+@@ -465,7 +465,7 @@
+           ResourceManager.class, ResourceBundleLoader.class);
+       if (loader != null)
+       {
+-        //Log.debug("Registering loader for " + loader.getSchema());
++        //Log.config("Registering loader for " + loader.getSchema());
+         registerBundleLoader(loader);
+       }
+     }
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/factory/drawable/DrawableWrapper.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/factory/drawable/DrawableWrapper.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/factory/drawable/DrawableWrapper.java	2021-04-07 10:55:58.342147402 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/factory/drawable/DrawableWrapper.java	2021-04-07 11:05:40.206289803 +0100
+@@ -27,8 +27,8 @@
+ import java.util.Collections;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 05.12.2007, 19:15:56
+@@ -37,7 +37,7 @@
+  */
+ public class DrawableWrapper
+ {
+-  private static final Log logger = LogFactory.getLog(DrawableWrapper.class);
++  private static final Logger logger = Logger.getLogger(DrawableWrapper.class.getName());
+   private static final Map drawables = Collections.synchronizedMap(new HashMap());
+ 
+   private Object backend;
+@@ -67,9 +67,9 @@
+           Modifier.isAbstract(modifiers) ||
+           Modifier.isStatic(modifiers))
+       {
+-        if (logger.isWarnEnabled())
++        if (logger.isLoggable(Level.WARNING))
+         {
+-          logger.warn("DrawMethod is not valid: " + aClass + '#' + drawMethod);
++          logger.warning("DrawMethod is not valid: " + aClass + '#' + drawMethod);
+         }
+         drawMethod = null;
+       }
+@@ -77,9 +77,9 @@
+     catch (NoSuchMethodException e)
+     {
+       // ignore exception
+-      if (logger.isWarnEnabled())
++      if (logger.isLoggable(Level.WARNING))
+       {
+-        logger.warn("The object is not a drawable: " + aClass);
++        logger.warning("The object is not a drawable: " + aClass);
+       }
+       drawMethod = null;
+     }
+@@ -141,9 +141,9 @@
+     }
+     catch (Exception e)
+     {
+-      if (logger.isDebugEnabled())
++      if (logger.isLoggable(Level.CONFIG))
+       {
+-        logger.warn("Invoking draw failed:", e);
++        logger.warning("Invoking draw failed: " + e);
+       }
+     }
+   }
+@@ -167,9 +167,9 @@
+     }
+     catch (Exception e)
+     {
+-      if (logger.isWarnEnabled())
++      if (logger.isLoggable(Level.WARNING))
+       {
+-        logger.warn("Invoking getPreferredSize failed:", e);
++        logger.warning("Invoking getPreferredSize failed: " + e);
+       }
+       return null;
+     }
+@@ -193,9 +193,9 @@
+     }
+     catch (Exception e)
+     {
+-      if (logger.isWarnEnabled())
++      if (logger.isLoggable(Level.WARNING))
+       {
+-        logger.warn("Invoking isKeepAspectRatio failed:", e);
++        logger.warning("Invoking isKeepAspectRatio failed: " + e);
+       }
+       return false;
+     }
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/file/FileResourceLoader.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/file/FileResourceLoader.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/file/FileResourceLoader.java	2021-04-07 10:55:58.344147426 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/file/FileResourceLoader.java	2021-04-07 11:03:22.711602044 +0100
+@@ -24,8 +24,7 @@
+ import java.util.HashMap;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException;
+@@ -43,7 +42,7 @@
+ public class FileResourceLoader implements ResourceLoader
+ {
+   public static final String SCHEMA_NAME = FileResourceLoader.class.getName();
+-  private static final Log logger = LogFactory.getLog(FileResourceLoader.class);
++  private static final Logger logger = Logger.getLogger(FileResourceLoader.class.getName());
+ 
+   public FileResourceLoader()
+   {
+@@ -210,7 +209,7 @@
+     }
+ 
+     // Log information
+-    logger.debug("Serializing a File Resource Key...");
++    logger.config("Serializing a File Resource Key...");
+     if (key.getParent() != null)
+     {
+       throw new ResourceException
+@@ -224,7 +223,7 @@
+       final String strIdentifier = file.getCanonicalPath();
+       final String result = ResourceKeyUtils.createStringResourceKey
+           (key.getSchema().toString(), strIdentifier, key.getFactoryParameters());
+-      logger.debug("Serialized File Resource Key: [" + result + "]");
++      logger.config("Serialized File Resource Key: [" + result + "]");
+       return result;
+     }
+     catch (IOException ioe)
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/raw/RawResourceLoader.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/raw/RawResourceLoader.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/raw/RawResourceLoader.java	2021-04-07 10:55:58.343147414 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/raw/RawResourceLoader.java	2021-04-07 11:01:56.064538444 +0100
+@@ -21,8 +21,7 @@
+ import java.util.HashMap;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceException;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/resource/ClassloaderResourceLoader.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/resource/ClassloaderResourceLoader.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/resource/ClassloaderResourceLoader.java	2021-04-07 10:55:58.343147414 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/resource/ClassloaderResourceLoader.java	2021-04-07 11:03:14.370499656 +0100
+@@ -21,8 +21,7 @@
+ import java.util.Map;
+ import java.net.URL;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException;
+@@ -41,7 +40,7 @@
+ public class ClassloaderResourceLoader implements ResourceLoader
+ {
+   public static final String SCHEMA_NAME = ClassloaderResourceLoader.class.getName();
+-  private static final Log logger = LogFactory.getLog(ClassloaderResourceLoader.class);
++  private static final Logger logger = Logger.getLogger(ClassloaderResourceLoader.class.getName());
+ 
+   public ClassloaderResourceLoader()
+   {
+@@ -197,7 +196,7 @@
+     }
+ 
+     // Log information
+-    logger.debug("Serializing a Classloader Resource Key...");
++    logger.config("Serializing a Classloader Resource Key...");
+     if (key.getParent() != null)
+     {
+       throw new ResourceException
+@@ -207,7 +206,7 @@
+     // Serialize the key
+     final String result = ResourceKeyUtils.createStringResourceKey(key.getSchema().toString(),
+         (String) key.getIdentifier(), key.getFactoryParameters());
+-    logger.debug("Serialized Classloader Resource Key: [" + result + "]");
++    logger.config("Serialized Classloader Resource Key: [" + result + "]");
+     return result;
+   }
+ 
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/URLResourceLoader.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/URLResourceLoader.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/URLResourceLoader.java	2021-04-07 10:55:58.344147426 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/URLResourceLoader.java	2021-04-07 11:03:41.998838804 +0100
+@@ -22,8 +22,7 @@
+ import java.util.HashMap;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException;
+@@ -40,7 +39,7 @@
+ public class URLResourceLoader implements ResourceLoader
+ {
+   public static final String SCHEMA_NAME = URLResourceLoader.class.getName();
+-  private static final Log logger = LogFactory.getLog(URLResourceLoader.class);
++  private static final Logger logger = Logger.getLogger(URLResourceLoader.class.getName());
+ 
+   public URLResourceLoader()
+   {
+@@ -188,10 +187,10 @@
+     }
+ 
+     // Log information
+-    logger.debug("Serializing a Classloader Resource Key...");
++    logger.config("Serializing a Classloader Resource Key...");
+     if (key.getParent() != null)
+     {
+-      logger.warn("Serializing a Classloader Resource Key which contains a parent: key=[" + bundleKey + "] parent=["
++      logger.warning("Serializing a Classloader Resource Key which contains a parent: key=[" + bundleKey + "] parent=["
+           + key.getParent() + "]");
+     }
+ 
+@@ -199,7 +198,7 @@
+     final URL url = (URL) key.getIdentifier();
+     final String result = ResourceKeyUtils.createStringResourceKey
+         (key.getSchema().toString(), url.toExternalForm(), key.getFactoryParameters());
+-    logger.debug("Serialized Classloader Resource Key: [" + result + "]");
++    logger.config("Serialized Classloader Resource Key: [" + result + "]");
+     return result;
+   }
+ 
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/zip/ZipResourceLoader.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/zip/ZipResourceLoader.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/loader/zip/ZipResourceLoader.java	2021-04-07 10:55:58.344147426 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/loader/zip/ZipResourceLoader.java	2021-04-07 11:02:18.522814132 +0100
+@@ -21,8 +21,7 @@
+ import java.util.HashMap;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceData;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceException;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+@@ -40,7 +39,7 @@
+ public class ZipResourceLoader implements ResourceLoader
+ {
+   public static final String SCHEMA_NAME = ZipResourceLoader.class.getName();
+-  private static final Log logger = LogFactory.getLog(ZipResourceLoader.class);
++  private static final Logger logger = Logger.getLogger(ZipResourceLoader.class.getName());
+ 
+   public ZipResourceLoader()
+   {
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHCacheModule.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHCacheModule.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHCacheModule.java	2021-04-07 10:55:58.345147438 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHCacheModule.java	2021-04-07 10:58:52.758288370 +0100
+@@ -20,8 +20,7 @@
+ import org.pentaho.reporting.libraries.base.boot.AbstractModule;
+ import org.pentaho.reporting.libraries.base.boot.ModuleInitializeException;
+ import org.pentaho.reporting.libraries.base.boot.SubSystem;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Logger;
+ 
+ /**
+  * Creation-Date: 13.04.2006, 16:29:07
+@@ -30,7 +29,7 @@
+  */
+ public class EHCacheModule extends AbstractModule
+ {
+-  public static final Log CACHE_MONITOR = LogFactory.getLog(EHCacheModule.class.getName() + "#CacheLog"); 
++  public static final Logger CACHE_MONITOR = Logger.getLogger(EHCacheModule.class.getName() + "#CacheLog"); 
+ 
+   public EHCacheModule() throws ModuleInitializeException
+   {
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHResourceFactoryCache.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHResourceFactoryCache.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHResourceFactoryCache.java	2021-04-07 10:55:58.345147438 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/modules/cache/ehcache/EHResourceFactoryCache.java	2021-04-07 10:59:17.251589016 +0100
+@@ -20,8 +20,8 @@
+ import net.sf.ehcache.Cache;
+ import net.sf.ehcache.CacheException;
+ import net.sf.ehcache.Element;
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.resourceloader.Resource;
+ import org.pentaho.reporting.libraries.resourceloader.ResourceKey;
+ import org.pentaho.reporting.libraries.resourceloader.cache.ResourceFactoryCache;
+@@ -110,7 +109,7 @@
+     }
+   }
+ 
+-  private static final Log logger = LogFactory.getLog(EHResourceFactoryCache.class);
++  private static final Logger logger = Logger.getLogger(EHResourceFactoryCache.class.getName());
+   private Cache factoryCache;
+ 
+   public EHResourceFactoryCache(final Cache factoryCache)
+@@ -128,16 +128,16 @@
+       final Resource res = getInternal(key, target[i]);
+       if (res != null)
+       {
+-        if (EHCacheModule.CACHE_MONITOR.isDebugEnabled())
++        if (EHCacheModule.CACHE_MONITOR.isLoggable(Level.CONFIG))
+         {
+-          EHCacheModule.CACHE_MONITOR.debug("Res  Cache Hit  " + key);
++          EHCacheModule.CACHE_MONITOR.config("Res  Cache Hit  " + key);
+         }
+         return res;
+       }
+     }
+-    if (EHCacheModule.CACHE_MONITOR.isDebugEnabled())
++    if (EHCacheModule.CACHE_MONITOR.isLoggable(Level.CONFIG))
+     {
+-      EHCacheModule.CACHE_MONITOR.debug("Res  Cache Miss  " + key);
++      EHCacheModule.CACHE_MONITOR.config("Res  Cache Miss  " + key);
+     }
+     return null;
+   }
+@@ -168,9 +168,9 @@
+     }
+     catch (CacheException e)
+     {
+-      if (logger.isDebugEnabled())
++      if (logger.isLoggable(Level.CONFIG))
+       {
+-        logger.debug("Failed to retrieve resource for key " + key, e);
++        logger.config("Failed to retrieve resource for key " + key + ": " + e);
+       }
+       return null;
+     }
+@@ -185,9 +185,9 @@
+     }
+     catch (Exception e)
+     {
+-      if (logger.isDebugEnabled())
++      if (logger.isLoggable(Level.CONFIG))
+       {
+-        logger.debug("Failed to store resource for key " + source, e);
++        logger.config("Failed to store resource for key " + source + ": " + e);
+       }
+       // ignore ... the object is not serializable ..
+     }
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/ResourceKeyUtils.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/ResourceKeyUtils.java
+--- libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/ResourceKeyUtils.java	2021-04-07 10:55:58.342147402 +0100
++++ libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/ResourceKeyUtils.java	2021-04-07 11:06:27.248867251 +0100
+@@ -27,8 +27,8 @@
+ import java.util.Iterator;
+ import java.util.Map;
+ 
+-import org.apache.commons.logging.Log;
+-import org.apache.commons.logging.LogFactory;
++import java.util.logging.Level;
++import java.util.logging.Logger;
+ import org.pentaho.reporting.libraries.base.util.CSVQuoter;
+ import org.pentaho.reporting.libraries.base.util.CSVTokenizer;
+ import org.pentaho.reporting.libraries.base.util.IOUtils;
+@@ -42,7 +42,7 @@
+ {
+   private static final String DELIMITER = ";";
+   private static final String SERIALIZATION_PREFIX = "resourcekey:";
+-  private static final Log logger = LogFactory.getLog(ResourceManager.class);
++  private static final Logger logger = Logger.getLogger(ResourceManager.class.getName());
+ 
+   /**
+    * Returns a string representation of the ResourceKey based on the pieces that are passed as parameters
+@@ -169,7 +169,7 @@
+ 
+       sb.append(quoter.doQuoting(entrySb.toString()));
+     }
+-    logger.debug("Converted ResourceKey's Factory Parameters to String: [" + sb.toString() + "]");
++    logger.config("Converted ResourceKey's Factory Parameters to String: [" + sb.toString() + "]");
+     return sb.toString();
+   }
+ 
+@@ -226,9 +226,9 @@
+       params.put(key, value);
+     }
+ 
+-    if (logger.isDebugEnabled())
++    if (logger.isLoggable(Level.CONFIG))
+     {
+-      logger.debug("Converted ResourceKey's Factory Parameter String to a Map: [" + factoryParameters
++      logger.config("Converted ResourceKey's Factory Parameter String to a Map: [" + factoryParameters
+           + "] -> map of size " + params.size());
+     }
+     return params;
+@@ -369,7 +369,7 @@
+       }
+       catch (IOException e)
+       {
+-        logger.error("Error closing input stream", e);
++        logger.severe("Error closing input stream: " + e);
+       }
+     }
+   }
+diff -ru libloader-1.1.3.orig/source/org/pentaho/reporting/libraries/resourceloader/ResourceManager.java libloader-1.1.3/source/org/pentaho/reporting/libraries/resourceloader/ResourceManager.java

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list