Skip to content

Commit

Permalink
more fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
janvanmansum committed Jan 21, 2025
1 parent ec8e8b7 commit 339054c
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ private void addRoleAssignments() throws IOException, DataverseException {
int numberCompleted = editPermissionsLog.getAddRoleAssignments().getNumberCompleted();
if (numberCompleted > 0) {
log.debug("Resuming adding role assignments from index {}", numberCompleted);
for (int i = numberCompleted; i < editPermissions.getAddRoleAssignments().size(); i++) {
var roleAssignment = editPermissions.getAddRoleAssignments().get(i);
log.debug("Adding role assignment: {}", roleAssignment);
dataverseService.addRoleAssignment(pid, roleAssignment);
editPermissionsLog.getAddRoleAssignments().setNumberCompleted(i + 1);
}
}
for (int i = numberCompleted; i < editPermissions.getAddRoleAssignments().size(); i++) {
var roleAssignment = editPermissions.getAddRoleAssignments().get(i);
log.debug("Adding role assignment: {}", roleAssignment);
dataverseService.addRoleAssignment(pid, roleAssignment);
editPermissionsLog.getAddRoleAssignments().setNumberCompleted(i + 1);
}
log.debug("End adding role assignments for deposit {}", depositId);
}
Expand All @@ -83,7 +83,12 @@ private void deleteRoleAssignments() throws IOException, DataverseException {
}
else {
log.debug("Start deleting {} role assignments for deposit {}", depositId, editPermissions.getDeleteRoleAssignments().size());
for (var roleAssignment : editPermissions.getDeleteRoleAssignments()) {
int numberCompleted = editPermissionsLog.getDeleteRoleAssignments().getNumberCompleted();
if (numberCompleted > 0) {
log.debug("Resuming deleting role assignments from index {}", numberCompleted);
}
for (int i = numberCompleted; i < editPermissions.getDeleteRoleAssignments().size(); i++) {
var roleAssignment = editPermissions.getDeleteRoleAssignments().get(i);
log.debug("Deleting role assignment: {}", roleAssignment);
dataverseService.deleteRoleAssignment(pid, roleAssignment);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ else if (depositToDvDatasetMetadataMapper.isMigration()) {
throw new IllegalArgumentException("Update deposit should have either a sword token or be a migration deposit");
}

if (results.size() == 1) {
if (results.stream().distinct().count() == 1) { // There can be a released version and a draft version visible
return results.get(0);
}
else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ protected boolean forIndividualUpload(Path path) {
* @param files the file infos found in files.xml
* @return a list of FileMetas that should be updated
*/
private List<FileMeta> getUpdatedFileMetas(Map<Path, FileInfo> files) {
protected List<FileMeta> getUpdatedFileMetas(Map<Path, FileInfo> files) {
return files.values().stream()
.map(FileInfo::getMetadata)
.filter(this::hasAttributes)
Expand Down Expand Up @@ -155,7 +155,7 @@ private Map<Path, FileInfo> removeIgnoredFiles(Map<Path, FileInfo> files, List<S
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}

private List<FromTo> getAutoRenamedFiles(Map<String, String> renamedFiles) {
protected List<FromTo> getAutoRenamedFiles(Map<String, String> renamedFiles) {
return renamedFiles.entrySet().stream()
.map(entry -> new FromTo(entry.getKey(), entry.getValue()))
.toList();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public EditFiles composeEditFiles() {
log.error("Could not download files from dataset with pid {}", updatesDatasetPid, e);
}
var editFiles = new EditFiles();
editFiles.setAutoRenameFiles(getAutoRenamedFiles(renamedFiles));

// move old paths to new paths
// Convert from Path to String
Expand Down Expand Up @@ -139,19 +140,22 @@ public EditFiles composeEditFiles() {

log.debug("occupiedPaths = {}", occupiedPaths);
var pathsToAdd = diff(pathFileInfoMap.keySet(), occupiedPaths);
editFiles.setAddRestrictedFiles(pathsToAdd.stream()
.filter(p -> !forIndividualUpload(p))
.filter(p -> pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());
editFiles.setAddRestrictedIndividually(pathsToAdd.stream()
.filter(this::forIndividualUpload)
.filter(p -> pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());

editFiles.setAddUnrestrictedFiles(pathsToAdd.stream()
editFiles.setAddRestrictedFiles(pathsToAdd.stream()
.filter(p -> !forIndividualUpload(p))
.filter(p -> !pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());
.filter(p -> pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());

editFiles.setAddUnrestrictedIndividually(pathsToAdd.stream()
.filter(this::forIndividualUpload)
.filter(p -> !pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());
editFiles.setAddUnrestrictedFiles(pathsToAdd.stream()
.filter(p -> !forIndividualUpload(p))
.filter(p -> !pathFileInfoMap.get(p).getMetadata().getRestricted()).toList().stream().map(Path::toString).toList());


editFiles.setUpdateFileMetas(getUpdatedFileMetas(pathFileInfoMap));

addEmbargo(editFiles, SetUtils.union(pathsToAdd, filesToReplace));
return editFiles;
Expand Down

0 comments on commit 339054c

Please sign in to comment.