From 5dcd511259ea842025a751039fd03243a918cef5 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Wed, 7 Feb 2018 12:02:31 +0100 Subject: [PATCH] - added Readme - added workaround to detect collisions regardless if file:// is used or not - removed stacktrace in case of collsion detection --- README.md | 15 +++++++++++++++ .../metadata_DnxMoveFileOriginalPath.xml | 2 +- .../repositoryTask/DnxMoveFileOriginalPath.java | 9 +++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..47204e0 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +Plugin to fix wrong fileOriginalPath entries in AIPs +==================================================== + +== compile +To compile it, you need an installed Rosetta API from ExlibrisGroup: + +$> ant clean +$> ant jar + +== install + +Then copy the resulting jar-file "target/DnxMoveFileOriginalPath.jar" to the +custom-dir in the rosetta plugin directory (/operational_shared/plugins/custom/) + + diff --git a/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml b/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml index 9291fef..2eb125a 100644 --- a/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml +++ b/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml @@ -7,7 +7,7 @@ </fr:x_form> </pl:initParameters> <pl:description>repairs broken file original paths</pl:description> - <pl:version>1.11</pl:version> + <pl:version>1.13</pl:version> <pl:materialType>DIGITAL</pl:materialType> <pl:module>Repository</pl:module> <pl:generalType>TASK</pl:generalType> diff --git a/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java b/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java index e890d49..111e0c2 100644 --- a/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java +++ b/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java @@ -50,7 +50,13 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { DnxDocumentHelper ieDnxH = ieEditor.getDnxHelper(filePid); DnxDocumentHelper.GeneralFileCharacteristics ieGfs = ieDnxH.getGeneralFileCharacteristics(); String currentFileOriginalPath = ieGfs.getFileOriginalPath(); - filePaths.add( currentFileOriginalPath ); + // workaround to check if fileOriginalPath has no "file://" because the replacement + // always(!) starts with "file://" + if (currentFileOriginalPath.startsWith("file://") ) { + filePaths.add( currentFileOriginalPath ); + } else { + filePaths.add( "file://" + currentFileOriginalPath); + } } catch (DigitoolException e) { IEsuccess = false; String err = "unknown Digitool exception: " + e; @@ -77,7 +83,6 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { } catch (FileOriginalPathCollisionException e) { IEsuccess = false; log.error(e.getMessage()); - e.printStackTrace(); taskResults.addResult(ieEditor.getIEPid(), null, false, e.getMessage()); } } -- GitLab