diff --git a/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDvObjectPIDMetadataCommand.java b/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDvObjectPIDMetadataCommand.java index 14d17dcd900..4e6e9cdc00e 100644 --- a/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDvObjectPIDMetadataCommand.java +++ b/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDvObjectPIDMetadataCommand.java @@ -26,7 +26,7 @@ @RequiredPermissions({}) public class UpdateDvObjectPIDMetadataCommand extends AbstractVoidCommand { - private final Dataset target; + private Dataset target; public UpdateDvObjectPIDMetadataCommand(Dataset target, DataverseRequest aRequest) { super(aRequest, target); @@ -53,8 +53,7 @@ protected void executeImpl(CommandContext ctxt) throws CommandException { Boolean doiRetString = pidProvider.updateIdentifier(target); if (doiRetString) { target.setGlobalIdCreateTime(new Timestamp(new Date().getTime())); - ctxt.em().merge(target); - ctxt.em().flush(); + target = ctxt.em().merge(target); // When updating, we want to traverse through files even if the dataset itself // didn't need updating. boolean isFilePIDsEnabled = ctxt.systemConfig().isFilePIDsEnabledForCollection(target.getOwner()); @@ -75,8 +74,6 @@ protected void executeImpl(CommandContext ctxt) throws CommandException { doiRetString = pidProvider.updateIdentifier(df); if (doiRetString) { df.setGlobalIdCreateTime(new Timestamp(new Date().getTime())); - ctxt.em().merge(df); - ctxt.em().flush(); } } }