Skip to content

Commit

Permalink
[CST-18016] Fix on CombinedMetadatumContributor to handle different l…
Browse files Browse the repository at this point in the history
…ist size
  • Loading branch information
AdamF42 committed Feb 26, 2025
1 parent 7022041 commit ce9d345
Showing 1 changed file with 15 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,20 +78,30 @@ public Collection<MetadatumDTO> contributeMetadata(T t) {

for (MetadataContributor metadatumContributor : metadatumContributors) {
LinkedList<MetadatumDTO> metadatums = new LinkedList<>(metadatumContributor.contributeMetadata(t));
metadatumLists.add(metadatums);
if (!metadatums.isEmpty()) {
metadatumLists.add(metadatums);
}
}

if (metadatumLists.isEmpty()) {
return values;
}

for (int i = 0; i < metadatumLists.getFirst().size(); i++) {
int maxSize = metadatumLists.stream().mapToInt(List::size).max().orElse(0);

for (int i = 0; i < maxSize; i++) {
StringBuilder value = new StringBuilder();

for (LinkedList<MetadatumDTO> metadatums : metadatumLists) {
value.append(metadatums.get(i).getValue());
for (List<MetadatumDTO> metadatums : metadatumLists) {
if (i < metadatums.size()) {
value.append(metadatums.get(i).getValue());
}

if (!metadatums.equals(metadatumLists.getLast())) {
if (!metadatums.equals(metadatumLists.get(metadatumLists.size() - 1))) {
value.append(separator);
}
}

values.add(metadataFieldMapping.toDCValue(field, value.toString()));
}

Expand Down

0 comments on commit ce9d345

Please sign in to comment.