diff --git a/pom.xml b/pom.xml index 477f9a6a..ab95e1c3 100644 --- a/pom.xml +++ b/pom.xml @@ -70,9 +70,9 @@ 22.04 - 21.0.11+10-1~22.04.2 + 21.0.12+8-1~22.04 3.10.6-1~22.04.1 - 7.81.0-1ubuntu1.25 + 7.81.0-1ubuntu1.27 3.9.16 diff --git a/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java b/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java index 89194da3..2be9047e 100644 --- a/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java +++ b/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java @@ -491,12 +491,14 @@ private Canvas[] createCanvases(final CsvHeaders aCsvHeaders, final List thumbnail = CsvParser.getMetadata(columns, aCsvHeaders.getThumbnailIndex()); boolean staticImage = false; - String resourceURI; ImageResource imageResource; ImageContent imageContent; Canvas canvas; - resourceURI = StringUtils.format(Constants.SAMPLE_URI_TEMPLATE, pageURI, Constants.DEFAULT_SAMPLE_SIZE); + final String serviceURI = accessURI == null ? pageURI : accessURI; + final String resourceURI = accessURI == null + ? StringUtils.format(Constants.SAMPLE_URI_TEMPLATE, pageURI, Constants.DEFAULT_SAMPLE_SIZE) + : StringUtils.format(Constants.SAMPLE_URI_TEMPLATE, accessURI, Constants.DEFAULT_SAMPLE_SIZE); try { final Optional width = CsvParser.getMetadata(columns, aCsvHeaders.getMediaWidthIndex()); @@ -515,30 +517,30 @@ private Canvas[] createCanvases(final CsvHeaders aCsvHeaders, final List format = CsvParser.getMetadata(columns, aCsvHeaders.getMediaFormatIndex()); final String imageThumbnailSize = StringUtils.trimTo( config().getString(Config.DEFAULT_IMAGE_THUMBNAIL_SIZE), Constants.DEFAULT_IMAGE_THUMBNAIL_SIZE); - final String encodedPageID = URLEncoder.encode(pageID, StandardCharsets.UTF_8); // Encode Item ARK final Optional thumbnailOpt = CsvParser.getMetadata(columns, aCsvHeaders.getThumbnailIndex()); final Canvas canvas = new Canvas(aMinter, pageLabel); + final String pageID = StringUtils.trimToNull(columns[aCsvHeaders.getItemArkIndex()]); // Never null + final String pageURI = StringUtils.format(SIMPLE_URI, aImageHost, URLEncoder.encode(pageID, UTF_8)); + final String accessURI = StringUtils.trimToNull(columns[aCsvHeaders.getContentAccessUrlIndex()]); + + final String serviceURI = accessURI == null ? pageURI : accessURI; + final String resourceURI = accessURI == null + ? StringUtils.format(Constants.SAMPLE_URI_TEMPLATE, pageURI, Constants.DEFAULT_SAMPLE_SIZE) + : StringUtils.format(Constants.SAMPLE_URI_TEMPLATE, accessURI, Constants.DEFAULT_SAMPLE_SIZE); + final String thumbnail; - final String pageURI; final float duration; int width; @@ -509,8 +515,7 @@ private Canvas[] createCanvases(final CsvHeaders aCsvHeaders, final List