From ee8f98f1e61cfa69604a7228348b4ab20a4f81c0 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Mon, 29 Jan 2018 18:13:13 +0100 Subject: [PATCH] - added taskResult if fine - fixed replace bug - added PLUGIN-INF --- .../metadata_DnxMoveFileOriginalPath.xml | 31 +++++++++++++++++++ .../DnxMoveFileOriginalPath.java | 12 ++++--- 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml diff --git a/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml b/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml new file mode 100644 index 0000000..5b215f6 --- /dev/null +++ b/src/PLUGIN-INF/metadata_DnxMoveFileOriginalPath.xml @@ -0,0 +1,31 @@ +<pl:metadata-config xmlns:pl="http://www.exlibrisgroup.com/Plugins/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > + <pl:pluginTypeName>RepositoryTaskPlugin</pl:pluginTypeName> + <pl:deployName>DnxMoveFileOriginalPath</pl:deployName> + <pl:className>org.slub.rosetta.plugins.repositoryTask.DnxMoveFileOriginalPath</pl:className> + <pl:initParameters> + <fr:x_form xmlns:fr="http://com/exlibris/digitool/common/forms/xmlbeans"> + </fr:x_form> + </pl:initParameters> + <pl:description>repairs broken file original paths</pl:description> + <pl:version>1.03</pl:version> + <pl:materialType>DIGITAL</pl:materialType> + <pl:module>Repository</pl:module> + <pl:generalType>TASK</pl:generalType> + <pl:publicApi>N</pl:publicApi> + <pl:implType>java</pl:implType> + <pl:contactPerson> + <contact_info xmlns="http://www.exlibrisgroup.com/Plugins/1.0/"> + <contactType>admin</contactType> + <firstName>Andreas</firstName> + <lastName>Romeyke</lastName> + <telephone1></telephone1> + <telephone2></telephone2> + <email>romeyke@slub-dresden.de</email> + <address1></address1> + <address2></address2> + <city></city> + <zipCode></zipCode> + <country></country> + </contact_info> + </pl:contactPerson> +</pl:metadata-config> diff --git a/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java b/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java index b480bca..e6dd988 100644 --- a/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java +++ b/src/org/slub/rosetta/plugins/repositoryTask/DnxMoveFileOriginalPath.java @@ -42,6 +42,7 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { for (String filePid: filePids) { try { replaceFileOriginalPath(ieEditor, repPid, filePid); + taskResults.addResult(ieEditor.getIEPid(), null, true, "filepid=" + filePid + " processed"); } catch (DigitoolException e) { e.printStackTrace(); taskResults.addResult(ieEditor.getIEPid(), null, false, "unknown Digitool exception: " + e); @@ -49,6 +50,7 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { } } } + return taskResults; } @@ -62,15 +64,15 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { String updatedFileOriginalPath = currentFileOriginalPath; boolean updated = false; if (currentFileOriginalPath.startsWith("file://data/")) { - updatedFileOriginalPath.replaceAll("^file://data/", "file://"); + updatedFileOriginalPath=currentFileOriginalPath.replaceFirst("^file://data/", "file://"); updated = true; } else if (currentFileOriginalPath.startsWith("data/")) { - updatedFileOriginalPath.replaceAll("^data/", "file://"); + updatedFileOriginalPath=currentFileOriginalPath.replaceFirst("^data/", "file://"); updated = true; } else if (currentFileOriginalPath.startsWith("/data/")) { - updatedFileOriginalPath.replaceAll("^/data/", "file://"); + updatedFileOriginalPath=currentFileOriginalPath.replaceFirst("^/data/", "file://"); updated = true; } /* if something is updated */ @@ -80,13 +82,13 @@ public class DnxMoveFileOriginalPath implements RepositoryTaskPlugin { " (old file_original_path='" + currentFileOriginalPath + "') to new file_original_path='" + updatedFileOriginalPath + "'" ); - ieGfs.setFileOriginalPath(updatedFileOriginalPath); - ieDnxH.setGeneralFileCharacteristics(ieGfs); } else { // Nothing to do log.info("No update needed for IE " + ieEditor.getIEPid() + " RepPid " + repPid + " FilePid " + filePid + " (file_original_path='" + currentFileOriginalPath + "')"); } + ieGfs.setFileOriginalPath(updatedFileOriginalPath); + ieDnxH.setGeneralFileCharacteristics(ieGfs); } -- GitLab