You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/05/11 08:13:59 UTC

[isis] branch master updated: ISIS-3040: encapsulate webjar version specifica into an enum

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new b29814c426 ISIS-3040: encapsulate webjar version specifica into an enum
b29814c426 is described below

commit b29814c42648675360b48fb7e5020ed64336c9f0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed May 11 10:13:51 2022 +0200

    ISIS-3040: encapsulate webjar version specifica into an enum
---
 extensions/vw/pdfjs/wicket/integration/pom.xml     |  4 +--
 .../IsisModuleExtPdfjsWicketIntegration.java       | 22 ++++++++++++
 .../{res/PdfJsReference.java => PdfJsVersion.java} | 39 +++++++---------------
 .../integration/res/PdfJsIntegrationReference.java |  5 ++-
 .../pdfjs/wkt/integration/res/PdfJsReference.java  |  5 ++-
 .../wkt/integration/res/PdfJsWorkerReference.java  |  4 ++-
 6 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/extensions/vw/pdfjs/wicket/integration/pom.xml b/extensions/vw/pdfjs/wicket/integration/pom.xml
index b589031e06..fc8d3b1055 100644
--- a/extensions/vw/pdfjs/wicket/integration/pom.xml
+++ b/extensions/vw/pdfjs/wicket/integration/pom.xml
@@ -61,11 +61,11 @@
 		<dependency>
 		    <groupId>org.webjars.npm</groupId>
 		    <artifactId>pdfjs-dist</artifactId>
-		    <!--  keep in sync with o.a.i.extensions.pdfjs.wkt.integration.res.PdfJs*Reference -->
+		    <!--  keep in sync with o.a.i.extensions.pdfjs.wkt.integration.PdfJsVersion -->
 		    <version>2.13.216</version>
 		</dependency>
 
-		<!-- pdfjs v1 legacy -->		
+		<!-- pdf.js v1 legacy -->		
 		<dependency>
 		    <groupId>org.webjars.bowergithub.mozilla</groupId>
 		    <artifactId>pdfjs-dist</artifactId>
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.java
index d68ac2ba49..6f7ae91563 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
 package org.apache.isis.extensions.pdfjs.wkt.integration;
 
 import org.apache.wicket.markup.html.SecurePackageResourceGuard;
@@ -27,4 +45,8 @@ implements WicketApplicationInitializer {
         resourceGuard.addPattern("+*.bcmap");
     }
 
+    public static PdfJsVersion getPdfJsVersion() {
+        return PdfJsVersion.V1_X;
+    }
+
 }
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/PdfJsVersion.java
similarity index 50%
copy from extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java
copy to extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/PdfJsVersion.java
index 19d24f452a..8ea9f94318 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/PdfJsVersion.java
@@ -16,34 +16,19 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.extensions.pdfjs.wkt.integration.res;
-
-import org.apache.wicket.markup.head.HeaderItem;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+package org.apache.isis.extensions.pdfjs.wkt.integration;
 
 import lombok.Getter;
-import lombok.experimental.Accessors;
-
-import de.agilecoders.wicket.webjars.request.resource.WebjarsJavaScriptResourceReference;
-
-public class PdfJsReference
-extends WebjarsJavaScriptResourceReference {
-
-    private static final long serialVersionUID = 1L;
-
-    @Getter(lazy = true) @Accessors(fluent = true)
-    private static final PdfJsReference instance =
-        new PdfJsReference();
-
-    private PdfJsReference() {
-        super("pdfjs-dist/build/pdf.min.js");
-    }
-
-    /**
-     * @return this resource reference singleton instance as header item
-     */
-    public static HeaderItem asHeaderItem() {
-        return JavaScriptHeaderItem.forReference(instance());
-    }
+import lombok.RequiredArgsConstructor;
+
+@RequiredArgsConstructor
+public enum PdfJsVersion {
+    /** <i>Mozilla pdf.js</i> last released version {@code 1.10.100} */
+    V1_X("v1", "pdfjs-dist"),
+    /** <i>Mozilla pdf.js</i> latest version */
+    V2_X("v2", "pdfjs-dist/2.13.216")
+    ;
+    @Getter private final String integrationScriptSuffix;
+    @Getter private final String webjarPath;
 
 }
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
index 47d22fcee2..8ba726e98b 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
 
 import org.apache.isis.extensions.pdfjs.applib.config.PdfJsConfig;
+import org.apache.isis.extensions.pdfjs.wkt.integration.IsisModuleExtPdfjsWicketIntegration;
 
 import lombok.Getter;
 import lombok.experimental.Accessors;
@@ -38,7 +39,9 @@ extends JavaScriptResourceReference {
         new PdfJsIntegrationReference();
 
     private PdfJsIntegrationReference() {
-        super(PdfJsIntegrationReference.class, "pdfjs-integration-v1.js");
+        super(PdfJsIntegrationReference.class,
+                String.format("pdfjs-integration-%s.js",
+                        IsisModuleExtPdfjsWicketIntegration.getPdfJsVersion().getIntegrationScriptSuffix()));
     }
 
     /**
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java
index 19d24f452a..29ff467d0e 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsReference.java
@@ -21,6 +21,8 @@ package org.apache.isis.extensions.pdfjs.wkt.integration.res;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 
+import org.apache.isis.extensions.pdfjs.wkt.integration.IsisModuleExtPdfjsWicketIntegration;
+
 import lombok.Getter;
 import lombok.experimental.Accessors;
 
@@ -36,7 +38,8 @@ extends WebjarsJavaScriptResourceReference {
         new PdfJsReference();
 
     private PdfJsReference() {
-        super("pdfjs-dist/build/pdf.min.js");
+        super(String.format("%s/build/pdf.min.js",
+                IsisModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath()));
     }
 
     /**
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java
index 40331dabdd..650a898c51 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/PdfJsWorkerReference.java
@@ -24,6 +24,7 @@ import org.apache.wicket.request.Url;
 import org.apache.wicket.request.cycle.RequestCycle;
 
 import org.apache.isis.extensions.pdfjs.applib.config.PdfJsConfig;
+import org.apache.isis.extensions.pdfjs.wkt.integration.IsisModuleExtPdfjsWicketIntegration;
 
 import lombok.Getter;
 import lombok.val;
@@ -41,7 +42,8 @@ extends WebjarsJavaScriptResourceReference {
         new PdfJsWorkerReference();
 
     private PdfJsWorkerReference() {
-        super("pdfjs-dist/build/pdf.worker.min.js");
+        super(String.format("%s/build/pdf.worker.min.js",
+                IsisModuleExtPdfjsWicketIntegration.getPdfJsVersion().getWebjarPath()));
     }
 
     /**