From 887c7bfedc6cc11df44ba36ccc332718760a3504 Mon Sep 17 00:00:00 2001 From: "Kevin S. Clarke" Date: Mon, 31 Aug 2026 19:08:06 -0400 Subject: [PATCH 1/3] [DLSR-554] Use IIIF Access URL instead of ID for resources --- .../fester/verticles/V2ManifestVerticle.java | 24 +- .../fester/verticles/V3ManifestVerticle.java | 40 +-- .../iiif/fester/fit/MissingImageFT.java | 3 +- .../library/iiif/fester/fit/PostCsvFIT.java | 3 +- src/test/resources/json/v2/pages-ordered.json | 288 +++++++++--------- .../json/v3/ark%3A%2F21198%2Fzz000bjdtv.json | 28 +- 6 files changed, 194 insertions(+), 192 deletions(-) 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 Date: Mon, 31 Aug 2026 19:13:51 -0400 Subject: [PATCH 2/3] Fix up some bad edits --- .../java/edu/ucla/library/iiif/fester/fit/MissingImageFT.java | 3 ++- src/test/java/edu/ucla/library/iiif/fester/fit/PostCsvFIT.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/edu/ucla/library/iiif/fester/fit/MissingImageFT.java b/src/test/java/edu/ucla/library/iiif/fester/fit/MissingImageFT.java index 8f9c09d3..50737cca 100644 --- a/src/test/java/edu/ucla/library/iiif/fester/fit/MissingImageFT.java +++ b/src/test/java/edu/ucla/library/iiif/fester/fit/MissingImageFT.java @@ -28,6 +28,7 @@ import edu.ucla.library.iiif.fester.Constants; import edu.ucla.library.iiif.fester.HTTP; import edu.ucla.library.iiif.fester.MessageCodes; +import edu.ucla.library.iiif.fester.utils.TestUtils; import io.vertx.core.Promise; import io.vertx.core.buffer.Buffer; @@ -181,6 +182,6 @@ private void checkResults(final Async aAsyncTask, final TestContext aContext) { aContext.assertEquals(PLACEHOLDER_SAMPLE_URL, image.getID().toString()); aContext.assertEquals(PLACEHOLDER_URL, image.getService().get().getID().toString()); - aAsyncTask.complete(); + TestUtils.complete(aAsyncTask); } } diff --git a/src/test/java/edu/ucla/library/iiif/fester/fit/PostCsvFIT.java b/src/test/java/edu/ucla/library/iiif/fester/fit/PostCsvFIT.java index 4ffe2225..e923be60 100644 --- a/src/test/java/edu/ucla/library/iiif/fester/fit/PostCsvFIT.java +++ b/src/test/java/edu/ucla/library/iiif/fester/fit/PostCsvFIT.java @@ -127,7 +127,7 @@ public class PostCsvFIT { * Functional tests for the CSV upload feature. */ @RunWith(VertxUnitRunner.class) - public static class PostCsvFT extends BaseFesterFfT { + public static class PostCsvFT extends BaseFesterFT { @Override @Before From 51eea31258e3b68a50bac2a353379fb4f0a60ed4 Mon Sep 17 00:00:00 2001 From: "Kevin S. Clarke" Date: Tue, 1 Sep 2026 11:15:41 -0400 Subject: [PATCH 3/3] Update container dependencies --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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