From 9390b9b241e4aff926c4603c4a36741da8a81aea Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Mon, 27 Oct 2014 14:20:53 +0000 Subject: [PATCH] - add more debugging output to find source of nullpointer exception - workaround, because Fixity.FixityAlgorithm.MD5.toString() returns "MD5" as uppercase, but fixity.getAlgorithm() returns "md5" as lowercase. This is a bug in Rosetta SDK. As a workaround, we call "toLowerCase()" methods before comparison. --- PLUGIN-INF/metadata_SLUBStoragepPlugin.xml | 2 +- .../plugin/storage/nfs/SLUBStoragePlugin.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml index d93cf6b..86465e2 100644 --- a/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml +++ b/PLUGIN-INF/metadata_SLUBStoragepPlugin.xml @@ -70,7 +70,7 @@ </fr:x_form> </pl:initParameters> <pl:description>SLUB Storage Plugin</pl:description> - <pl:version>2.801</pl:version> + <pl:version>2.803</pl:version> <pl:materialType>DIGITAL</pl:materialType> <pl:module>Repository</pl:module> <pl:generalType>TASK</pl:generalType> diff --git a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java index 57944b6..bc8b4e6 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/storage/nfs/SLUBStoragePlugin.java @@ -89,17 +89,21 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { for (Fixity fixity : fixities) { fixity.setResult(null); - if (Fixity.FixityAlgorithm.MD5.toString().equals(fixity.getAlgorithm())) + log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.MD5=" + Fixity.FixityAlgorithm.MD5.toString()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.SHA1=" + Fixity.FixityAlgorithm.SHA1.toString()); + log.info("SLUBStoragePlugin.checkFixity() FixityAlgorithm.CRC32=" + Fixity.FixityAlgorithm.CRC32.toString()); + if (Fixity.FixityAlgorithm.MD5.toString().toLowerCase().equals(fixity.getAlgorithm().toLowerCase())) { log.info("SLUBStoragePlugin.checkFixity() calcMD5=true"); calcMD5 = true; } - else if (Fixity.FixityAlgorithm.SHA1.toString().equals(fixity.getAlgorithm())) + else if (Fixity.FixityAlgorithm.SHA1.toString().toLowerCase().equals(fixity.getAlgorithm().toLowerCase())) { log.info("SLUBStoragePlugin.checkFixity() calcSHA1=true"); calcSHA1 = true; } - else if (Fixity.FixityAlgorithm.CRC32.toString().equals(fixity.getAlgorithm())) + else if (Fixity.FixityAlgorithm.CRC32.toString().toLowerCase().equals(fixity.getAlgorithm().toLowerCase())) { log.info("SLUBStoragePlugin.checkFixity() calcCRC32=true"); calcCRC32 = true; @@ -132,7 +136,7 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { { log.info("SLUBStoragePlugin.checkFixity() checksummerAlgorithmIndex=" + checksummerAlgorithmIndex); String oldValue = fixity.getValue(); - log.info("SLUBStoragePlugin.checkFixity() getAlgorithm=" + fixity.getAlgorithm()); + log.info("SLUBStoragePlugin.checkFixity() getAlgorithm (2)=" + fixity.getAlgorithm()); log.info("SLUBStoragePlugin.checkFixity() oldvalue=" + oldValue); fixity.setValue(checksummer.getChecksum(fixity.getAlgorithm())); log.info("SLUBStoragePlugin.checkFixity() newvalue=" + fixity.getValue()); -- GitLab