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 2020/04/17 13:20:25 UTC
[isis] branch master updated: ISIS-2340: serialization fixes (part
2)
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 acd98e6 ISIS-2340: serialization fixes (part 2)
acd98e6 is described below
commit acd98e642a5c66e7f6ac13bd8492bf23ab2b5ac0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Apr 17 15:20:14 2020 +0200
ISIS-2340: serialization fixes (part 2)
---
.../apache/isis/viewer/wicket/model/links/LinkAndLabel.java | 9 +++++----
.../actionmenu/entityactions/EntityActionLinkFactory.java | 8 ++------
.../actionmenu/serviceactions/MenuActionLinkFactory.java | 10 +++++-----
.../actionmenu/serviceactions/ServiceActionUtil.java | 2 +-
4 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 98dfa71..a9e4533 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -41,11 +41,11 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel;
import lombok.NonNull;
import lombok.val;
-public class LinkAndLabel extends ActionUiModel<AbstractLink> implements Serializable {
+public final class LinkAndLabel extends ActionUiModel<AbstractLink> implements Serializable {
private static final long serialVersionUID = 1L;
- public static LinkAndLabel newLinkAndLabel(
+ public static LinkAndLabel of(
final ActionLinkUiComponentFactoryWkt uiComponentFactory,
final String named,
final EntityModel actionHolderModel,
@@ -53,7 +53,7 @@ public class LinkAndLabel extends ActionUiModel<AbstractLink> implements Seriali
return new LinkAndLabel(uiComponentFactory, named, actionHolderModel, objectAction);
}
- protected LinkAndLabel(
+ private LinkAndLabel(
final ActionLinkUiComponentFactoryWkt uiComponentFactory,
final String named,
final EntityModel actionHolderModel,
@@ -91,7 +91,8 @@ public class LinkAndLabel extends ActionUiModel<AbstractLink> implements Seriali
this.uiComponentFactory = (ActionLinkUiComponentFactoryWkt)target.uiComponentFactory;
this.named = target.getNamed();
this.actionHolder = (EntityModel) target.getActionHolder();
- this.actionHolderSpecId = actionHolder.getManagedObject().getSpecification().getSpecId();
+ // make sure we do this without side-effects
+ this.actionHolderSpecId = actionHolder.getTypeOfSpecification().getSpecId();
this.objectActionId = target.getObjectAction().getId();
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
index b464d22..ad00d04 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/EntityActionLinkFactory.java
@@ -19,8 +19,6 @@
package org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions;
-import org.apache.wicket.markup.html.link.AbstractLink;
-
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;
@@ -60,10 +58,8 @@ public final class EntityActionLinkFactory extends LinkAndLabelFactoryAbstract {
// previously we computed visibility and usability here, but
// this is now done at the point of rendering
- final AbstractLink link = super.newLinkComponent(objectAction, toggledMementosProviderIfAny);
-
- return LinkAndLabel.newLinkAndLabel(
- model->link,
+ return LinkAndLabel.of(
+ model->super.newLinkComponent(model.getObjectAction(), toggledMementosProviderIfAny),
named,
this.targetEntityModel,
objectAction);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/MenuActionLinkFactory.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/MenuActionLinkFactory.java
index a4c7a3a..7970dc6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/MenuActionLinkFactory.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/MenuActionLinkFactory.java
@@ -19,8 +19,6 @@
package org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions;
-import org.apache.wicket.markup.html.link.AbstractLink;
-
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;
@@ -41,9 +39,11 @@ class MenuActionLinkFactory extends LinkAndLabelFactoryAbstract {
final ObjectAction objectAction,
final String named) {
- final AbstractLink link = super.newLinkComponent(objectAction, toggledMementosProviderIfAny);
-
- return LinkAndLabel.newLinkAndLabel(model->link, named, this.targetEntityModel, objectAction);
+ return LinkAndLabel.of(
+ model->super.newLinkComponent(model.getObjectAction(), toggledMementosProviderIfAny),
+ named,
+ this.targetEntityModel,
+ objectAction);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
index 891c20a..7a2ab96 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionUtil.java
@@ -122,7 +122,7 @@ public final class ServiceActionUtil {
PageAbstract.ID_MENU_LINK,
serviceModel);
- return LinkAndLabel.newLinkAndLabel(
+ return LinkAndLabel.of(
model->actionLinkFactory.newActionLink(model.getObjectAction(), named).getUiComponent(),
named,
serviceModel,