Skip to content

Commit 0b51e1b

Browse files
committed
feat(pid): update DataverseServiceBean.wantsDatasetVersionPids() calls with info about minor or major version
1 parent 77c9e5a commit 0b51e1b

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

src/main/java/edu/harvard/iq/dataverse/engine/command/impl/FinalizeDatasetPublicationCommand.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,9 @@ public Dataset execute(CommandContext ctxt) throws CommandException {
191191
* Note: although it may seem wrong to trigger registering any version, it is a (configurable?)
192192
* decision in the provider's realm if minor versions are just updates of a major or their own.
193193
*/
194-
if (ctxt.dataverses().wantsDatasetVersionPids(theDataset.getOwner())) {
195-
DatasetVersion version = theDataset.getLatestVersion();
194+
DatasetVersion version = theDataset.getLatestVersion();
195+
196+
if (ctxt.dataverses().wantsDatasetVersionPids(theDataset.getOwner(), version.getMinorVersionNumber() > 0)) {
196197
GlobalIdServiceBean idServiceBean = GlobalIdServiceBean.getBean(theDataset.getProtocol(), ctxt);
197198
Objects.requireNonNull(idServiceBean, "Could not retrieve PID provider");
198199

@@ -434,7 +435,8 @@ private void publicizeExternalIdentifier(Dataset dataset, CommandContext ctxt) t
434435
}
435436

436437
// Publish a PID for this dataset version (if activated). Leave details to the provider.
437-
if (ctxt.dataverses().wantsDatasetVersionPids(dataset.getOwner())) {
438+
439+
if (ctxt.dataverses().wantsDatasetVersionPids(dataset.getOwner(), dataset.getLatestVersion().getMinorVersionNumber() > 0)) {
438440
DatasetVersion version = dataset.getLatestVersion();
439441
idServiceBean.publicizeIdentifier(version);
440442
}

src/main/java/edu/harvard/iq/dataverse/engine/command/impl/RegisterDvObjectCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ protected void executeImpl(CommandContext ctxt) throws CommandException {
8686
if (target.isReleased()) {
8787
// If this is a dataset, release a new dataset version first before, to be included in the dataset
8888
if (target.isInstanceofDataset() &&
89-
ctxt.dataverses().wantsDatasetVersionPids((Dataverse) target.getOwner())) {
89+
ctxt.dataverses().wantsDatasetVersionPids(
90+
(Dataverse) target.getOwner(),
91+
((Dataset) target).getLatestVersion().getMinorVersionNumber() > 0)) {
9092
// TODO: publicize dataset version as well
9193
}
9294

src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDvObjectPIDMetadataCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ protected void executeImpl(CommandContext ctxt) throws CommandException {
5050
GlobalIdServiceBean idServiceBean = GlobalIdServiceBean.getBean(target.getProtocol(), ctxt);
5151
try {
5252
// First publicize new dataset version if enabled, so it can be included in the update of the dataset
53-
if (ctxt.dataverses().wantsDatasetVersionPids(target.getOwner())) {
53+
if (ctxt.dataverses().wantsDatasetVersionPids(target.getOwner(), target.getLatestVersion().getMinorVersionNumber() > 0)) {
5454
// TODO: publicize dataset version as well
5555
}
5656

0 commit comments

Comments
 (0)