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() {

Reply via email to