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/10 09:18:45 UTC
[isis] 02/02: ISIS-3040: decouple pdf.js applib and metamodel from wicket
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
commit 4293500de3a89bd722d2146ca5bf50d818a5565d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 10 11:18:38 2022 +0200
ISIS-3040: decouple pdf.js applib and metamodel from wicket
---
extensions/vw/pdfjs/applib/pom.xml | 12 +--
.../wicket/pdfjs/applib/config/PdfJsConfig.java | 109 ++++++++-------------
.../viewer/wicket/pdfjs/applib/config/Scale.java | 8 +-
extensions/vw/pdfjs/metamodel/pom.xml | 5 -
.../facet/PdfJsViewerFacetFromAnnotation.java | 17 ++--
.../pdfjs/wkt/integration/PdfJsConfigWkt.java} | 36 ++++---
.../wicket/pdfjs/wkt/integration/PdfJsPanel.java | 13 ++-
.../integration/res/PdfJsIntegrationReference.java | 4 +-
.../pdfjs/wkt/integration/res/PdfJsReference.java | 11 ++-
extensions/vw/pdfjs/wicket/pom.xml | 7 ++
.../pdfjs/wkt/ui/components/PdfJsViewerPanel.java | 15 ++-
11 files changed, 112 insertions(+), 125 deletions(-)
diff --git a/extensions/vw/pdfjs/applib/pom.xml b/extensions/vw/pdfjs/applib/pom.xml
index 2e18e36b4a..961ee74da5 100644
--- a/extensions/vw/pdfjs/applib/pom.xml
+++ b/extensions/vw/pdfjs/applib/pom.xml
@@ -37,15 +37,13 @@
<dependencies>
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-applib</artifactId>
+ <groupId>org.apache.isis.commons</groupId>
+ <artifactId>isis-commons</artifactId>
</dependency>
-
+
<dependency>
- <groupId>de.agilecoders.wicket</groupId>
- <artifactId>wicket-bootstrap-core</artifactId>
- <!-- to avoid polluting the classpath -->
- <optional>true</optional>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-applib</artifactId>
</dependency>
</dependencies>
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
index 4c7474962d..375ead641a 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
@@ -18,93 +18,68 @@
*/
package org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config;
-import org.apache.wicket.util.lang.Args;
+import java.io.Serializable;
-import de.agilecoders.wicket.jquery.AbstractConfig;
-import de.agilecoders.wicket.jquery.IKey;
-import de.agilecoders.wicket.jquery.Key;
+import org.springframework.util.Assert;
+
+import org.apache.isis.commons.internal.resources._Json;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.With;
/**
* @since 2.0 {@index}
*/
-public class PdfJsConfig extends AbstractConfig {
+@Getter @With @AllArgsConstructor @NoArgsConstructor @Builder
+public class PdfJsConfig implements Serializable {
private static final long serialVersionUID = 1L;
- private static final IKey<Integer> INITIAL_PAGE = new Key<>("initialPage", 1);
- private static final IKey<String> INITIAL_SCALE = new Key<>("initialScale", Scale._1_00.getValue());
- private static final IKey<Integer> INITIAL_HEIGHT = new Key<>("initialHeight", 800);
- private static final IKey<Boolean> WORKER_DISABLED = new Key<>("workerDisabled", false);
- private static final IKey<CharSequence> PDF_DOCUMENT_URL = new Key<>("documentUrl", null);
- private static final IKey<CharSequence> WORKER_URL = new Key<>("workerUrl", null);
- private static final IKey<CharSequence> CANVAS_ID = new Key<>("canvasId", null);
+ @Builder.Default
+ private int initialPage = 1;
+
+ @Builder.Default
+ private Scale initialScale = Scale._1_00;
+
+ @Builder.Default
+ private int initialHeight = 800;
+
+ @Builder.Default
+ private boolean workerDisabled = false;
+
+ private CharSequence documentUrl;
+ private CharSequence workerUrl;
+ private CharSequence canvasId;
public PdfJsConfig withInitialPage(int initialPage) {
if (initialPage < 1) {
initialPage = 1;
}
- put(INITIAL_PAGE, initialPage);
- return this;
- }
-
- public int getInitialPage() {
- return get(INITIAL_PAGE);
+ return asBuilder().initialPage(initialPage).build();
}
public PdfJsConfig withInitialHeight(final int initialHeight) {
- Args.isTrue(initialHeight >= 400 && initialHeight <= 2000,
- "'initialHeight' must be between 400 and 2000");
- put(INITIAL_HEIGHT, initialHeight);
- return this;
- }
-
- public int getInitialHeight() {
- return get(INITIAL_HEIGHT);
- }
-
- public PdfJsConfig withInitialScale(final Scale initialScale) {
- put(INITIAL_SCALE, initialScale.getValue());
- return this;
- }
-
- public String getInitialScale() {
- return get(INITIAL_SCALE);
- }
-
- public PdfJsConfig disableWorker(final boolean disable) {
- put(WORKER_DISABLED, disable);
- return this;
- }
-
- public boolean isWorkerDisabled() {
- return get(WORKER_DISABLED);
- }
-
- public PdfJsConfig withDocumentUrl(final CharSequence url) {
- put(PDF_DOCUMENT_URL, url);
- return this;
- }
-
- public CharSequence getDocumentUrl() {
- return get(PDF_DOCUMENT_URL);
- }
-
- public PdfJsConfig withWorkerUrl(final String url) {
- put(WORKER_URL, url);
- return this;
- }
-
- public CharSequence getWorkerUrl() {
- return get(WORKER_URL);
+ Assert.isTrue(initialHeight >= 400 && initialHeight <= 2000,
+ ()->String.format("'initialHeight' must be between 400 and 2000; got %d", initialHeight));
+ return asBuilder().initialHeight(initialHeight).build();
}
- public PdfJsConfig withCanvasId(final String url) {
- put(CANVAS_ID, url);
- return this;
+ public PdfJsConfig.PdfJsConfigBuilder asBuilder() {
+ return PdfJsConfig.builder()
+ .canvasId(getCanvasId())
+ .documentUrl(getDocumentUrl())
+ .initialHeight(getInitialHeight())
+ .initialPage(getInitialPage())
+ .initialScale(getInitialScale())
+ .workerDisabled(isWorkerDisabled())
+ .workerUrl(getWorkerUrl());
}
- public CharSequence getCanvasId() {
- return get(CANVAS_ID);
+ public String toJsonString() {
+ return _Json.toString(this);
}
}
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
index 459a61f76d..53061a7fd0 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
@@ -18,7 +18,9 @@
*/
package org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config;
-import org.apache.wicket.util.lang.Objects;
+import java.util.Objects;
+
+import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -50,7 +52,7 @@ public enum Scale {
/** 400% */
_4_00("4.00"),;
- @Getter
+ @Getter @JsonValue
private final String value;
public static Scale forValue(final String scaleValue) {
@@ -58,7 +60,7 @@ public enum Scale {
return null;
}
for (Scale scale : Scale.values()) {
- if (Objects.equal(scale.value, scaleValue)) {
+ if (Objects.equals(scale.value, scaleValue)) {
return scale;
}
}
diff --git a/extensions/vw/pdfjs/metamodel/pom.xml b/extensions/vw/pdfjs/metamodel/pom.xml
index dda1fbb4d0..0844885f43 100644
--- a/extensions/vw/pdfjs/metamodel/pom.xml
+++ b/extensions/vw/pdfjs/metamodel/pom.xml
@@ -46,11 +46,6 @@
<artifactId>isis-core-metamodel</artifactId>
</dependency>
- <dependency>
- <groupId>de.agilecoders.wicket</groupId>
- <artifactId>wicket-bootstrap-core</artifactId>
- </dependency>
-
</dependencies>
</project>
diff --git a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetFromAnnotation.java b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetFromAnnotation.java
index 4a02a80008..eb771c46e9 100644
--- a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetFromAnnotation.java
+++ b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetFromAnnotation.java
@@ -42,21 +42,21 @@ public class PdfJsViewerFacetFromAnnotation extends PdfJsViewerFacetAbstract {
final PdfJsViewer annotation,
final FacetHolder holder) {
- PdfJsConfig config = new PdfJsConfig();
+ var config = new PdfJsConfig();
int initialPage = annotation.initialPageNum();
if (initialPage > 0) {
- config.withInitialPage(initialPage);
+ config = config.withInitialPage(initialPage);
}
final Scale initialScale = annotation.initialScale();
if (initialScale != Scale._1_00) {
- config.withInitialScale(initialScale);
+ config = config.withInitialScale(initialScale);
}
int initialHeight = annotation.initialHeight();
if (initialHeight > 0) {
- config.withInitialHeight(initialHeight);
+ config = config.withInitialHeight(initialHeight);
}
return new PdfJsViewerFacetFromAnnotation(config, holder);
@@ -64,7 +64,7 @@ public class PdfJsViewerFacetFromAnnotation extends PdfJsViewerFacetAbstract {
@Override
public PdfJsConfig configFor(final PdfJsViewerAdvisor.InstanceKey instanceKey) {
- final PdfJsConfig config = super.configFor(instanceKey);
+ var config = super.configFor(instanceKey);
if(advisors != null) {
for (PdfJsViewerAdvisor advisor : advisors) {
@@ -72,15 +72,15 @@ public class PdfJsViewerFacetFromAnnotation extends PdfJsViewerFacetAbstract {
if(advice != null) {
final Integer pageNum = advice.getPageNum();
if(pageNum != null) {
- config.withInitialPage(pageNum);
+ config = config.withInitialPage(pageNum);
}
final Scale scale = advice.getScale();
if(scale != null) {
- config.withInitialScale(scale);
+ config = config.withInitialScale(scale);
}
final Integer height = advice.getHeight();
if(height != null) {
- config.withInitialHeight(height);
+ config = config.withInitialHeight(height);
}
break;
}
@@ -90,5 +90,4 @@ public class PdfJsViewerFacetFromAnnotation extends PdfJsViewerFacetAbstract {
return config;
}
-
}
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsConfigWkt.java
similarity index 70%
copy from extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
copy to extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsConfigWkt.java
index 4c7474962d..c50af9edf9 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsConfigWkt.java
@@ -16,18 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config;
+package org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration;
import org.apache.wicket.util.lang.Args;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
+
import de.agilecoders.wicket.jquery.AbstractConfig;
import de.agilecoders.wicket.jquery.IKey;
import de.agilecoders.wicket.jquery.Key;
-/**
- * @since 2.0 {@index}
- */
-public class PdfJsConfig extends AbstractConfig {
+public class PdfJsConfigWkt extends AbstractConfig {
private static final long serialVersionUID = 1L;
@@ -39,7 +39,19 @@ public class PdfJsConfig extends AbstractConfig {
private static final IKey<CharSequence> WORKER_URL = new Key<>("workerUrl", null);
private static final IKey<CharSequence> CANVAS_ID = new Key<>("canvasId", null);
- public PdfJsConfig withInitialPage(int initialPage) {
+ public static PdfJsConfigWkt from(final PdfJsConfig config) {
+ return new PdfJsConfigWkt()
+ .withCanvasId(config.getCanvasId())
+ .withDocumentUrl(config.getDocumentUrl())
+ .withInitialHeight(config.getInitialHeight())
+ .withInitialScale(config.getInitialScale())
+ .withInitialHeight(config.getInitialHeight())
+ .withWorkerUrl(config.getWorkerUrl())
+ .disableWorker(config.isWorkerDisabled())
+ ;
+ }
+
+ public PdfJsConfigWkt withInitialPage(int initialPage) {
if (initialPage < 1) {
initialPage = 1;
}
@@ -51,7 +63,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(INITIAL_PAGE);
}
- public PdfJsConfig withInitialHeight(final int initialHeight) {
+ public PdfJsConfigWkt withInitialHeight(final int initialHeight) {
Args.isTrue(initialHeight >= 400 && initialHeight <= 2000,
"'initialHeight' must be between 400 and 2000");
put(INITIAL_HEIGHT, initialHeight);
@@ -62,7 +74,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(INITIAL_HEIGHT);
}
- public PdfJsConfig withInitialScale(final Scale initialScale) {
+ public PdfJsConfigWkt withInitialScale(final Scale initialScale) {
put(INITIAL_SCALE, initialScale.getValue());
return this;
}
@@ -71,7 +83,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(INITIAL_SCALE);
}
- public PdfJsConfig disableWorker(final boolean disable) {
+ public PdfJsConfigWkt disableWorker(final boolean disable) {
put(WORKER_DISABLED, disable);
return this;
}
@@ -80,7 +92,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(WORKER_DISABLED);
}
- public PdfJsConfig withDocumentUrl(final CharSequence url) {
+ public PdfJsConfigWkt withDocumentUrl(final CharSequence url) {
put(PDF_DOCUMENT_URL, url);
return this;
}
@@ -89,7 +101,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(PDF_DOCUMENT_URL);
}
- public PdfJsConfig withWorkerUrl(final String url) {
+ public PdfJsConfigWkt withWorkerUrl(final CharSequence url) {
put(WORKER_URL, url);
return this;
}
@@ -98,7 +110,7 @@ public class PdfJsConfig extends AbstractConfig {
return get(WORKER_URL);
}
- public PdfJsConfig withCanvasId(final String url) {
+ public PdfJsConfigWkt withCanvasId(final CharSequence url) {
put(CANVAS_ID, url);
return this;
}
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsPanel.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsPanel.java
index f09eebe1fb..93168c1e7a 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsPanel.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/PdfJsPanel.java
@@ -22,7 +22,6 @@ import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.WebComponent;
import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.res.PdfJsIntegrationReference;
import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.res.PdfJsReference;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
@@ -42,27 +41,27 @@ public class PdfJsPanel extends Panel {
private final static String ID_PDFJSCANVAS = "pdfJsCanvas";
@Getter @Accessors(makeFinal = true)
- private final PdfJsConfig config;
+ private PdfJsConfigWkt config;
/**
* Constructor.
*
* @param id The component id
*/
- public PdfJsPanel(final String id, final @NonNull PdfJsConfig config) {
+ public PdfJsPanel(final String id, final @NonNull PdfJsConfigWkt config) {
super(id);
- this.config = config;
-
val pdfJsCanvas = Wkt.add(this, Wkt.ajaxEnable(new WebComponent(ID_PDFJSCANVAS)));
- config.withCanvasId(pdfJsCanvas.getMarkupId());
+
+ this.config = PdfJsReference.configureWorkerUrl(config)
+ .withCanvasId(pdfJsCanvas.getMarkupId());
}
@Override
public void renderHead(final IHeaderResponse response) {
super.renderHead(response);
- response.render(PdfJsReference.asHeaderItem(config));
+ response.render(PdfJsReference.asHeaderItem());
response.render(PdfJsIntegrationReference.asHeaderItem());
response.render(PdfJsIntegrationReference.domReadyScript(config));
}
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
index d601148590..3ed6fa164f 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsIntegrationReference.java
@@ -23,7 +23,7 @@ import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
-import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.PdfJsConfigWkt;
import lombok.Getter;
import lombok.experimental.Accessors;
@@ -49,7 +49,7 @@ extends JavaScriptResourceReference {
}
public static OnDomReadyHeaderItem domReadyScript(
- final PdfJsConfig config) {
+ final PdfJsConfigWkt config) {
return OnDomReadyHeaderItem.forScript(
String.format("WicketStuff.PDFJS.init(%s)", config.toJsonString()));
}
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsReference.java b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsReference.java
index a19a37bef1..2a4d6cbee2 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsReference.java
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/integration/res/PdfJsReference.java
@@ -24,7 +24,7 @@ import org.apache.wicket.request.Url;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
-import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.PdfJsConfigWkt;
import lombok.Getter;
import lombok.experimental.Accessors;
@@ -43,15 +43,16 @@ extends JavaScriptResourceReference {
}
/**
- * As a side-effect updates config's worker-url.
- * @param config
* @return this resource reference singleton instance as header item
*/
- public static HeaderItem asHeaderItem(final PdfJsConfig config) {
- config.withWorkerUrl(createPdfJsWorkerUrl());
+ public static HeaderItem asHeaderItem() {
return JavaScriptHeaderItem.forReference(instance());
}
+ public static PdfJsConfigWkt configureWorkerUrl(final PdfJsConfigWkt config) {
+ return config.withWorkerUrl(createPdfJsWorkerUrl());
+ }
+
// -- HELPER
private static String createPdfJsWorkerUrl() {
diff --git a/extensions/vw/pdfjs/wicket/pom.xml b/extensions/vw/pdfjs/wicket/pom.xml
index 0a03e1ba91..5b234e48d5 100644
--- a/extensions/vw/pdfjs/wicket/pom.xml
+++ b/extensions/vw/pdfjs/wicket/pom.xml
@@ -35,5 +35,12 @@
<module>integration</module>
<module>ui</module>
</modules>
+
+ <dependency>
+ <groupId>de.agilecoders.wicket</groupId>
+ <artifactId>wicket-bootstrap-core</artifactId>
+ <!-- to avoid polluting the classpath -->
+ <optional>true</optional>
+ </dependency>
</project>
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
index 611a16774d..fc3835f7a1 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/wkt/ui/components/PdfJsViewerPanel.java
@@ -48,6 +48,7 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.spi.PdfJsViewerAdvisor;
import org.apache.isis.extensions.viewer.wicket.pdfjs.metamodel.facet.PdfJsViewerFacet;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.PdfJsConfigWkt;
import org.apache.isis.extensions.viewer.wicket.pdfjs.wkt.integration.PdfJsPanel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -211,16 +212,14 @@ implements IRequestListener {
if (adapter != null
&& blob != null) {
- val pdfJsConfig =
+ val pdfJsConfig = PdfJsConfigWkt.from(
scalarModel.lookupFacet(PdfJsViewerFacet.class)
.map(pdfJsViewerFacet->pdfJsViewerFacet.configFor(buildKey()))
- .orElseGet(PdfJsConfig::new);
+ .orElseGet(PdfJsConfig::new)
+ .withDocumentUrl(urlFor(
+ new ListenerRequestHandler(
+ new PageAndComponentProvider(getPage(), this)))));
- // Wicket 8 migration: previously this was urlFor(IResourceListener.INTERFACE, null);
- val urlStr = urlFor(
- new ListenerRequestHandler(
- new PageAndComponentProvider(getPage(), this)));
- pdfJsConfig.withDocumentUrl(urlStr);
val pdfJsPanel = new PdfJsPanel(ID_SCALAR_VALUE, pdfJsConfig);
val prevPageButton = createComponent("prevPage", pdfJsConfig);
@@ -273,7 +272,7 @@ implements IRequestListener {
return containerIfCompact;
}
- private MarkupContainer createComponent(final String id, final PdfJsConfig config) {
+ private MarkupContainer createComponent(final String id, final PdfJsConfigWkt config) {
return new WebMarkupContainer(id) {
private static final long serialVersionUID = 1L;