From 385f271f80991ad6445f01a31f8a28432b8bea46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9lder=20Silva?= Date: Thu, 6 Dec 2018 14:36:33 +0000 Subject: [PATCH] core: fixed problem with indexed preservation events UUIDs, which caused the events to not have permissions neither the AIP actual state (fixes #1416) --- .../src/main/java/org/roda/core/util/IdUtils.java | 6 ------ .../src/main/java/org/roda/core/common/PremisV3Utils.java | 3 +-- .../main/java/org/roda/core/index/IndexModelObserver.java | 5 ++--- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/roda-common/roda-common-utils/src/main/java/org/roda/core/util/IdUtils.java b/roda-common/roda-common-utils/src/main/java/org/roda/core/util/IdUtils.java index 8a8ff63a45..87eb3a2e28 100644 --- a/roda-common/roda-common-utils/src/main/java/org/roda/core/util/IdUtils.java +++ b/roda-common/roda-common-utils/src/main/java/org/roda/core/util/IdUtils.java @@ -17,7 +17,6 @@ import org.roda.core.data.v2.ip.FileLink; import org.roda.core.data.v2.ip.Representation; import org.roda.core.data.v2.ip.RepresentationLink; -import org.roda.core.data.v2.ip.metadata.PreservationMetadata; import org.roda.core.data.v2.ip.metadata.PreservationMetadata.PreservationMetadataType; import org.roda.core.data.v2.user.RodaPrincipal; @@ -165,11 +164,6 @@ public static String getPreservationId(PreservationMetadataType type, String aip IdUtils.createUUID(getFileId(aipId, representationId, fileDirectoryPath, fileId, ID_SEPARATOR))); } - public static String getPreservationId(PreservationMetadata pm) { - return getPreservationId(pm.getType(), pm.getAipId(), pm.getRepresentationId(), pm.getFileDirectoryPath(), - pm.getFileId()); - } - public static String getPreservationFileId(String fileId) { return URNUtils.createRodaPreservationURN(PreservationMetadataType.FILE, fileId); } diff --git a/roda-core/roda-core/src/main/java/org/roda/core/common/PremisV3Utils.java b/roda-core/roda-core/src/main/java/org/roda/core/common/PremisV3Utils.java index 40017ea029..92ce0edaa0 100644 --- a/roda-core/roda-core/src/main/java/org/roda/core/common/PremisV3Utils.java +++ b/roda-core/roda-core/src/main/java/org/roda/core/common/PremisV3Utils.java @@ -371,8 +371,7 @@ public static Representation createBaseRepresentation(String aipId, String repre Representation representation = Representation.Factory.newInstance(); ObjectIdentifierComplexType oict = representation.addNewObjectIdentifier(); oict.setObjectIdentifierType(getStringPlusAuthority(RodaConstants.PREMIS_IDENTIFIER_TYPE_URN)); - String identifier = IdUtils.getPreservationId(PreservationMetadataType.REPRESENTATION, aipId, representationId, - null, null); + String identifier = IdUtils.getRepresentationPreservationId(aipId, representationId); oict.setObjectIdentifierValue(identifier); representation.addNewPreservationLevel().setPreservationLevelValue(getStringPlusAuthority("")); return representation; diff --git a/roda-core/roda-core/src/main/java/org/roda/core/index/IndexModelObserver.java b/roda-core/roda-core/src/main/java/org/roda/core/index/IndexModelObserver.java index a59cc319e5..f09f96071b 100644 --- a/roda-core/roda-core/src/main/java/org/roda/core/index/IndexModelObserver.java +++ b/roda-core/roda-core/src/main/java/org/roda/core/index/IndexModelObserver.java @@ -406,8 +406,7 @@ private ReturnWithExceptions preservationEventStateUpdated( fieldsToUpdate.put(RodaConstants.INDEX_STATE, SolrUtils.formatEnum(state)); fieldsToUpdate.put(RodaConstants.PRESERVATION_EVENT_AIP_ID, pm.getAipId()); fieldsToUpdate.put(RodaConstants.INDEX_ID, pm.getId()); - return SolrUtils.update(index, IndexedPreservationEvent.class, IdUtils.getPreservationId(pm), fieldsToUpdate, - (ModelObserver) this); + return SolrUtils.update(index, IndexedPreservationEvent.class, pm.getId(), fieldsToUpdate, (ModelObserver) this); } @Override @@ -970,7 +969,7 @@ private ReturnWithExceptions preservationEventPermissionsUp updateFields.put(RodaConstants.INDEX_STATE, SolrUtils.formatEnum(state)); updateFields.put(RodaConstants.PRESERVATION_EVENT_AIP_ID, pm.getAipId()); updateFields.put(RodaConstants.PRESERVATION_EVENT_ID, pm.getId()); - return SolrUtils.update(index, IndexedPreservationEvent.class, IdUtils.getPreservationId(pm), updateFields, this); + return SolrUtils.update(index, IndexedPreservationEvent.class, pm.getId(), updateFields, this); }