diff --git a/PLUGIN-INF/metadata_SLUBStoragePlugin.xml b/PLUGIN-INF/metadata_SLUBStoragePlugin.xml index 20f3e594707f4f55aebdc0ab9e20392e4cab30c1..7a52b697358f3a6c95c273cd5be99719e56222db 100644 --- a/PLUGIN-INF/metadata_SLUBStoragePlugin.xml +++ b/PLUGIN-INF/metadata_SLUBStoragePlugin.xml @@ -70,7 +70,7 @@ </fr:x_form> </pl:initParameters> <pl:description>SLUB Storage Plugin</pl:description> - <pl:version>2.842</pl:version> + <pl:version>2.843</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 b7a718f778ed284fed1286ff7c0db11d8a281ea0..a0b4cb8b32cb4068d72ac4ce34bcf3fbf83ed8ca 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 @@ -22,7 +22,6 @@ package org.slub.rosetta.dps.repository.plugin.storage.nfs; import com.exlibris.core.infra.common.exceptions.logging.ExLogger; import com.exlibris.core.infra.common.util.IOUtil; -import com.exlibris.core.infra.svc.api.scriptRunner.ExecExternalProcess; import com.exlibris.core.sdk.storage.containers.StoredEntityMetaData; import com.exlibris.core.sdk.storage.handler.AbstractStorageHandler; import com.exlibris.core.sdk.storage.handler.StorageUtil; @@ -49,13 +48,13 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.function.Function; /** * SLUBStoragePlugin @@ -141,6 +140,8 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { return "(unknown) Bytes/s"; } + + /** * checkFixity * @param fixities @@ -157,14 +158,20 @@ public class SLUBStoragePlugin extends AbstractStorageHandler { log.warn("SLUBStoragePlugin.checkFixity() No fixity list provided"); return true; } - boolean result = true; - for (Fixity fixity : fixities) { - fixity.setResult(Boolean.FALSE); - result &= checkSpecificFixity(absolute_storedEntityIdentifier, fixity); - } - return result; + return fixities.parallelStream().map( + fixity -> { + try { + return checkSpecificFixity(absolute_storedEntityIdentifier, fixity); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + ).reduce( + true, (all_result, result) -> all_result &= result + ); } + /** * checkSpecificFixity * @param absolute_storedEntityIdentifier absolute file path