diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBMatroskaFFV1FormatValidationPlugin.java index e1e3cdbeeefb5193d8dab0de43ccfc847a938700..fa41a1ad1fbea2276ea67c0a24d390ed46105e15 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