-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong value for the metadata "processTitle" is created for MultiVolumeWork #6025
Comments
In my opinion, this is a severe problem, because inconsistent internal metadata is created, which
@solth : According to @henning-gerhardt, i should inform you explicitly, because for me this is a blocker for the productive use of the affected versions in SLUB Dresden. |
I suppose this issue arises because the title is derived from Lines 650 to 655 in 5be1123
The title should, instead, probably be derived from the processed tempProcess (first the volume, then the multi-volume work). The revised code could look like this: private void saveTempProcessMetadata(TempProcess tempProcess) {
try (OutputStream out = ServiceManager.getFileService()
.write(ServiceManager.getProcessService().getMetadataFileUri(tempProcess.getProcess()))) {
Workpiece workpiece = tempProcess.getWorkpiece();
workpiece.setId(tempProcess.getProcess().getId().toString());
if (Objects.nonNull(rulesetManagement)) {
setProcessTitleMetadata(workpiece, tempProcess.getProcess().getTitle());
}
ServiceManager.getMetsService().save(workpiece, out);
} catch (IOException e) {
Helper.setErrorMessage(e.getLocalizedMessage(), logger, e);
}
}
private void setProcessTitleMetadata(Workpiece workpiece, String processTitle) {
Collection<String> keysForProcessTitle = rulesetManagement.getFunctionalKeys(FunctionalMetadata.PROCESS_TITLE);
if (!keysForProcessTitle.isEmpty()) {
addAllowedMetadataRecursive(workpiece.getLogicalStructure(), keysForProcessTitle, processTitle);
//addAllowedMetadataRecursive(workpiece.getPhysicalStructure(), keysForProcessTitle, processTitle);
}
} |
Describe the bug
If processes are created for a volume and a multivolume work, the metadata "processTitle" of the volume is assigned to both processes.
Probably, this is caused by:
See also:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The correct process title should be assigned to both processes.
Probably, this must be analyzed more deeply. It seems there are more consequences:
Release
3.6.2 - probably since 3.6.0
Desktop (please complete the following information):
Additional context
Internal METS file: Volume
Internal METS file: MultiVolumeWork
The text was updated successfully, but these errors were encountered: