From 3e7106b95c9d36c93b2f68be0392fbcc01cc9a6d Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Tue, 1 Aug 2023 16:47:41 +0200 Subject: [PATCH] - added truncated getErrors() to workaround Rosetta Issue https://support.proquest.com/500Do0000083LJkIAM - closes https://git.slub-dresden.de/digital-preservation/checkit_tiff_plugin4rosetta/-/issues/12 --- ...troMonographieTIFFFormatValidationPlugin.xml | 2 +- ...roMonographieTIFFFormatValidationPlugin.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/PLUGIN-INF/metadata_SLUBRetroMonographieTIFFFormatValidationPlugin.xml b/PLUGIN-INF/metadata_SLUBRetroMonographieTIFFFormatValidationPlugin.xml index b5427a0..20886db 100644 --- a/PLUGIN-INF/metadata_SLUBRetroMonographieTIFFFormatValidationPlugin.xml +++ b/PLUGIN-INF/metadata_SLUBRetroMonographieTIFFFormatValidationPlugin.xml @@ -60,7 +60,7 @@ </pl:initParameters> <pl:description>SLUB TIFF Validation Plugin, using check_it_tiff to validate tiff-files from retrodigitized monographs</pl:description> - <pl:version>1.1</pl:version> + <pl:version>1.2</pl:version> <pl:materialType>DIGITAL</pl:materialType> <pl:module>Preservation</pl:module> <pl:generalType>TASK</pl:generalType> diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBRetroMonographieTIFFFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBRetroMonographieTIFFFormatValidationPlugin.java index 40340fe..4367326 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBRetroMonographieTIFFFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBRetroMonographieTIFFFormatValidationPlugin.java @@ -231,7 +231,22 @@ public class SLUBRetroMonographieTIFFFormatValidationPlugin implements FormatVal @Override public final List<String> getErrors() { - return List.copyOf(this.validationLog); + List<String> truncated = new ArrayList<String>(); + int chars=0; + /* workaround for Rosetta Issue https://support.proquest.com/500Do0000083LJkIAM + * truncate to ensure not more than 2000 chars used, to + */ + for (String e: this.validationLog) { + if ( (chars+ e.length()) < 1900 ) { + truncated.add( e ); + chars+=e.length()+1; // +1 for line ending + } else { + truncated.add ("... (the full error is truncated, because Rosetta limits, see Rosetta log for detailed output)"); + log.info("truncated errors in getError"); + break; + } + } + return truncated; } @Override -- GitLab