diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorCheckItTiffPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorCheckItTiffPlugin.java index 4075ccbf4919dc3ba8764e3081684439f212e688..e01fb281ba58c928f2d87ff6867d435d99f6a59d 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorCheckItTiffPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorCheckItTiffPlugin.java @@ -50,19 +50,19 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac private enum Checkit_tiff_versions { current, upcoming } - private final Map<Checkit_tiff_versions, String> checkit_tiff_binary_path = new HashMap<Checkit_tiff_versions, String>(); - private final Map<Checkit_tiff_versions, String> checkit_tiff_config_path = new HashMap<Checkit_tiff_versions, String>(); - private String exiftool_binary_path; - private List<String> extractionErrors = new ArrayList<String>(); - private final List<String> validationLog = new ArrayList<String>(); + private final Map<Checkit_tiff_versions, String> checkit_tiff_binary_path = new HashMap<>(); + private final Map<Checkit_tiff_versions, String> checkit_tiff_config_path = new HashMap<>(); + private String exiftool_binary_path = null; + private List<String> extractionErrors = new ArrayList<>(); + private final List<String> validationLog = new ArrayList<>(); private Boolean isvalid = false; private Boolean iswellformed = false; - private final Map<String,String> attributes = new HashMap<String, String>(); - private Map<Checkit_tiff_versions, String> md5Profile = new HashMap<>(); - private Map<Checkit_tiff_versions, String> md5CheckitTiff = new HashMap<>(); + private final Map<String,String> attributes = new HashMap<>(); + private final Map<Checkit_tiff_versions, String> md5Profile = new HashMap<>(); + private final Map<Checkit_tiff_versions, String> md5CheckitTiff = new HashMap<>(); private boolean isDifferentProfile = true; - private boolean isDifferentCheckItTiff = true; - private Map<Checkit_tiff_versions, Boolean> is_checkit_tiff_valid = new HashMap<Checkit_tiff_versions, Boolean>(); + private final boolean isDifferentCheckItTiff = true; + private final Map<Checkit_tiff_versions, Boolean> is_checkit_tiff_valid = new HashMap<>(); /** constructor */ @@ -76,7 +76,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac /** init params to configure the plugin via xml forms * @param initp parameter map */ - public void initParams(Map<String, String> initp) { + public final void initParams(Map<String, String> initp) { this.checkit_tiff_binary_path.put(Checkit_tiff_versions.current, initp.get("current_checkit_tiff").trim()); this.checkit_tiff_binary_path.put(Checkit_tiff_versions.upcoming, initp.get("upcoming_checkit_tiff").trim()); this.checkit_tiff_config_path.put(Checkit_tiff_versions.current, initp.get("current_config_file").trim()); @@ -134,7 +134,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac } @Override - public void extract(String filePath) throws Exception { + public final void extract(String filePath) throws Exception { validate_tiff_by_upcoming_checkit_tiff(filePath); /* only check against current checkit_tiff if upcoming fails */ if ((this.isDifferentCheckItTiff || isDifferentProfile) && is_checkit_tiff_valid.get(Checkit_tiff_versions.upcoming) == false) { @@ -164,14 +164,14 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac p.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); String line=reader.readLine(); - String response=""; + StringBuilder response= new StringBuilder(); while (line != null) { log.debug(line); parse_exiftool_output(line.trim()); - response+=line; + response.append(line); line = reader.readLine(); } - attributes.put("exiftool-log", response.trim()); + attributes.put("exiftool-log", response.toString().trim()); } catch (IOException e) { log.error(e); @@ -218,7 +218,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac validate_tiff_by_checkit_tiff_version(filePath, Checkit_tiff_versions.upcoming); } - public String getAgentName() { + public final String getAgentName() { log.debug("getAgentName() called"); return "checkit_tiff"; } @@ -227,11 +227,11 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac * * @return string with version */ - public String getAgent() { + public final String getAgent() { log.debug("getAgent() called"); - String response=""; + StringBuilder response= new StringBuilder(); for (Checkit_tiff_versions version : Checkit_tiff_versions.values()) { - response += (version.name() + " checkit_tiff:\n"); + response.append(version.name()).append(" checkit_tiff:\n"); try { String execstring = this.checkit_tiff_binary_path.get(version) + " -v"; Process p = Runtime.getRuntime().exec(execstring); @@ -240,7 +240,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac String line = reader.readLine(); while (line != null) { log.debug(line); - response += line; + response.append(line); line = reader.readLine(); } } catch (IOException e) { @@ -250,11 +250,11 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac e.printStackTrace(); } } - return response.trim(); + return response.toString().trim(); } @Override - public String getAttributeByName(String attribute) { + public final String getAttributeByName(String attribute) { if (attributes.containsKey(attribute)) { return attributes.get(attribute); } @@ -262,7 +262,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac } @Override - public List<String> getExtractionErrors() { + public final List<String> getExtractionErrors() { return this.extractionErrors; } /* processed using: @@ -278,9 +278,9 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac * * */ @Override - public List<String> getSupportedAttributeNames() { + public final List<String> getSupportedAttributeNames() { //return new ArrayList<String>(attributes.keySet()); - List<String> available = new ArrayList<String>(); + List<String> available = new ArrayList<>(); //available.add("checkit-tiff-conf"); available.add("checkit-tiff-log"); //available.add("checkit-tiff-path"); @@ -1092,47 +1092,44 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac } @Override - public boolean isWellFormed() { + public final boolean isWellFormed() { return this.iswellformed; } @Override - public boolean isValid() { + public final boolean isValid() { log.debug("is valid=" + this.isvalid); return this.isvalid; } @Override - public String getFormatName() { + public final String getFormatName() { return "TIFF"; } @Override - public String getFormatVersion() { + public final String getFormatVersion() { return "6 (baseline + SLUB extensions)"; } @Override - public Integer getImageCount() { + public final Integer getImageCount() { return 1; //baseline tiff holds exact one } @Override - public String getMimeType() { + public final String getMimeType() { return "image/tiff"; } @Override - public String getProfile () { + public final String getProfile() { /* there is no documentation in ExL API, therefore we use it to document the profile versions in a light way */ - String returnvalue = ""; + StringBuilder returnvalue = new StringBuilder(); for (Checkit_tiff_versions v: Checkit_tiff_versions.values()) { String modificationdate = modificationDateOfFile(this.checkit_tiff_config_path.get(v)); - returnvalue = returnvalue + v + "profile:\n" - + " path=" + this.checkit_tiff_config_path.get(v) + "\n" - + " md5sum=" + this.md5CheckitTiff.get(v) + "\n" - + " modification date=" + modificationdate + "\n"; + returnvalue.append(v).append("profile:\n").append(" path=").append(this.checkit_tiff_config_path.get(v)).append("\n").append(" md5sum=").append(this.md5CheckitTiff.get(v)).append("\n").append(" modification date=").append(modificationdate).append("\n"); } - return returnvalue; + return returnvalue.toString(); } private String md5SumOfFile(String filename ) { @@ -1140,8 +1137,7 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac MessageDigest md = MessageDigest.getInstance("MD5"); byte[] b = Files.readAllBytes(Paths.get(filename)); byte[] digest = md.digest(b); - String hexdigest = new BigInteger(1, digest).toString(16); - return hexdigest; + return new BigInteger(1, digest).toString(16); } catch (Exception e) { e.printStackTrace(); } @@ -1157,15 +1153,13 @@ public class SLUBTechnicalMetadataExtractorCheckItTiffPlugin implements MDExtrac return ""; } - /** stand-alone check, main file to call local installed clamd - * @param args list of files which should be scanned - */ - /** stand-alone check, main file to call local installed clamd + + /** stand-alone check, main file * @param args list of files which should be scanned */ public static void main(String[] args) { SLUBTechnicalMetadataExtractorCheckItTiffPlugin plugin = new SLUBTechnicalMetadataExtractorCheckItTiffPlugin(); - Map<String, String> initp = new HashMap<String, String>(); + Map<String, String> initp = new HashMap<>(); initp.put( "current_checkit_tiff", "/operational_shared/software/checkit_tiff_current"); initp.put( "current_config_file", "/operational_shared/software/cit_tiff6_baseline_SLUB_current.cfg"); initp.put( "upcoming_checkit_tiff", "/operational_shared/software/checkit_tiff_upcoming");