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/05/07 15:31:18 UTC
[isis] 02/02: ISIS-2340: introduces shared FormPendingParamUiModel
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit efd93a562c381daef5df87e80de3551cb00f9b20
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu May 7 17:31:06 2020 +0200
ISIS-2340: introduces shared FormPendingParamUiModel
---
...ctionFormUiModel.java => FormPendingParamUiModel.java} | 12 +++++++++++-
.../form/{ActionFormUiModel.java => FormUiModel.java} | 2 +-
.../viewer/common/model/feature/ParameterUiModel.java | 3 ---
.../isis/viewer/wicket/model/models/ActionModel.java | 15 ++++-----------
.../ui/components/scalars/ScalarPanelAbstract2.java | 10 +++++-----
.../ui/components/scalars/ScalarPanelSelect2Abstract.java | 6 +++---
6 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
similarity index 66%
copy from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
copy to viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
index 28d551a..7367633 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormPendingParamUiModel.java
@@ -18,6 +18,16 @@
*/
package org.apache.isis.viewer.common.model.action.form;
-public interface ActionFormUiModel {
+import org.apache.isis.core.metamodel.consent.Consent;
+import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModel;
+import org.apache.isis.viewer.common.model.feature.ParameterUiModel;
+import lombok.Value;
+
+@Value(staticConstructor = "of")
+public class FormPendingParamUiModel {
+ final PendingParameterModel pendingArgs;
+ final ParameterUiModel paramModel;
+ final Consent visibilityConsent;
+ final Consent usabilityConsent;
}
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
similarity index 95%
rename from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
rename to viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
index 28d551a..5ad138b 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/ActionFormUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/form/FormUiModel.java
@@ -18,6 +18,6 @@
*/
package org.apache.isis.viewer.common.model.action.form;
-public interface ActionFormUiModel {
+public interface FormUiModel {
}
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
index a46d6fe..098766d 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/feature/ParameterUiModel.java
@@ -37,9 +37,6 @@ public interface ParameterUiModel extends ScalarUiModel {
/** param value */
void setValue(ManagedObject paramValue);
- /** actions's owner */
- ManagedObject getOwner();
-
String getCssClass();
// -- PENDING PARAMETER MODEL
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
index 44f79ce..42ea916 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
@@ -58,10 +58,9 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModel;
import org.apache.isis.core.metamodel.specloader.specimpl.PendingParameterModelHead;
import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
-import org.apache.isis.viewer.common.model.feature.ParameterUiModel;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
import org.apache.isis.viewer.wicket.model.mementos.ActionMemento;
-import lombok.Value;
import lombok.val;
public class ActionModel
@@ -457,15 +456,9 @@ implements FormExecutorContext {
argCache().clearParameterValue(actionParameter);
}
- @Value(staticConstructor = "of")
- public static class ActionArgumentModelAndConsents {
- final PendingParameterModel pendingArgs;
- final ParameterUiModel paramModel;
- final Consent visibilityConsent;
- final Consent usabilityConsent;
- }
- public Stream<ActionArgumentModelAndConsents> streamActionArgumentModels() {
+
+ public Stream<FormPendingParamUiModel> streamActionArgumentModels() {
val targetAdapter = this.getTargetAdapter();
val realTargetAdapter = this.getAction().realTargetAdapter(targetAdapter);
@@ -488,7 +481,7 @@ implements FormExecutorContext {
val usabilityConsent = objectActionParamter
.isUsable(realTargetAdapter, pendingArgValues, InteractionInitiatedBy.USER);
- return ActionArgumentModelAndConsents.of(
+ return FormPendingParamUiModel.of(
pendingArgs, actionArgumentModel, visibilityConsent, usabilityConsent);
});
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 0ea3577..f601fb3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -50,8 +50,8 @@ 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.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
-import org.apache.isis.viewer.wicket.model.models.ActionModel.ActionArgumentModelAndConsents;
import org.apache.isis.viewer.wicket.model.models.ActionPrompt;
import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -120,14 +120,14 @@ implements ScalarModelSubscriber2 {
/** this is a hack for the ScalarParameterModel, which does not support usability constraints in the model*/
private transient Runnable postInit;
@Deprecated // properly implement ScalarParameterModel
- public void postInit(@NonNull final ActionArgumentModelAndConsents argsAndConsents) {
+ public void postInit(@NonNull final FormPendingParamUiModel argAndConsents) {
this.postInit = () ->{
// visibility
- val visibilityConsent = argsAndConsents.getVisibilityConsent();
+ val visibilityConsent = argAndConsents.getVisibilityConsent();
setVisible(visibilityConsent.isAllowed());
// usability
- val usabilityConsent = argsAndConsents.getUsabilityConsent();
+ val usabilityConsent = argAndConsents.getUsabilityConsent();
if(usabilityConsent.isAllowed()) {
onInitializeEditable();
} else {
@@ -145,7 +145,7 @@ implements ScalarModelSubscriber2 {
* @return - true if changed as a result of these pending arguments.
*/
public Repaint updateIfNecessary(
- @NonNull final ActionArgumentModelAndConsents argsAndConsents,
+ @NonNull final FormPendingParamUiModel argsAndConsents,
@NonNull final Optional<AjaxRequestTarget> target) {
val argModel = argsAndConsents.getParamModel();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
index 93f41ab..610d5c7 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelSelect2Abstract.java
@@ -34,7 +34,7 @@ import org.apache.wicket.validation.ValidationError;
import org.wicketstuff.select2.ChoiceProvider;
import org.apache.isis.core.webapp.context.memento.ObjectMemento;
-import org.apache.isis.viewer.wicket.model.models.ActionModel.ActionArgumentModelAndConsents;
+import org.apache.isis.viewer.common.model.action.form.FormPendingParamUiModel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
import org.apache.isis.viewer.wicket.ui.components.widgets.select2.Select2;
@@ -177,10 +177,10 @@ public abstract class ScalarPanelSelect2Abstract extends ScalarPanelAbstract2 {
*/
@Override
public Repaint updateIfNecessary(
- @NonNull final ActionArgumentModelAndConsents argsAndConsents,
+ @NonNull final FormPendingParamUiModel argAndConsents,
@NonNull final Optional<AjaxRequestTarget> target) {
- val repaint = super.updateIfNecessary(argsAndConsents, target);
+ val repaint = super.updateIfNecessary(argAndConsents, target);
final boolean choicesUpdated = updateChoices();
if (repaint == Repaint.NOTHING) {