This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch v3 in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 8c8985d8a3aa05101fabe782e39f8e2861e9a362 Author: andi-huber <[email protected]> AuthorDate: Thu Jan 8 14:36:41 2026 +0100 CAUSEWAY-3948: removes hard coded version strings from pdfjs (webjar) --- .../CausewayModuleExtPdfjsWicketIntegration.java | 5 +++- .../pdfjs/wkt/integration/PdfJsVersion.java | 30 +++++++++++++--------- .../wkt/integration/res/PdfJsCmapsReference.java | 3 +-- .../integration/res/PdfJsIntegrationReference.java | 6 ++--- .../pdfjs/wkt/integration/res/PdfJsReference.java | 6 ++--- .../wkt/integration/res/PdfJsWorkerReference.java | 7 +++-- 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/CausewayModuleExtPdfjsWicketIntegration.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/CausewayModuleExtPdfjsWicketIntegration.java index 90148b7daa3..79f9085d397 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/CausewayModuleExtPdfjsWicketIntegration.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/CausewayModuleExtPdfjsWicketIntegration.java @@ -23,6 +23,7 @@ import org.springframework.context.annotation.Configuration; +import org.apache.causeway.commons.internal.base._Lazy; import org.apache.causeway.viewer.wicket.model.causeway.WicketApplicationInitializer; /** @@ -43,8 +44,10 @@ public void init(final WebApplication webApplication) { resourceGuard.addPattern("+*.mjs"); } + private final static _Lazy<PdfJsVersion> pdfJsVersionLazy = _Lazy.threadSafe(PdfJsVersion::new); + public static PdfJsVersion getPdfJsVersion() { - return PdfJsVersion.V5_X; + return pdfJsVersionLazy.get(); } } diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/PdfJsVersion.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/PdfJsVersion.java index f5d719627e2..489b3412002 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/PdfJsVersion.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/PdfJsVersion.java @@ -20,18 +20,24 @@ import org.apache.wicket.markup.head.JavaScriptReferenceType; -import lombok.Getter; -import lombok.RequiredArgsConstructor; +import org.apache.causeway.viewer.commons.model.webjar.WebjarEnumerator; -@RequiredArgsConstructor -public enum PdfJsVersion { - V2_X("v2x3x", "pdfjs-dist/2.16.105", JavaScriptReferenceType.TEXT_JAVASCRIPT), - V3_X("v2x3x", "pdfjs-dist/3.11.174", JavaScriptReferenceType.TEXT_JAVASCRIPT), - V4_X("v4x5x", "pdfjs-dist/4.10.38", JavaScriptReferenceType.MODULE), - V5_X("v4x5x", "pdfjs-dist/5.4.530", JavaScriptReferenceType.MODULE) - ; - @Getter private final String integrationScriptSuffix; - @Getter private final String webjarPath; - @Getter private final JavaScriptReferenceType javascriptRefType; +public record PdfJsVersion(String webjarPath) { +// V2_X("v2x3x", "pdfjs-dist/2.16.105", JavaScriptReferenceType.TEXT_JAVASCRIPT), +// V3_X("v2x3x", "pdfjs-dist/3.11.174", JavaScriptReferenceType.TEXT_JAVASCRIPT), +// V4_X("v4x5x", "pdfjs-dist/4.10.38", JavaScriptReferenceType.MODULE), +// V5_X("v4x5x", "pdfjs-dist/5.4.530", JavaScriptReferenceType.MODULE); + + PdfJsVersion() { + this("pdfjs-dist/" + WebjarEnumerator.lookupElseFail("npm/pdfjs-dist") + .version()); + } + + public String integrationScriptSuffix() { + return "v4x5x"; + } + public JavaScriptReferenceType javascriptRefType() { + return JavaScriptReferenceType.MODULE; + } } diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsCmapsReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsCmapsReference.java index e41cd645286..28a13a00af7 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsCmapsReference.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsCmapsReference.java @@ -25,7 +25,6 @@ import org.apache.causeway.extensions.pdfjs.wkt.integration.CausewayModuleExtPdfjsWicketIntegration; import lombok.Getter; - import lombok.experimental.Accessors; import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference; @@ -41,7 +40,7 @@ public class PdfJsCmapsReference private PdfJsCmapsReference() { super(String.format("%s/cmaps/_.bcmap", - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath())); + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().webjarPath())); } public static String cmapsUrl() { diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java index ad5ac3ea9aa..b7e699654c4 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java @@ -42,8 +42,8 @@ public class PdfJsIntegrationReference private PdfJsIntegrationReference() { super(PdfJsIntegrationReference.class, String.format("pdfjs-integration-%s.%s", - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getIntegrationScriptSuffix(), - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()==JavaScriptReferenceType.MODULE + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().integrationScriptSuffix(), + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()==JavaScriptReferenceType.MODULE ? "mjs" : "js")); } @@ -53,7 +53,7 @@ private PdfJsIntegrationReference() { */ public static HeaderItem asHeaderItem() { return JavaScriptHeaderItem.forReference(instance()) - .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()); + .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()); } public static OnDomReadyHeaderItem domReadyScript( diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsReference.java index 85cf2cf403d..872e5d645a0 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsReference.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsReference.java @@ -40,8 +40,8 @@ public class PdfJsReference private PdfJsReference() { super(String.format("%s/build/pdf.min.%s", - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath(), - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()==JavaScriptReferenceType.MODULE + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().webjarPath(), + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()==JavaScriptReferenceType.MODULE ? "mjs" : "js")); } @@ -51,7 +51,7 @@ private PdfJsReference() { */ public static HeaderItem asHeaderItem() { return JavaScriptHeaderItem.forReference(instance()) - .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()); + .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()); } } diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java index 6eaa05fa355..ad7b12b2ca7 100644 --- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java +++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java @@ -27,7 +27,6 @@ import org.apache.causeway.extensions.pdfjs.wkt.integration.CausewayModuleExtPdfjsWicketIntegration; import lombok.Getter; - import lombok.experimental.Accessors; import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference; @@ -43,8 +42,8 @@ public class PdfJsWorkerReference private PdfJsWorkerReference() { super(String.format("%s/build/pdf.worker.min.%s", - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath(), - CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()==JavaScriptReferenceType.MODULE + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().webjarPath(), + CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()==JavaScriptReferenceType.MODULE ? "mjs" : "js")); } @@ -54,7 +53,7 @@ private PdfJsWorkerReference() { */ public static HeaderItem asHeaderItem() { return JavaScriptHeaderItem.forReference(instance()) - .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().getJavascriptRefType()); + .setType(CausewayModuleExtPdfjsWicketIntegration.getPdfJsVersion().javascriptRefType()); } public static String workerUrl() {
