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 2021/03/18 08:05:17 UTC
[isis] branch master updated: ISIS-2575: Wicket: fix PanelAbstract
generics
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 485d9ba ISIS-2575: Wicket: fix PanelAbstract generics
485d9ba is described below
commit 485d9ba552681d223a650f20b55bc6ebb55028c4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Mar 18 09:04:14 2021 +0100
ISIS-2575: Wicket: fix PanelAbstract generics
---
.../webapp/wicket/ui/custom/WhereInTheWorldPanel.java | 4 +++-
.../ui/components/CollectionContentsAsExcel.java | 5 ++++-
.../ui/component/CalendaredCollectionAbstract.java | 4 +++-
.../wicket/pdfjs/ui/components/PdfJsViewerPanel.java | 7 ++++---
.../components/PdfJsViewerPanelComponentFactory.java | 4 +---
.../pdfjs/ui/components/PdfJsViewerReference.java | 3 +++
.../ui/components/ScalarPanelAbstractLegacy.java | 5 ++---
.../viewer/wicket/ui/components/about/AboutPanel.java | 4 ++--
.../ui/components/actioninfo/ActionInfoPanel.java | 4 +++-
.../ui/components/actionlink/ActionLinkPanel.java | 4 +++-
.../entityactions/AdditionalLinksPanel.java | 3 ++-
.../serviceactions/CssMenuItemPanelAbstract.java | 5 +++--
.../serviceactions/CssSubMenuItemsPanel.java | 3 ++-
.../actionprompt/ActionPromptHeaderPanel.java | 4 +++-
.../components/actions/ActionParametersFormPanel.java | 4 +++-
.../ui/components/actions/ActionParametersPanel.java | 4 +++-
.../bookmarkedpages/BookmarkedPagesPanel.java | 5 ++++-
.../ui/components/collection/CollectionPanel.java | 2 +-
.../collection/selector/CollectionSelectorPanel.java | 4 +++-
.../ajaxtable/CollectionContentsAsAjaxTablePanel.java | 2 +-
.../icons/CollectionContentsAsIconsPanel.java | 3 ++-
.../CollectionContentsMultipleViewsPanel.java | 3 ++-
.../summary/CollectionContentsAsSummary.java | 4 +++-
.../unresolved/CollectionContentsHiddenPanel.java | 6 +++++-
.../ui/components/empty/EmptyCollectionPanel.java | 4 +++-
.../entity/collection/EntityCollectionPanel.java | 4 +++-
.../ui/components/entity/fieldset/PropertyGroup.java | 2 +-
.../components/entity/header/EntityHeaderPanel.java | 4 +++-
.../entity/icontitle/EntityIconAndTitlePanel.java | 3 ++-
.../wicket/ui/components/footer/FooterPanel.java | 3 ++-
.../wicket/ui/components/header/HeaderPanel.java | 3 ++-
.../wicket/ui/components/layout/bs3/BS3GridPanel.java | 4 +++-
.../ui/components/layout/bs3/clearfix/ClearFix.java | 4 +++-
.../wicket/ui/components/layout/bs3/col/Col.java | 5 ++++-
.../wicket/ui/components/layout/bs3/row/Row.java | 5 ++++-
.../ui/components/layout/bs3/tabs/TabPanel.java | 4 +++-
.../ui/components/property/PropertyEditFormPanel.java | 3 ++-
.../ui/components/property/PropertyEditPanel.java | 4 +++-
.../propertyheader/PropertyEditPromptHeaderPanel.java | 4 +++-
.../ui/components/scalars/ScalarPanelAbstract.java | 3 ++-
.../components/scalars/image/JavaAwtImagePanel.java | 4 +++-
.../scalars/markup/StandaloneMarkupPanel.java | 4 +++-
.../StandaloneCollectionPanel.java | 4 +++-
.../ui/components/tree/StandaloneTreePanel.java | 4 +++-
.../ui/components/unknown/UnknownModelPanel.java | 7 ++++---
.../ui/components/value/StandaloneValuePanel.java | 4 +++-
.../ui/components/voidreturn/VoidReturnPanel.java | 3 ++-
.../wicket/ui/components/welcome/WelcomePanel.java | 3 ++-
.../widgets/breadcrumbs/BreadcrumbPanel.java | 3 ++-
.../widgets/buttons/ContainedButtonPanel.java | 3 ++-
.../widgets/buttons/ToggleButtonsPanel.java | 4 +++-
.../widgets/checkbox/ContainedToggleboxPanel.java | 3 ++-
.../zclip/SimpleClipboardModalWindowPanel.java | 3 ++-
.../components/widgets/zclip/ZeroClipboardPanel.java | 3 ++-
.../isis/viewer/wicket/ui/panels/PanelAbstract.java | 19 ++++++++-----------
.../wicket/ui/panels/PromptFormPanelAbstract.java | 6 +++---
56 files changed, 155 insertions(+), 77 deletions(-)
diff --git a/examples/demo/wicket/src/main/java/demoapp/webapp/wicket/ui/custom/WhereInTheWorldPanel.java b/examples/demo/wicket/src/main/java/demoapp/webapp/wicket/ui/custom/WhereInTheWorldPanel.java
index cd7cc43..c6aa3b8 100644
--- a/examples/demo/wicket/src/main/java/demoapp/webapp/wicket/ui/custom/WhereInTheWorldPanel.java
+++ b/examples/demo/wicket/src/main/java/demoapp/webapp/wicket/ui/custom/WhereInTheWorldPanel.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.request.resource.ByteArrayResource;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.viewer.common.model.object.ObjectUiModel;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
@@ -39,7 +40,8 @@ import demoapp.dom.featured.customui.geocoding.GeoapifyClient;
import demoapp.dom.featured.customui.vm.WhereInTheWorldVm;
//tag::class[]
-public class WhereInTheWorldPanel extends PanelAbstract<EntityModel> {
+public class WhereInTheWorldPanel
+extends PanelAbstract<ManagedObject, EntityModel> {
private static final long serialVersionUID = 1L; // <.>
diff --git a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
index ce357da..6f80ae3 100644
--- a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
+++ b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
@@ -19,12 +19,14 @@
package org.apache.isis.extensions.viewer.wicket.exceldownload.ui.components;
import java.io.File;
+import java.util.List;
import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.link.DownloadLink;
import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.panels.PanelUtil;
@@ -37,7 +39,8 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
*
* @since 2.0 {@index}
*/
-public class CollectionContentsAsExcel extends PanelAbstract<EntityCollectionModel> {
+public class CollectionContentsAsExcel
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel> {
private static final long serialVersionUID = 1L;
diff --git a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/CalendaredCollectionAbstract.java b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/CalendaredCollectionAbstract.java
index 3b7c857..0457b96 100644
--- a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/CalendaredCollectionAbstract.java
+++ b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/CalendaredCollectionAbstract.java
@@ -19,6 +19,7 @@
package org.apache.isis.extensions.fullcalendar.ui.component;
import java.util.Collection;
+import java.util.List;
import java.util.Set;
import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
@@ -40,7 +41,8 @@ import net.ftlines.wicket.fullcalendar.selector.EventSourceSelector;
* {@link PanelAbstract Panel} that represents a {@link EntityCollectionModel
* collection of entity}s rendered using {@link AjaxFallbackDefaultDataTable}.
*/
-public abstract class CalendaredCollectionAbstract extends PanelAbstract<EntityCollectionModel> {
+public abstract class CalendaredCollectionAbstract
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel> {
private static final long serialVersionUID = 1L;
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
index 956d44d..18a39b8 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanel.java
@@ -54,7 +54,6 @@ 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.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
import lombok.val;
@@ -63,11 +62,13 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
/**
*
*/
-class PdfJsViewerPanel extends ScalarPanelAbstractLegacy<ScalarPropertyModel> implements IRequestListener {
+class PdfJsViewerPanel
+extends ScalarPanelAbstractLegacy
+implements IRequestListener {
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_NAME = "scalarName";
+ //private static final String ID_SCALAR_NAME = "scalarName";
private static final String ID_SCALAR_VALUE = "scalarValue";
private static final String ID_FEEDBACK = "feedback";
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
index e553479..a0b9847 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerPanelComponentFactory.java
@@ -26,15 +26,13 @@ import javax.inject.Inject;
import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
-import org.apache.isis.applib.services.inject.ServiceInjector;
import org.apache.isis.applib.value.Blob;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.extensions.viewer.wicket.pdfjs.metamodel.facet.PdfJsViewerFacet;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.extensions.viewer.wicket.pdfjs.metamodel.facet.PdfJsViewerFacet;
-
import lombok.val;
@org.springframework.stereotype.Component
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerReference.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerReference.java
index b1e6de0..4d3db9d 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerReference.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/PdfJsViewerReference.java
@@ -19,6 +19,7 @@
package org.apache.isis.extensions.viewer.wicket.pdfjs.ui.components;
import java.util.List;
+
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.resource.JQueryPluginResourceReference;
@@ -26,6 +27,8 @@ import org.wicketstuff.pdfjs.WicketStuffPdfJsReference;
class PdfJsViewerReference extends JQueryPluginResourceReference {
+ private static final long serialVersionUID = 1L;
+
public PdfJsViewerReference() {
super(PdfJsViewerPanel.class, "PdfJsViewerPanel.js");
}
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/ScalarPanelAbstractLegacy.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/ScalarPanelAbstractLegacy.java
index fd2b6f3..d9be8ce 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/ScalarPanelAbstractLegacy.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/components/ScalarPanelAbstractLegacy.java
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.extensions.viewer.wicket.pdfjs.ui.components;
import java.util.List;
@@ -61,8 +60,8 @@ import lombok.val;
* It is however still used by some wicket addons (specifically, pdfjs).
* </p>
*/
-abstract class ScalarPanelAbstractLegacy<T extends ScalarModel>
-extends PanelAbstract<T>
+abstract class ScalarPanelAbstractLegacy
+extends PanelAbstract<ManagedObject, ScalarModel>
implements ScalarModelProvider {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanel.java
index 3825e0c..f82d1b1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/about/AboutPanel.java
@@ -22,7 +22,6 @@ package org.apache.isis.viewer.wicket.ui.components.about;
import java.io.InputStream;
import javax.inject.Inject;
-import javax.inject.Named;
import javax.inject.Provider;
import javax.servlet.ServletContext;
@@ -39,7 +38,8 @@ import lombok.val;
* {@link PanelAbstract Panel} displaying welcome message (as used on
* {@link HomePage}).
*/
-public class AboutPanel extends PanelAbstract<AboutModel> {
+public class AboutPanel
+extends PanelAbstract<String, AboutModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
index c5e928e..3d76df8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actioninfo/ActionInfoPanel.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.actioninfo;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -29,7 +30,8 @@ import lombok.val;
/**
* Renders a panel providing summary information about an action.
*/
-public class ActionInfoPanel extends PanelAbstract<ActionModel> {
+public class ActionInfoPanel
+extends PanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanel.java
index 8e4a38a..93bd4fa 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionlink/ActionLinkPanel.java
@@ -25,6 +25,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.PageType;
@@ -35,7 +36,8 @@ import org.apache.isis.viewer.wicket.ui.util.Links;
* {@link PanelAbstract Panel} representing the icon and title of an entity,
* as per the provided {@link EntityModel}.
*/
-public class ActionLinkPanel extends PanelAbstract<ActionModel> {
+public class ActionLinkPanel
+extends PanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
index 82d79e4..76e1a6f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
@@ -42,7 +42,8 @@ import org.apache.isis.viewer.wicket.ui.util.Tooltips;
import lombok.val;
-public class AdditionalLinksPanel extends PanelAbstract<ListOfLinksModel> {
+public class AdditionalLinksPanel
+extends PanelAbstract<List<LinkAndLabel>, ListOfLinksModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItemPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItemPanelAbstract.java
index 4069731..21768d2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItemPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItemPanelAbstract.java
@@ -27,11 +27,12 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
* Package-level adapter for menu items and submenu-items.
*/
-abstract class CssMenuItemPanelAbstract<T extends IModel<?>> extends PanelAbstract<T> {
+abstract class CssMenuItemPanelAbstract<T, M extends IModel<T>>
+extends PanelAbstract<T, M> {
private static final long serialVersionUID = 1L;
- public CssMenuItemPanelAbstract(final String id, final T model) {
+ public CssMenuItemPanelAbstract(final String id, final M model) {
super(id, model);
setRenderBodyOnly(true);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssSubMenuItemsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssSubMenuItemsPanel.java
index 2ac948d..fb3e04a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssSubMenuItemsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssSubMenuItemsPanel.java
@@ -29,7 +29,8 @@ import org.apache.wicket.model.util.ListModel;
* Panel containing a list of {@link CssMenuItem}s acting as submenus of a
* parent {@link CssMenuItem}.
*/
-class CssSubMenuItemsPanel extends CssMenuItemPanelAbstract<CssSubMenuItemsPanel.MyModel> {
+class CssSubMenuItemsPanel
+extends CssMenuItemPanelAbstract<List<CssMenuItem>, CssSubMenuItemsPanel.MyModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
index eaa261e..837482c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionprompt/ActionPromptHeaderPanel.java
@@ -23,6 +23,7 @@ import org.apache.wicket.model.IModel;
import org.apache.isis.commons.internal.base._Blackhole;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -31,7 +32,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
* A panel used as a title for the action prompts
*/
-public class ActionPromptHeaderPanel extends PanelAbstract<ActionModel> {
+public class ActionPromptHeaderPanel
+extends PanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
private static final String ID_ACTION_NAME = "actionName";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
index dab7c1e..3f4c56e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersFormPanel.java
@@ -19,6 +19,7 @@
package org.apache.isis.viewer.wicket.ui.components.actions;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanel;
@@ -34,7 +35,8 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
* corresponding panel for property edits is {@link PropertyEditFormPanel}.
* </p>
*/
-public class ActionParametersFormPanel extends PromptFormPanelAbstract<ActionModel> {
+public class ActionParametersFormPanel
+extends PromptFormPanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
index b0c7ffb..a44445c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersPanel.java
@@ -23,6 +23,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -39,7 +40,8 @@ import lombok.Setter;
* <p>
* Corresponding component to edit properties is {@link PropertyEditPanel}.
*/
-public class ActionParametersPanel extends PanelAbstract<ActionModel> {
+public class ActionParametersPanel
+extends PanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
index eac11da..6958225 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/bookmarkedpages/BookmarkedPagesPanel.java
@@ -19,6 +19,8 @@
package org.apache.isis.viewer.wicket.ui.components.bookmarkedpages;
+import java.util.List;
+
import javax.inject.Inject;
import org.apache.wicket.Component;
@@ -53,7 +55,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import org.apache.isis.viewer.wicket.ui.util.Links;
-public class BookmarkedPagesPanel extends PanelAbstract<BookmarkedPagesModel> {
+public class BookmarkedPagesPanel
+extends PanelAbstract<List<BookmarkTreeNode>, BookmarkedPagesModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index 7318437..c2c3984 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -57,7 +57,7 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
* of) {@link ScalarPanelAbstract}.
*/
public class CollectionPanel
-extends PanelAbstract<EntityCollectionModel>
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel>
implements CollectionSelectorProvider, BulkActionsProvider {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
index 609cf8b..e969441 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorPanel.java
@@ -36,6 +36,7 @@ import org.apache.wicket.model.Model;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.core.metamodel.commons.StringExtensions;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.hints.IsisSelectorEvent;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -52,7 +53,8 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
* {@link org.apache.isis.viewer.wicket.ui.ComponentType#COLLECTION_CONTENTS} with a backing
* {@link org.apache.isis.viewer.wicket.model.models.EntityCollectionModel}.
*/
-public class CollectionSelectorPanel extends PanelAbstract<EntityCollectionModel> {
+public class CollectionSelectorPanel
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 8c0ecda..f2ce01d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -65,7 +65,7 @@ import lombok.val;
* collection of entity}s rendered using {@link AjaxFallbackDefaultDataTable}.
*/
public class CollectionContentsAsAjaxTablePanel
-extends PanelAbstract<EntityCollectionModel>
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel>
implements CollectionCountProvider {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
index 32f5c15..37c3c80 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/icons/CollectionContentsAsIconsPanel.java
@@ -35,7 +35,8 @@ import lombok.val;
* {@link PanelAbstract Panel} that represents a {@link EntityCollectionModel
* collection of entity}s rendered using a simple list of icons.
*/
-public class CollectionContentsAsIconsPanel extends PanelAbstract<EntityCollectionModel> {
+public class CollectionContentsAsIconsPanel
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
index 945b6d8..2901d11 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/multiple/CollectionContentsMultipleViewsPanel.java
@@ -25,6 +25,7 @@ import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.event.IEvent;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.hints.IsisEnvelopeEvent;
import org.apache.isis.viewer.wicket.model.hints.IsisSelectorEvent;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -45,7 +46,7 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
* view for a backing {@link EntityCollectionModel}.
*/
public class CollectionContentsMultipleViewsPanel
-extends PanelAbstract<EntityCollectionModel>
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel>
implements CollectionCountProvider {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
index 1174470..a563721 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.java
@@ -51,7 +51,9 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
* collection of entity}s rendered using as a table of summary values with a
* chart alongside.
*/
-public class CollectionContentsAsSummary extends PanelAbstract<EntityCollectionModel> implements CollectionCountProvider {
+public class CollectionContentsAsSummary
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel>
+implements CollectionCountProvider {
private static final String ID_MAX = "max";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
index e86dce3..edf9733 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/unresolved/CollectionContentsHiddenPanel.java
@@ -19,6 +19,9 @@
package org.apache.isis.viewer.wicket.ui.components.collectioncontents.unresolved;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -27,7 +30,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
* {@link EntityCollectionModel collection of entity}s so that they can be only
* lazily resolved.
*/
-public class CollectionContentsHiddenPanel extends PanelAbstract<EntityCollectionModel> {
+public class CollectionContentsHiddenPanel
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanel.java
index 0bc44f3..9a3b5f8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/empty/EmptyCollectionPanel.java
@@ -19,10 +19,12 @@
package org.apache.isis.viewer.wicket.ui.components.empty;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class EmptyCollectionPanel extends PanelAbstract<ActionModel> {
+public class EmptyCollectionPanel
+extends PanelAbstract<ManagedObject, ActionModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
index d70b977..397a0d1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
@@ -34,6 +34,7 @@ import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -56,7 +57,8 @@ import lombok.val;
* {@link PanelAbstract Panel} representing the properties of an entity, as per
* the provided {@link EntityModel}.
*/
-public class EntityCollectionPanel extends PanelAbstract<EntityModel>
+public class EntityCollectionPanel
+extends PanelAbstract<ManagedObject, EntityModel>
implements HasDynamicallyVisibleContent {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
index 9f4ce91..ab21491 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/fieldset/PropertyGroup.java
@@ -55,7 +55,7 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import lombok.val;
-public class PropertyGroup extends PanelAbstract<EntityModel> implements HasDynamicallyVisibleContent {
+public class PropertyGroup extends PanelAbstract<ManagedObject, EntityModel> implements HasDynamicallyVisibleContent {
private static final long serialVersionUID = 1L;
private static final String ID_MEMBER_GROUP = "memberGroup";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
index 1216df0..e7fa993 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/header/EntityHeaderPanel.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.wicket.Component;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -39,7 +40,8 @@ import lombok.val;
* {@link PanelAbstract Panel} representing the summary details (title, icon and
* actions) of an entity, as per the provided {@link EntityModel}.
*/
-public class EntityHeaderPanel extends PanelAbstract<EntityModel> {
+public class EntityHeaderPanel
+extends PanelAbstract<ManagedObject, EntityModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
index 41a6dd7..b7da0c3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java
@@ -49,7 +49,8 @@ import lombok.val;
* {@link PanelAbstract Panel} representing the icon and title of an entity,
* as per the provided {@link EntityModel}.
*/
-public class EntityIconAndTitlePanel extends PanelAbstract<ObjectAdapterModel> {
+public class EntityIconAndTitlePanel
+extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
index 02c5bda..45b3c53 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
@@ -46,7 +46,8 @@ import lombok.val;
/**
* A panel for the default page footer
*/
-public class FooterPanel extends PanelAbstract<Model<String>> {
+public class FooterPanel
+extends PanelAbstract<String, Model<String>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.java
index fbeb81a..11dda45 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/header/HeaderPanel.java
@@ -43,7 +43,8 @@ import lombok.val;
/**
* A panel for the default page header
*/
-public class HeaderPanel extends PanelAbstract<Model<String>> {
+public class HeaderPanel
+extends PanelAbstract<String, Model<String>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/BS3GridPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/BS3GridPanel.java
index b0daef4..6a3976d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/BS3GridPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/BS3GridPanel.java
@@ -24,11 +24,13 @@ import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Grid;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Row;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.row.Row;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class BS3GridPanel extends PanelAbstract<EntityModel> {
+public class BS3GridPanel
+extends PanelAbstract<ManagedObject, EntityModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/clearfix/ClearFix.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/clearfix/ClearFix.java
index acc079c..0a6f2b9 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/clearfix/ClearFix.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/clearfix/ClearFix.java
@@ -21,12 +21,14 @@ package org.apache.isis.viewer.wicket.ui.components.layout.bs3.clearfix;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3ClearFix;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.Util;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-public class ClearFix extends PanelAbstract<EntityModel> {
+public class ClearFix
+extends PanelAbstract<ManagedObject, EntityModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/col/Col.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/col/Col.java
index 5facc87..e2e2f8c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/col/Col.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/col/Col.java
@@ -35,6 +35,7 @@ import org.apache.isis.applib.layout.grid.bootstrap3.BS3Tab;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3TabGroup;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
@@ -52,7 +53,9 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
import lombok.val;
-public class Col extends PanelAbstract<EntityModel> implements HasDynamicallyVisibleContent {
+public class Col
+extends PanelAbstract<ManagedObject, EntityModel>
+implements HasDynamicallyVisibleContent {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/row/Row.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/row/Row.java
index c9b2ca9..2b07132 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/row/Row.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/row/Row.java
@@ -24,6 +24,7 @@ import org.apache.isis.applib.layout.grid.bootstrap3.BS3ClearFix;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Col;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Row;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3RowContent;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.Util;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.clearfix.ClearFix;
@@ -33,7 +34,9 @@ import org.apache.isis.viewer.wicket.ui.panels.HasDynamicallyVisibleContent;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
-public class Row extends PanelAbstract<EntityModel> implements HasDynamicallyVisibleContent {
+public class Row
+extends PanelAbstract<ManagedObject, EntityModel>
+implements HasDynamicallyVisibleContent {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabPanel.java
index 73aa439..41e9909 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/bs3/tabs/TabPanel.java
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Row;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Tab;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.hints.HasUiHintDisambiguator;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.layout.bs3.Util;
@@ -31,7 +32,8 @@ import org.apache.isis.viewer.wicket.ui.panels.HasDynamicallyVisibleContent;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
-public class TabPanel extends PanelAbstract<EntityModel>
+public class TabPanel
+extends PanelAbstract<ManagedObject, EntityModel>
implements HasUiHintDisambiguator, HasDynamicallyVisibleContent {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
index da74de6..ff2399c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditFormPanel.java
@@ -19,6 +19,7 @@
package org.apache.isis.viewer.wicket.ui.components.property;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
import org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -33,7 +34,7 @@ import org.apache.isis.viewer.wicket.ui.panels.PromptFormPanelAbstract;
* </p>
*/
public class PropertyEditFormPanel
-extends PromptFormPanelAbstract<ScalarPropertyModel> {
+extends PromptFormPanelAbstract<ManagedObject, ScalarPropertyModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
index 3920af5..2e83beb 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/property/PropertyEditPanel.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
@@ -36,7 +37,8 @@ import lombok.val;
/**
* Corresponding component to prompt for action (parameters) is {@link ActionParametersPanel}.
*/
-public class PropertyEditPanel extends PanelAbstract<ScalarPropertyModel> {
+public class PropertyEditPanel
+extends PanelAbstract<ManagedObject, ScalarPropertyModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
index eabae87..a2b24b4 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/propertyheader/PropertyEditPromptHeaderPanel.java
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
@@ -29,7 +30,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import lombok.val;
-public class PropertyEditPromptHeaderPanel extends PanelAbstract<ScalarPropertyModel> {
+public class PropertyEditPromptHeaderPanel
+extends PanelAbstract<ManagedObject, ScalarPropertyModel> {
private static final long serialVersionUID = 1L;
private static final String ID_PROPERTY_NAME = "propertyName";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index f1e6e25..a4e5223 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -49,6 +49,7 @@ import org.apache.isis.commons.internal.debug._Probe.EntryPoint;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -82,7 +83,7 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
public abstract class ScalarPanelAbstract
-extends PanelAbstract<ScalarModel>
+extends PanelAbstract<ManagedObject, ScalarModel>
implements ScalarModelSubscriber {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
index d567669..1ff648e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/image/JavaAwtImagePanel.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.image;
import org.apache.wicket.feedback.ComponentFeedbackMessageFilter;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -29,7 +30,8 @@ import lombok.val;
import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel;
-public class JavaAwtImagePanel extends PanelAbstract<ScalarModel> {
+public class JavaAwtImagePanel
+extends PanelAbstract<ManagedObject, ScalarModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/StandaloneMarkupPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/StandaloneMarkupPanel.java
index 8d57fe2..882214f 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/StandaloneMarkupPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/StandaloneMarkupPanel.java
@@ -19,12 +19,14 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.markup;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import lombok.val;
-public class StandaloneMarkupPanel extends PanelAbstract<ValueModel> {
+public class StandaloneMarkupPanel
+extends PanelAbstract<ManagedObject, ValueModel> {
private static final long serialVersionUID = 1L;
private static final String ID_STANDALONE_VALUE = "standaloneValue";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
index a8fa564..2dbe942 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/standalonecollection/StandaloneCollectionPanel.java
@@ -26,6 +26,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -40,7 +41,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-public class StandaloneCollectionPanel extends PanelAbstract<EntityCollectionModel>
+public class StandaloneCollectionPanel
+extends PanelAbstract<List<ManagedObject>, EntityCollectionModel>
implements CollectionCountProvider, CollectionSelectorProvider {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
index e545b44..a8ebbaf 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
@@ -22,10 +22,12 @@ package org.apache.isis.viewer.wicket.ui.components.tree;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class StandaloneTreePanel extends PanelAbstract<ValueModel> {
+public class StandaloneTreePanel
+extends PanelAbstract<ManagedObject, ValueModel> {
private static final long serialVersionUID = 1L;
private static final String ID_TREE = "tree";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
index 105cd04..dfb9413 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/unknown/UnknownModelPanel.java
@@ -16,25 +16,26 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.viewer.wicket.ui.components.unknown;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import lombok.val;
-public class UnknownModelPanel extends PanelAbstract<IModel<?>> {
+public class UnknownModelPanel
+extends PanelAbstract<Object, IModel<Object>> {
private static final long serialVersionUID = 1L;
public UnknownModelPanel(final String id, IModel<?> model) {
- super(id, model);
+ super(id, _Casts.uncheckedCast(model));
buildGui(id);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
index fef2d79..f7e6566 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/value/StandaloneValuePanel.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.components.value;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -31,7 +32,8 @@ import lombok.val;
* Panel for rendering any value types that do not have their own custom
* {@link ScalarPanelAbstract panel} to render them.
*/
-public class StandaloneValuePanel extends PanelAbstract<ValueModel> {
+public class StandaloneValuePanel
+extends PanelAbstract<ManagedObject, ValueModel> {
private static final long serialVersionUID = 1L;
private static final String ID_STANDALONE_VALUE = "standaloneValue";
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/voidreturn/VoidReturnPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/voidreturn/VoidReturnPanel.java
index b186254..50e97fe 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/voidreturn/VoidReturnPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/voidreturn/VoidReturnPanel.java
@@ -23,7 +23,8 @@ import org.apache.wicket.model.IModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class VoidReturnPanel extends PanelAbstract<IModel<?>> {
+public class VoidReturnPanel
+extends PanelAbstract<Void, IModel<Void>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/welcome/WelcomePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/welcome/WelcomePanel.java
index 8ce69c5..dc12520 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/welcome/WelcomePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/welcome/WelcomePanel.java
@@ -32,7 +32,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
* {@link PanelAbstract Panel} displaying welcome message (as used on
* {@link HomePage}).
*/
-public class WelcomePanel extends PanelAbstract<WelcomeModel> {
+public class WelcomePanel
+extends PanelAbstract<String, WelcomeModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index b73f29c..20f693b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -45,7 +45,8 @@ import org.apache.isis.viewer.wicket.ui.errors.JGrowlUtil;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
+public class BreadcrumbPanel
+extends PanelAbstract<Void, IModel<Void>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ContainedButtonPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ContainedButtonPanel.java
index 7c090c1..5da192c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ContainedButtonPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ContainedButtonPanel.java
@@ -36,7 +36,8 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
/**
* A button contained within its own form.
*/
-public class ContainedButtonPanel extends PanelAbstract<Model<String>> {
+public class ContainedButtonPanel
+extends PanelAbstract<String, Model<String>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ToggleButtonsPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ToggleButtonsPanel.java
index 60c07b7..536e607 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ToggleButtonsPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/buttons/ToggleButtonsPanel.java
@@ -23,13 +23,15 @@ import java.io.Serializable;
import org.apache.wicket.Component;
+import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
* Abstraction of show/hide, ie two buttons only one of which is visible.
*/
-public class ToggleButtonsPanel extends PanelAbstract<EntityModel> {
+public class ToggleButtonsPanel
+extends PanelAbstract<ManagedObject, EntityModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
index 443a460..97741ce 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
@@ -30,7 +30,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
/**
* A button contained within its own form.
*/
-public class ContainedToggleboxPanel extends PanelAbstract<Model<Boolean>> {
+public class ContainedToggleboxPanel
+extends PanelAbstract<Boolean, Model<Boolean>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.java
index 14aadad..a1fef4a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.java
@@ -22,7 +22,8 @@ import org.apache.wicket.model.Model;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-public class SimpleClipboardModalWindowPanel extends PanelAbstract<Model<String>> {
+public class SimpleClipboardModalWindowPanel
+extends PanelAbstract<String, Model<String>> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
index 8d650e4..53ce9dc 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/ZeroClipboardPanel.java
@@ -32,7 +32,8 @@ import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
import de.agilecoders.wicket.jquery.util.Strings2;
-public class ZeroClipboardPanel extends PanelAbstract<ObjectAdapterModel> {
+public class ZeroClipboardPanel
+extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index 154715d..e04bc15 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -25,17 +25,17 @@ import org.apache.wicket.Component;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
+import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.util.Components;
/**
* Convenience adapter for {@link Panel}s built up using {@link ComponentType}s.
- * @param <T>
+ *
* @apiNote using raw-types here, to not further complicate generic type constraints on PanelAbstract
*/
-@SuppressWarnings("rawtypes")
-public abstract class PanelAbstract<T extends IModel<?>>
-extends PanelBase/*<IModel<X>>*/ {
+public abstract class PanelAbstract<T, M extends IModel<T>>
+extends PanelBase<T> {
private static final long serialVersionUID = 1L;
@@ -49,17 +49,15 @@ extends PanelBase/*<IModel<X>>*/ {
this(id, null);
}
- public PanelAbstract(final ComponentType componentType, final IModel<?> model) {
+ public PanelAbstract(final ComponentType componentType, final M model) {
this(componentType.getWicketId(), model);
}
- @SuppressWarnings("unchecked")
- public PanelAbstract(final String id, final IModel<?> model) {
+ public PanelAbstract(final String id, final M model) {
super(id, model);
this.componentType = ComponentType.lookup(id);
}
-
/**
* Will be null if created using {@link #PanelAbstract(String, IModel)}.
*/
@@ -67,10 +65,9 @@ extends PanelBase/*<IModel<X>>*/ {
return componentType;
}
- @SuppressWarnings("unchecked")
@Override
- public T getModel() {
- return (T) getDefaultModel();
+ public M getModel() {
+ return _Casts.uncheckedCast(getDefaultModel());
}
/**
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
index 04c98bc..27aff48 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormPanelAbstract.java
@@ -27,13 +27,13 @@ import org.apache.isis.viewer.wicket.model.models.FormExecutorContext;
* {@link PanelAbstract Panel} to capture the arguments for an action
* invocation.
*/
-public abstract class PromptFormPanelAbstract<T extends IModel<?> & FormExecutorContext>
-extends PanelAbstract<T> {
+public abstract class PromptFormPanelAbstract<T, M extends IModel<T> & FormExecutorContext>
+extends PanelAbstract<T, M> {
private static final long serialVersionUID = 1L;
- public PromptFormPanelAbstract(final String id, final T model) {
+ public PromptFormPanelAbstract(final String id, final M model) {
super(id, model);
}