From f78f37f88c5d5c2d6f2d02e9c209dab02249d5ce Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Tue, 1 Aug 2023 17:22:14 +0200 Subject: [PATCH] - added truncated getErrors() to workaround Rosetta Issue https://support.proquest.com/500Do0000083LJkIAM, - closes https://git.slub-dresden.de/digital-preservation/mediaconch_plugin4rosetta/-/issues/8 --- .../SLUBMatroskaFFV1FormatValidationPlugin.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java index e1e3cdb..fa41a1a 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java @@ -248,7 +248,22 @@ public class SLUBMatroskaFFV1FormatValidationPlugin implements FormatValidationP @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: 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