Skip to content

Commit

Permalink
don't mint file PIDs in collections where they are not allowed
Browse files Browse the repository at this point in the history
  • Loading branch information
qqmyers committed Jul 19, 2023
1 parent dde0879 commit aef24bb
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions src/main/java/edu/harvard/iq/dataverse/api/Admin.java
Original file line number Diff line number Diff line change
Expand Up @@ -1514,6 +1514,9 @@ public Response registerDataFile(@Context ContainerRequestContext crc, @PathPara
User u = getRequestUser(crc);
DataverseRequest r = createDataverseRequest(u);
DataFile df = findDataFileOrDie(id);
if(!systemConfig.isFilePIDsEnabledForCollection(df.getOwner().getOwner())) {
return forbidden("PIDs are not enabled for this file's collection.");
}
if (df.getIdentifier() == null || df.getIdentifier().isEmpty()) {
execCommand(new RegisterDvObjectCommand(r, df));
} else {
Expand All @@ -1537,11 +1540,18 @@ public Response registerDataFileAll(@Context ContainerRequestContext crc) {
Integer alreadyRegistered = 0;
Integer released = 0;
Integer draft = 0;
Integer skipped = 0;
logger.info("Starting to register: analyzing " + count + " files. " + new Date());
logger.info("Only unregistered, published files will be registered.");
for (DataFile df : fileService.findAll()) {
try {
if ((df.getIdentifier() == null || df.getIdentifier().isEmpty())) {
if(!systemConfig.isFilePIDsEnabledForCollection(df.getOwner().getOwner())) {
skipped++;
if (skipped % 100 == 0) {
logger.info(skipped + " of " + count + " files not in collections that allow file PIDs. " + new Date());
}
}
if (df.isReleased()) {
released++;
User u = getRequestAuthenticatedUserOrDie(crc);
Expand All @@ -1551,6 +1561,11 @@ public Response registerDataFileAll(@Context ContainerRequestContext crc) {
if (successes % 100 == 0) {
logger.info(successes + " of " + count + " files registered successfully. " + new Date());
}
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
logger.warning("Interrupted Exception when attempting to execute Thread.sleep()!");
}
} else {
draft++;
logger.info(draft + " of " + count + " files not yet published");
Expand All @@ -1567,18 +1582,15 @@ public Response registerDataFileAll(@Context ContainerRequestContext crc) {
logger.info("Unexpected Exception: " + e.getMessage());
}

try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
logger.warning("Interrupted Exception when attempting to execute Thread.sleep()!");
}

}
logger.info("Final Results:");
logger.info(alreadyRegistered + " of " + count + " files were already registered. " + new Date());
logger.info(draft + " of " + count + " files are not yet published. " + new Date());
logger.info(released + " of " + count + " unregistered, published files to register. " + new Date());
logger.info(successes + " of " + released + " unregistered, published files registered successfully. "
+ new Date());
logger.info(skipped + " of " + count + " files not in collections that allow file PIDs. " + new Date());

return ok("Datafile registration complete." + successes + " of " + released
+ " unregistered, published files registered successfully.");
Expand Down

0 comments on commit aef24bb

Please sign in to comment.