From 84375b0499d75f14be8cca6e08bc5d3b56bce8d0 Mon Sep 17 00:00:00 2001 From: Michael Spalti Date: Wed, 29 Jun 2022 13:17:41 -0700 Subject: [PATCH] Omit "iiif" bundle from toc ranges. --- .../org/dspace/app/iiif/service/utils/IIIFUtils.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java index 4a4357b803..e76b9e6d95 100644 --- a/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java @@ -48,6 +48,8 @@ public class IIIFUtils { // The DSpace bundle for other content related to item. protected static final String OTHER_CONTENT_BUNDLE = "OtherContent"; + private static final String OMIT_FROM_TOC_BUNDLE = "iiif"; + // The canvas position will be appended to this string. private static final String CANVAS_PATH_BASE = "/canvas/c"; @@ -335,12 +337,19 @@ public class IIIFUtils { public String getBundleIIIFToC(Bundle bundle) { String label = bundle.getMetadata().stream() .filter(m -> m.getMetadataField().toString('.').contentEquals(METADATA_IIIF_LABEL)) - .findFirst().map(m -> m.getValue()).orElse(bundle.getName()); + .findFirst().map(m -> m.getValue()).orElse(getBundleLabel(bundle)); return bundle.getMetadata().stream() .filter(m -> m.getMetadataField().toString('.').contentEquals(METADATA_IIIF_TOC)) .findFirst().map(m -> m.getValue() + TOC_SEPARATOR + label).orElse(label); } + private String getBundleLabel(Bundle bundle) { + if (bundle.getName().contentEquals(OMIT_FROM_TOC_BUNDLE)) { + return null; + } + return bundle.getName(); + } + /** * Return the iiif viewing hint for the item *