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