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/09 10:43:35 UTC
[isis] branch master updated: ISIS-3040: minor code review/cleanup
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 f58311cac9 ISIS-3040: minor code review/cleanup
f58311cac9 is described below
commit f58311cac91525fcf4d67c0e68849d5bc2a936f9
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon May 9 12:43:29 2022 +0200
ISIS-3040: minor code review/cleanup
---
.../repainting/PdfJsViewerAdvisorFallback.java | 8 +-
extensions/applib/excel/fixture/pom.xml | 17 --
.../pdfjs/applib/annotations/PdfJsViewer.java | 5 +-
.../pdfjs/applib/spi/PdfJsViewerAdvisor.java | 250 +++------------------
.../pdfjs/metamodel/facet/PdfJsViewerFacet.java | 2 +-
.../metamodel/facet/PdfJsViewerFacetAbstract.java | 12 +-
.../pdfjs/ui/components/PdfJsViewerPanel.java | 13 +-
.../PdfJsViewerPanelComponentFactory.java | 15 +-
.../java/org/wicketstuff/pdfjs/PdfJsPanel.java | 4 +-
.../java/org/wicketstuff/pdfjs/PdfJsReference.java | 2 +
.../pdfjs/WicketStuffPdfJsReference.java | 2 +
.../viewer/wicket/model/models/ScalarModel.java | 18 +-
12 files changed, 87 insertions(+), 261 deletions(-)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PdfJsViewerAdvisorFallback.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PdfJsViewerAdvisorFallback.java
index 669941c14f..451742ff3c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PdfJsViewerAdvisorFallback.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PdfJsViewerAdvisorFallback.java
@@ -27,19 +27,19 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.spi.PdfJsViewerAdvi
public class PdfJsViewerAdvisorFallback implements PdfJsViewerAdvisor {
@Override
- public Advice advise(InstanceKey instanceKey) {
+ public Advice advise(final InstanceKey instanceKey) {
return new Advice(1, new Advice.TypeAdvice(Scale._1_00, 400));
}
@Override
- public void pageNumChangedTo(InstanceKey instanceKey, int pageNum) {
+ public void pageNumChangedTo(final InstanceKey instanceKey, final int pageNum) {
}
@Override
- public void scaleChangedTo(InstanceKey instanceKey, Scale scale) {
+ public void scaleChangedTo(final InstanceKey instanceKey, final Scale scale) {
}
@Override
- public void heightChangedTo(InstanceKey instanceKey, int height) {
+ public void heightChangedTo(final InstanceKey instanceKey, final int height) {
}
}
diff --git a/extensions/applib/excel/fixture/pom.xml b/extensions/applib/excel/fixture/pom.xml
index a56fa6c9cd..a636ef4dab 100644
--- a/extensions/applib/excel/fixture/pom.xml
+++ b/extensions/applib/excel/fixture/pom.xml
@@ -92,28 +92,11 @@ under the License.
<artifactId>isis-testing-fixtures-applib</artifactId>
</dependency>
-<!--
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>jdom2</artifactId>
- <version>2.0.3</version>
- </dependency>
--->
-
<dependency>
<groupId>org.apache.isis.persistence</groupId>
<artifactId>isis-persistence-jdo-datanucleus</artifactId>
</dependency>
- <!-- test -->
-<!--
- <dependency>
- <groupId>org.togglz</groupId>
- <artifactId>togglz-junit</artifactId>
- <scope>test</scope>
- </dependency>
--->
-
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
index f5534d489f..7c82db2922 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
@@ -26,8 +26,9 @@ import java.lang.annotation.Target;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
/**
- * An annotation that could be applied on a property or parameter
- * of type {@link org.apache.isis.applib.value.Blob}. Such property/parameter will be visualized
+ * An annotation that can be applied on a <i>Property</i> or a <i>Parameter</i>
+ * of type {@link org.apache.isis.applib.value.Blob}.
+ * Such property/parameter will be visualized
* with <a href="https://github.com/mozilla/pdf.js">PDF.js</a> viewer.
*
* @since 2.0 {@index}
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
index 305317ccdb..4c5a91cf0a 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
@@ -25,6 +25,10 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
+import lombok.RequiredArgsConstructor;
+import lombok.Value;
+import lombok.With;
+
/**
* SPI service interface.
*
@@ -32,13 +36,9 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
*/
public interface PdfJsViewerAdvisor {
- @Programmatic
Advice advise(final InstanceKey instanceKey);
- @Programmatic
void pageNumChangedTo(final InstanceKey instanceKey, final int pageNum);
- @Programmatic
void scaleChangedTo(final InstanceKey instanceKey, final Scale scale);
- @Programmatic
void heightChangedTo(final InstanceKey instanceKey, final int height);
/**
@@ -48,11 +48,20 @@ public interface PdfJsViewerAdvisor {
* This is a (serializable) value type so that, for example, implementations can use as a key within a hash structure.
* </p>
*/
+ @Programmatic
+ @Value @RequiredArgsConstructor
class InstanceKey implements Serializable {
private static final long serialVersionUID = 1L;
private final TypeKey typeKey;
+
+ /**
+ * The identifier of the object being rendered.
+ * <p>
+ * The {@link TypeKey#getType()} and {@link #getIdentifier()} together constitute the object's
+ * identity (in effect, its {@link Bookmark}).
+ */
private final String identifier;
public InstanceKey(
@@ -60,151 +69,58 @@ public interface PdfJsViewerAdvisor {
final String identifier,
final String propertyId,
final String userName) {
- this.typeKey = new TypeKey(logicalTypeName, propertyId, userName);
- this.identifier = identifier;
- }
-
- @Programmatic
- public TypeKey getTypeKey() {
- return typeKey;
- }
-
- /**
- * The identifier of the object being rendered.
- *
- * <p>
- * The {@link TypeKey#getType()} and {@link #getIdentifier()} together constitute the object's
- * identity (in effect, its {@link Bookmark}).
- * </p>
- */
- @Programmatic
- public String getIdentifier() {
- return identifier;
+ this(new TypeKey(logicalTypeName, propertyId, userName), identifier);
}
- @Programmatic
public Bookmark asBookmark() {
return Bookmark.forLogicalTypeNameAndIdentifier(typeKey.logicalTypeName, identifier);
}
- @Override
- public boolean equals(final Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
-
- final InstanceKey instanceKey = (InstanceKey) o;
-
- if (typeKey != null ? !typeKey.equals(instanceKey.typeKey) : instanceKey.typeKey != null)
- return false;
- return identifier != null ? identifier.equals(instanceKey.identifier) : instanceKey.identifier == null;
- }
-
- @Override
- public int hashCode() {
- int result = typeKey != null ? typeKey.hashCode() : 0;
- result = 31 * result + (identifier != null ? identifier.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "ViewerKey{" +
- "typeKey=" + typeKey +
- ", identifier='" + identifier + '\'' +
- '}';
- }
-
/**
* Key for the rendering of a specific property of an object's type for an named individual.
- *
* <p>
- * This is a (serializable) value type so that, for example, implementations can use as a key within a hash structure.
- * </p>
+ * This is a (serializable) value type so that, for example,
+ * implementations can use as a key within a hash structure.
*/
+ @Programmatic
+ @Value @With
public static class TypeKey implements Serializable {
private static final long serialVersionUID = 1L;
- private final String logicalTypeName;
- private final String propertyId;
- private final String userName;
-
- public TypeKey(
- final String logicalTypeName,
- final String propertyId,
- final String userName) {
- this.logicalTypeName = logicalTypeName;
- this.propertyId = propertyId;
- this.userName = userName;
- }
-
/**
* The object type of the object being rendered.
*/
- @Programmatic
- public String getType() {
- return logicalTypeName;
- }
+ private final String logicalTypeName;
/**
* The property of the object (a {@link Blob} containing a PDF) being rendered.
*/
- @Programmatic
- public String getPropertyId() {
- return propertyId;
- }
+ private final String propertyId;
/**
* The user for whom the object's property is being rendered.
*/
- @Programmatic
- public String getUserName() {
- return userName;
- }
-
- @Override
- public boolean equals(final Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
-
- final TypeKey typeKey = (TypeKey) o;
-
- if (logicalTypeName != null ? !logicalTypeName.equals(typeKey.logicalTypeName) : typeKey.logicalTypeName != null)
- return false;
- if (propertyId != null ? !propertyId.equals(typeKey.propertyId) : typeKey.propertyId != null)
- return false;
- return userName != null ? userName.equals(typeKey.userName) : typeKey.userName == null;
- }
-
- @Override public int hashCode() {
- int result = logicalTypeName != null ? logicalTypeName.hashCode() : 0;
- result = 31 * result + (propertyId != null ? propertyId.hashCode() : 0);
- result = 31 * result + (userName != null ? userName.hashCode() : 0);
- return result;
- }
+ private final String userName;
- @Override
- public String toString() {
- return "TypeKey{" +
- "logicalTypeName='" + logicalTypeName + '\'' +
- ", propertyId='" + propertyId + '\'' +
- ", userName='" + userName + '\'' +
- '}';
+ /**
+ * The object type of the object being rendered.
+ */
+ @Deprecated // don't duplicate this getter
+ public String getType() {
+ return logicalTypeName;
}
}
}
/**
* Immutable value type.
- *
* <p>
- * The <code>withXxx</code> allow clones of the value to be created, for convenience of implementors.
- * </p>
+ * The <code>withXxx</code> allow clones of the value to be created,
+ * for convenience of implementors.
*/
+ @Programmatic
+ @Value @With
class Advice implements Serializable {
private static final long serialVersionUID = 1L;
@@ -212,64 +128,23 @@ public interface PdfJsViewerAdvisor {
private final Integer pageNum;
private final TypeAdvice typeAdvice;
- public Advice(final Integer pageNum, final TypeAdvice typeAdvice) {
- this.pageNum = pageNum;
- this.typeAdvice = typeAdvice;
- }
-
- @Programmatic
- public Integer getPageNum() {
- return pageNum;
- }
-
- @Programmatic
public Scale getScale() {
return typeAdvice.getScale();
}
- @Programmatic
public Integer getHeight() {
return typeAdvice.getHeight();
}
- @Programmatic
- public Advice withPageNum(Integer pageNum) {
- return new Advice(pageNum, this.typeAdvice);
- }
-
- @Programmatic
- public Advice withTypeAdvice(TypeAdvice typeAdvice) {
- return new Advice(this.pageNum, typeAdvice);
- }
-
- @Override
- public boolean equals(final Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
-
- final Advice advice = (Advice) o;
-
- if (pageNum != null ? !pageNum.equals(advice.pageNum) : advice.pageNum != null)
- return false;
- return typeAdvice != null ? typeAdvice.equals(advice.typeAdvice) : advice.typeAdvice == null;
- }
-
- @Override
- public int hashCode() {
- int result = pageNum != null ? pageNum.hashCode() : 0;
- result = 31 * result + (typeAdvice != null ? typeAdvice.hashCode() : 0);
- return result;
- }
-
/**
* Immutable value type representing the scale/height to render a PDF.
- *
* <p>
- * The <code>withXxx</code> allow clones of the value to be created, for convenience of implementors.
- * </p>
+ * The <code>withXxx</code> allow clones of the value to be created,
+ * for convenience of implementors.
*/
+ @Programmatic
+ @Value @With
+ @Deprecated // why not just inline?
public static class TypeAdvice implements Serializable {
private static final long serialVersionUID = 1L;
@@ -277,59 +152,6 @@ public interface PdfJsViewerAdvisor {
private final Scale scale;
private final Integer height;
- public TypeAdvice(final Scale scale, final Integer height) {
- this.scale = scale;
- this.height = height;
- }
-
- @Programmatic
- public Scale getScale() {
- return scale;
- }
-
- @Programmatic
- public Integer getHeight() {
- return height;
- }
-
- @Programmatic
- public TypeAdvice withScale(Scale scale) {
- return new TypeAdvice(scale, this.height);
- }
-
- @Programmatic
- public TypeAdvice withHeight(Integer height) {
- return new TypeAdvice(this.scale, height);
- }
-
- @Override
- public boolean equals(final Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
-
- final TypeAdvice that = (TypeAdvice) o;
-
- if (scale != that.scale)
- return false;
- return height != null ? height.equals(that.height) : that.height == null;
- }
-
- @Override
- public int hashCode() {
- int result = scale != null ? scale.hashCode() : 0;
- result = 31 * result + (height != null ? height.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "TypeAdvice{" +
- "scale=" + scale +
- ", height=" + height +
- '}';
- }
}
}
diff --git a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacet.java b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacet.java
index 6ba75f8f1e..13c20c4bb3 100644
--- a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacet.java
+++ b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacet.java
@@ -24,6 +24,6 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.spi.PdfJsViewerAdvi
public interface PdfJsViewerFacet extends Facet {
- PdfJsConfig configFor(final PdfJsViewerAdvisor.InstanceKey instanceKey);
+ PdfJsConfig configFor(PdfJsViewerAdvisor.InstanceKey instanceKey);
}
diff --git a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetAbstract.java b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetAbstract.java
index 2763c22dfa..a4a3f50adb 100644
--- a/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetAbstract.java
+++ b/extensions/vw/pdfjs/metamodel/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/metamodel/facet/PdfJsViewerFacetAbstract.java
@@ -24,8 +24,13 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.spi.PdfJsViewerAdvisor;
+public abstract class PdfJsViewerFacetAbstract
+extends FacetAbstract
+implements PdfJsViewerFacet {
-public abstract class PdfJsViewerFacetAbstract extends FacetAbstract implements PdfJsViewerFacet {
+ private static final Class<? extends Facet> type() {
+ return PdfJsViewerFacet.class;
+ }
private final PdfJsConfig config;
@@ -33,7 +38,6 @@ public abstract class PdfJsViewerFacetAbstract extends FacetAbstract implements
final PdfJsConfig config,
final FacetHolder holder) {
super(type(), holder);
-
this.config = config;
}
@@ -42,8 +46,4 @@ public abstract class PdfJsViewerFacetAbstract extends FacetAbstract implements
return config;
}
- private static final Class<? extends Facet> type() {
- return PdfJsViewerFacet.class;
- }
-
}
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
index addc748008..914eb6f29d 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
@@ -217,12 +217,13 @@ implements IRequestListener {
final ManagedObject adapter = scalarModel.getObject();
val blob = getBlob();
- if (adapter != null && blob != null) {
- val pdfJsViewerFacet = scalarModel.getFacet(PdfJsViewerFacet.class);
- val instanceKey = buildKey();
- val pdfJsConfig = pdfJsViewerFacet != null
- ? pdfJsViewerFacet.configFor(instanceKey)
- : new PdfJsConfig();
+ if (adapter != null
+ && blob != null) {
+
+ val pdfJsConfig =
+ scalarModel.lookupFacet(PdfJsViewerFacet.class)
+ .map(pdfJsViewerFacet->pdfJsViewerFacet.configFor(buildKey()))
+ .orElseGet(PdfJsConfig::new);
// Wicket 8 migration: previously this was urlFor(IResourceListener.INTERFACE, null);
val urlStr = urlFor(
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
index 35fc080411..febf35d388 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
@@ -46,14 +46,13 @@ public class PdfJsViewerPanelComponentFactory extends ComponentFactoryAbstract {
}
@Override
- public ApplicationAdvice appliesTo(IModel<?> model) {
+ public ApplicationAdvice appliesTo(final IModel<?> model) {
if (!(model instanceof ScalarModel)) {
return ApplicationAdvice.DOES_NOT_APPLY;
}
val scalarModel = (ScalarModel) model;
- val facet = scalarModel.getFacet(PdfJsViewerFacet.class);
- if(facet == null) {
+ if(!scalarModel.containsFacet(PdfJsViewerFacet.class)) {
return ApplicationAdvice.DOES_NOT_APPLY;
}
@@ -66,19 +65,19 @@ public class PdfJsViewerPanelComponentFactory extends ComponentFactoryAbstract {
if (objectAdapter == null) {
return false;
}
- final Object modelObject = objectAdapter.getPojo();
- if (!(modelObject instanceof Blob)) {
+ final Object objectPojo = objectAdapter.getPojo();
+ if (!(objectPojo instanceof Blob)) {
return false;
}
- final Blob blob = (Blob) modelObject;
+ final Blob blob = (Blob) objectPojo;
final MimeType mimeType = blob.getMimeType();
return Objects.equals("application", mimeType.getPrimaryType()) &&
Objects.equals("pdf", mimeType.getSubType());
}
@Override
- public Component createComponent(String id, IModel<?> model) {
- ScalarModel scalarModel = (ScalarModel) model;
+ public Component createComponent(final String id, final IModel<?> model) {
+ val scalarModel = (ScalarModel) model;
return new PdfJsViewerPanel(id, scalarModel);
}
}
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsPanel.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsPanel.java
index 9c8c0629a7..624dca89e5 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsPanel.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsPanel.java
@@ -33,6 +33,8 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.PdfJsConfig;
*/
public class PdfJsPanel extends Panel {
+ private static final long serialVersionUID = 1L;
+
private final PdfJsConfig config;
/**
@@ -40,7 +42,7 @@ public class PdfJsPanel extends Panel {
*
* @param id The component id
*/
- public PdfJsPanel(String id, PdfJsConfig config) {
+ public PdfJsPanel(final String id, final PdfJsConfig config) {
super(id);
this.config = Args.notNull(config, "config");
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsReference.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsReference.java
index 9edcedfe54..dfe4875d8e 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsReference.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/PdfJsReference.java
@@ -29,6 +29,8 @@ import org.apache.wicket.resource.JQueryPluginResourceReference;
public class PdfJsReference extends JQueryPluginResourceReference {
+ private static final long serialVersionUID = 1L;
+
public static final PdfJsReference INSTANCE = new PdfJsReference();
private PdfJsReference() {
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/WicketStuffPdfJsReference.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/WicketStuffPdfJsReference.java
index f6e80c8cfe..1ef404a2f7 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/WicketStuffPdfJsReference.java
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/wicketstuff/pdfjs/WicketStuffPdfJsReference.java
@@ -26,6 +26,8 @@ import org.apache.wicket.resource.JQueryPluginResourceReference;
public class WicketStuffPdfJsReference extends JQueryPluginResourceReference {
+ private static final long serialVersionUID = 1L;
+
public static final WicketStuffPdfJsReference INSTANCE = new WicketStuffPdfJsReference();
private WicketStuffPdfJsReference() {
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
index 5890d20c93..ae386b5990 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
@@ -220,12 +220,26 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
public abstract String getCssClass();
- @Deprecated // viewers should not directly use facets
+ /**
+ * Viewers should not use facets directly.
+ * However, viewer extensions that provide their own facet types, will have to.
+ */
+ public final <T extends Facet> boolean containsFacet(final Class<T> facetType) {
+ return getMetaModel().containsFacet(facetType);
+ }
+
+ /**
+ * Viewers should not use facets directly.
+ * However, viewer extensions that provide their own facet types, will have to.
+ */
public final <T extends Facet> T getFacet(final Class<T> facetType) {
return getMetaModel().getFacet(facetType);
}
- @Deprecated // viewers should not directly use facets
+ /**
+ * Viewers should not use facets directly.
+ * However, viewer extensions that provide their own facet types, will have to.
+ */
public final <T extends Facet> Optional<T> lookupFacet(final Class<T> facetType) {
return getMetaModel().lookupFacet(facetType);
}