From a0bd05e3986337f653aa4604c7033a60b196bfe6 Mon Sep 17 00:00:00 2001 From: Jens Steidl <Jens.Steidl@slub-dresden.de> Date: Wed, 17 Jul 2019 15:32:32 +0200 Subject: [PATCH] - fix for result interpretation --- ...icalMetadataExtractorMediaConchPlugin.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java index f389638..41964b3 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java @@ -119,13 +119,23 @@ public class SLUBTechnicalMetadataExtractorMediaConchPlugin implements MDExtract validationLog.add(line); line = reader.readLine(); } - if (p.exitValue() == 0) { - isvalid = true; - iswellformed=true; + if (p.exitValue() == 0) { // normal execution + if ( Pattern.matches("^pass!.*", validationLog.get(0)) ) { + isvalid = true; + iswellformed = true; + } else if ( Pattern.matches("^fail!.*", validationLog.get(0)) ) { + isvalid = false; + iswellformed = false; + extractionErrors = validationLog; + } else { + extractionErrors = validationLog; + System.out.println("ERROR: unexcepted mediaconch result, unable to decide if valid or invalid"); + throw new Exception("ERROR: unexcepted mediaconch result, unable to decide if valid or invalid"); + } } else { // something wrong - isvalid = false; - iswellformed = false; extractionErrors = validationLog; + System.out.println("ERROR: unexcepted mediaconch exit code: " + p.exitValue()); + throw new Exception("ERROR: unexcepted mediaconch exit code: " + p.exitValue()); } } catch (IOException e) { //log.error("exception creation socket, clamd not available at host=" + host + "port=" + port, e); -- GitLab