This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/main by this push:
new 4999f5983ee CAUSEWAY-3948: removes hard coded version strings from
pdfjs (webjar)
4999f5983ee is described below
commit 4999f5983eea85df755de369687b201f45ae9f1c
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() {