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/09/15 11:13:36 UTC
[isis] branch master updated: ISIS-3198: start refactoring ScalarModel
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 8c499f6282 ISIS-3198: start refactoring ScalarModel
8c499f6282 is described below
commit 8c499f62822e0b365347b7fa7de430b2244df2da
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 15 13:13:26 2022 +0200
ISIS-3198: start refactoring ScalarModel
---
.../commons/model/scalar/HasUiParameter.java | 162 +++++++++++++++++++++
.../scalar/{UiProperty.java => HasUiProperty.java} | 41 ++----
.../viewer/commons/model/scalar/UiParameter.java | 75 ++++++++--
.../viewer/commons/model/scalar/UiProperty.java | 10 ++
.../isis/viewer/commons/model/scalar/UiScalar.java | 14 +-
.../wicket/model/models/ActionModelImpl.java | 4 +-
.../viewer/wicket/model/models/ScalarModel.java | 4 -
.../wicket/model/models/ScalarParameterModel.java | 50 ++-----
.../wicket/model/models/ScalarPropertyModel.java | 54 ++-----
.../viewer/wicket/model/models/UiObjectWkt.java | 2 +-
.../interaction/act/ActionInteractionWkt.java | 6 +-
...arameterUiModelWkt.java => UiParameterWkt.java} | 9 +-
.../interaction/prop/PropertyInteractionWkt.java | 6 +-
...{PropertyUiModelWkt.java => UiPropertyWkt.java} | 4 +-
.../components/actions/ActionParametersForm.java | 6 +-
.../components/tree/IsisToWicketTreeAdapter.java | 4 +-
16 files changed, 300 insertions(+), 151 deletions(-)
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiParameter.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiParameter.java
new file mode 100644
index 0000000000..a3a2cd09c9
--- /dev/null
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiParameter.java
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.commons.model.scalar;
+
+import java.util.Optional;
+
+import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
+import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
+import org.apache.isis.core.metamodel.object.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
+import org.apache.isis.core.metamodel.util.Facets;
+
+import lombok.NonNull;
+
+@FunctionalInterface
+public interface HasUiParameter extends UiParameter {
+
+ UiParameter getUiParameter();
+
+ @Override
+ default ObjectActionParameter getMetaModel() {
+ return getUiParameter().getMetaModel();
+ }
+
+ @Override
+ default ManagedObject getOwner() {
+ return getUiParameter().getOwner();
+ }
+
+ @Override
+ default @NonNull ManagedObject getValue() {
+ return getUiParameter().getValue();
+ }
+
+ @Override
+ default void setValue(final ManagedObject paramValue) {
+ getUiParameter().setValue(paramValue);
+ }
+
+ @Override
+ default ParameterNegotiationModel getParameterNegotiationModel() {
+ return getUiParameter().getParameterNegotiationModel();
+ }
+
+ @Override
+ default int getAutoCompleteMinLength() {
+ return hasAutoComplete() ? getMetaModel().getAutoCompleteMinLength() : 0;
+ }
+
+ @Override
+ default boolean hasChoices() {
+ return getMetaModel().hasChoices();
+ }
+
+ @Override
+ default boolean hasAutoComplete() {
+ return getMetaModel().hasAutoComplete();
+ }
+
+ @Override
+ default ManagedObject getDefault() {
+ return getMetaModel().getDefault(getParameterNegotiationModel());
+ }
+
+ @Override
+ default Can<ManagedObject> getChoices() {
+ return getMetaModel().getChoices(getParameterNegotiationModel(), InteractionInitiatedBy.USER);
+ }
+
+ @Override
+ default Can<ManagedObject> getAutoComplete(final String searchArg) {
+ return getMetaModel().getAutoComplete(getParameterNegotiationModel(), searchArg, InteractionInitiatedBy.USER);
+ }
+
+ @Override
+ default String getFriendlyName() {
+ return getMetaModel().getFriendlyName(this::getOwner);
+ }
+
+ @Override
+ default boolean isCollection() {
+ return getMetaModel().getFeatureType() == FeatureType.ACTION_PARAMETER_COLLECTION
+ || getMetaModel().getFeatureType() == FeatureType.COLLECTION;
+ }
+
+ @Override
+ default boolean isScalar() {
+ return !isCollection();
+ }
+
+ @Override
+ default Optional<String> getDescribedAs() {
+ return getMetaModel().getDescription(this::getOwner);
+ }
+
+ @Override
+ default String getFileAccept() {
+ return Facets.fileAccept(getMetaModel()).orElse(null);
+ }
+
+ @Override
+ default boolean isRequired() {
+ return !getMetaModel().isOptional();
+ }
+
+ @Override
+ default ObjectSpecification getScalarTypeSpec() {
+ return getMetaModel().getElementType();
+ }
+
+ @Override
+ default boolean hasObjectAutoComplete() {
+ return Facets.autoCompleteIsPresent(getScalarTypeSpec());
+ }
+
+ @Override
+ default int getParameterIndex() {
+ return getMetaModel().getParameterIndex();
+ }
+
+ @Override
+ default String getCssClass() {
+ return getUiParameter().getCssClass();
+ }
+
+ @Override
+ default String getIdentifier() {
+ return getUiParameter().getIdentifier();
+ }
+
+ @Override
+ default ActionInteractionHead getPendingParamHead() {
+ return getMetaModel().getAction().interactionHead(getUiParameter().getOwner());
+ }
+
+ @Override
+ default MetaModelContext getMetaModelContext() {
+ return getUiParameter().getMetaModel().getMetaModelContext();
+ }
+
+}
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiProperty.java
similarity index 51%
copy from viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java
copy to viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiProperty.java
index a0f0d95880..3f1ddecbd5 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/HasUiProperty.java
@@ -18,52 +18,29 @@
*/
package org.apache.isis.viewer.commons.model.scalar;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.interactions.managed.PropertyNegotiationModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-public interface UiProperty extends UiScalar {
+@FunctionalInterface
+public interface HasUiProperty extends UiProperty {
- /** prop meta model */
- @Override
- OneToOneAssociation getMetaModel();
-
- // -- PENDING PROPERTY VALUE MODEL
-
- PropertyNegotiationModel getPendingPropertyModel();
-
- // -- SHORTCUTS
-
- @Override
- default int getAutoCompleteMinLength() {
- return hasAutoComplete() ? getMetaModel().getAutoCompleteMinLength() : 0;
- }
-
- @Override
- default boolean hasChoices() {
- return getMetaModel().hasChoices();
- }
+ UiProperty getUiProperty();
@Override
- default boolean hasAutoComplete() {
- return getMetaModel().hasAutoComplete();
+ default ManagedObject getOwner() {
+ return getUiProperty().getOwner();
}
@Override
- default ManagedObject getDefault() {
- return getMetaModel().getDefault(getOwner());
+ default OneToOneAssociation getMetaModel() {
+ return getUiProperty().getMetaModel();
}
@Override
- default Can<ManagedObject> getChoices() {
- return getMetaModel().getChoices(getOwner(), InteractionInitiatedBy.USER);
+ default PropertyNegotiationModel getPendingPropertyModel() {
+ return getUiProperty().getPendingPropertyModel();
}
- @Override
- default Can<ManagedObject> getAutoComplete(final String searchArg) {
- return getMetaModel().getAutoComplete(getOwner(), searchArg, InteractionInitiatedBy.USER);
- }
}
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiParameter.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiParameter.java
index 81c65bf3ba..555c80d283 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiParameter.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiParameter.java
@@ -18,12 +18,18 @@
*/
package org.apache.isis.viewer.commons.model.scalar;
+import java.util.Optional;
+
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead;
import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
+import org.apache.isis.core.metamodel.util.Facets;
import lombok.NonNull;
@@ -40,19 +46,8 @@ public interface UiParameter extends UiScalar {
/** param value */
void setValue(ManagedObject paramValue);
- String getCssClass();
-
- // -- PENDING PARAMETER MODEL
-
ParameterNegotiationModel getParameterNegotiationModel();
- // -- SHORTCUTS
-
- /** param index */
- default int getParameterIndex() {
- return getMetaModel().getParameterIndex();
- }
-
@Override
default int getAutoCompleteMinLength() {
return hasAutoComplete() ? getMetaModel().getAutoCompleteMinLength() : 0;
@@ -83,10 +78,68 @@ public interface UiParameter extends UiScalar {
return getMetaModel().getAutoComplete(getParameterNegotiationModel(), searchArg, InteractionInitiatedBy.USER);
}
+ @Override
+ default String getFriendlyName() {
+ return getMetaModel().getFriendlyName(this::getOwner);
+ }
+
+ @Override
+ default boolean isCollection() {
+ return getMetaModel().getFeatureType() == FeatureType.ACTION_PARAMETER_COLLECTION
+ || getMetaModel().getFeatureType() == FeatureType.COLLECTION;
+ }
+
+ @Override
+ default boolean isScalar() {
+ return !isCollection();
+ }
+
+ @Override
+ default Optional<String> getDescribedAs() {
+ return getMetaModel().getDescription(this::getOwner);
+ }
+
+ @Override
+ default String getFileAccept() {
+ return Facets.fileAccept(getMetaModel()).orElse(null);
+ }
+
+ @Override
+ default boolean isRequired() {
+ return !getMetaModel().isOptional();
+ }
+
+ @Override
+ default ObjectSpecification getScalarTypeSpec() {
+ return getMetaModel().getElementType();
+ }
+
+ @Override
+ default boolean hasObjectAutoComplete() {
+ return Facets.autoCompleteIsPresent(getScalarTypeSpec());
+ }
+
+ default int getParameterIndex() {
+ return getMetaModel().getParameterIndex();
+ }
+
+ default String getCssClass() {
+ return getMetaModel().getCssClass("isis-");
+ }
+
+ @Override
+ default String getIdentifier() {
+ return "" + getParameterIndex();
+ }
+
default ActionInteractionHead getPendingParamHead() {
return getMetaModel().getAction().interactionHead(getOwner());
}
+ @Override
+ default MetaModelContext getMetaModelContext() {
+ return getMetaModel().getMetaModelContext();
+ }
}
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java
index a0f0d95880..2382c9a9e2 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiProperty.java
@@ -36,6 +36,16 @@ public interface UiProperty extends UiScalar {
// -- SHORTCUTS
+ @Override
+ default String getIdentifier() {
+ return getMetaModel().getFeatureIdentifier().getMemberLogicalName();
+ }
+
+ @Override
+ default String getCssClass() {
+ return getMetaModel().getCssClass("isis-");
+ }
+
@Override
default int getAutoCompleteMinLength() {
return hasAutoComplete() ? getMetaModel().getAutoCompleteMinLength() : 0;
diff --git a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiScalar.java b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiScalar.java
index 88f2aac15e..1b417b541c 100644
--- a/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiScalar.java
+++ b/viewers/commons/model/src/main/java/org/apache/isis/viewer/commons/model/scalar/UiScalar.java
@@ -21,6 +21,8 @@ package org.apache.isis.viewer.commons.model.scalar;
import java.util.Optional;
import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.metamodel.context.HasMetaModelContext;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -28,13 +30,23 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.core.metamodel.util.Facets;
import org.apache.isis.viewer.commons.model.UiModel;
-public interface UiScalar extends UiModel {
+public interface UiScalar extends UiModel, HasMetaModelContext {
ObjectFeature getMetaModel();
+ @Override
+ default MetaModelContext getMetaModelContext() {
+ return getMetaModel().getMetaModelContext();
+ }
+
/** action's or property's owner */
ManagedObject getOwner();
+ String getIdentifier();
+
+ String getCssClass();
+
+
/** feature name */
default String getFriendlyName() {
return getMetaModel().getFriendlyName(this::getOwner);
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModelImpl.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModelImpl.java
index 82e350bd3f..4d31c7e5b5 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModelImpl.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModelImpl.java
@@ -33,7 +33,7 @@ import org.apache.isis.core.metamodel.interactions.managed.ActionInteractionHead
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.models.interaction.act.ActionInteractionWkt;
-import org.apache.isis.viewer.wicket.model.models.interaction.act.ParameterUiModelWkt;
+import org.apache.isis.viewer.wicket.model.models.interaction.act.UiParameterWkt;
import org.apache.isis.viewer.wicket.model.util.PageParameterUtils;
import lombok.val;
@@ -156,7 +156,7 @@ implements ActionModel {
}
@Override
- public Stream<ParameterUiModelWkt> streamPendingParamUiModels() {
+ public Stream<UiParameterWkt> streamPendingParamUiModels() {
return delegate.streamParameterUiModels();
}
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 2c7fbb8e4c..2615fa155a 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
@@ -213,8 +213,6 @@ implements HasRenderingHints, UiScalar, LinksProvider, FormExecutorContext {
public abstract String validate(ManagedObject proposedAdapter);
- public abstract String getCssClass();
-
/**
* Viewers should not use facets directly.
* However, viewer extensions that provide their own facet types, will have to.
@@ -337,8 +335,6 @@ implements HasRenderingHints, UiScalar, LinksProvider, FormExecutorContext {
protected abstract String toStringOf();
- public abstract String getIdentifier();
-
public final AssociatedActions getAssociatedActions() {
if (associatedActions == null) {
associatedActions = new AssociatedActions(calcAssociatedActions());
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
index b26b0b1370..e6984279fd 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarParameterModel.java
@@ -19,31 +19,29 @@
package org.apache.isis.viewer.wicket.model.models;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
-import org.apache.isis.core.metamodel.interactions.managed.ParameterNegotiationModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.spec.ActionScope;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
-import org.apache.isis.viewer.commons.model.scalar.UiParameter;
-import org.apache.isis.viewer.wicket.model.models.interaction.act.ParameterUiModelWkt;
+import org.apache.isis.viewer.commons.model.scalar.HasUiParameter;
+import org.apache.isis.viewer.wicket.model.models.interaction.act.UiParameterWkt;
+import lombok.Getter;
import lombok.NonNull;
-import lombok.val;
public class ScalarParameterModel
extends ScalarModel
-implements UiParameter {
+implements HasUiParameter {
private static final long serialVersionUID = 1L;
- public static ScalarParameterModel wrap(final ParameterUiModelWkt delegate) {
+ public static ScalarParameterModel wrap(final UiParameterWkt delegate) {
return new ScalarParameterModel(delegate);
}
- private final ParameterUiModelWkt delegate;
+ @Getter(onMethod_={@Override})
+ private final UiParameterWkt uiParameter;
/**
* Creates a model representing an action parameter of an action of a parent
@@ -51,24 +49,9 @@ implements UiParameter {
* value (if any) of that action parameter.
*/
private ScalarParameterModel(
- final ParameterUiModelWkt delegate) {
- super(UiObjectWkt.ofAdapter(delegate.getMetaModelContext(), delegate.getOwner()));
- this.delegate = delegate;
- }
-
- @Override
- public ObjectActionParameter getMetaModel() {
- return delegate.getMetaModel();
- }
-
- @Override
- public String getIdentifier() {
- return "" + getParameterIndex();
- }
-
- @Override
- public String getCssClass() {
- return getMetaModel().getCssClass("isis-");
+ final UiParameterWkt uiParameter) {
+ super(UiObjectWkt.ofAdapter(uiParameter.getMetaModelContext(), uiParameter.getOwner()));
+ this.uiParameter = uiParameter;
}
@Override
@@ -112,17 +95,4 @@ implements UiParameter {
return getParameterNegotiationModel().getParamModels().getElseFail(getParameterIndex());
}
- @Override
- public ParameterNegotiationModel getParameterNegotiationModel() {
- return delegate.getParameterNegotiationModel();
- }
-
- // -- HELPER
-
- @Override
- public MetaModelContext getMetaModelContext() {
- return delegate.getMetaModelContext();
- }
-
-
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
index 44a466dd63..880c663016 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
@@ -20,32 +20,31 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.interactions.managed.InteractionVeto;
import org.apache.isis.core.metamodel.interactions.managed.ManagedProperty;
import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
-import org.apache.isis.core.metamodel.interactions.managed.PropertyNegotiationModel;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.viewer.commons.model.scalar.UiProperty;
-import org.apache.isis.viewer.wicket.model.models.interaction.prop.PropertyUiModelWkt;
+import org.apache.isis.viewer.commons.model.scalar.HasUiProperty;
+import org.apache.isis.viewer.wicket.model.models.interaction.prop.UiPropertyWkt;
+import lombok.Getter;
import lombok.val;
public class ScalarPropertyModel
extends ScalarModel
-implements UiProperty {
+implements HasUiProperty {
private static final long serialVersionUID = 1L;
- private PropertyUiModelWkt delegate;
+ @Getter(onMethod_={@Override})
+ private UiPropertyWkt uiProperty;
public static ScalarPropertyModel wrap(
- final PropertyUiModelWkt delegate,
+ final UiPropertyWkt uiProperty,
final ScalarRepresentation viewOrEdit,
final UiObjectWkt.RenderingHint renderingHint) {
- return new ScalarPropertyModel(delegate, viewOrEdit, renderingHint);
+ return new ScalarPropertyModel(uiProperty, viewOrEdit, renderingHint);
}
/**
@@ -54,43 +53,23 @@ implements UiProperty {
* property.
*/
private ScalarPropertyModel(
- final PropertyUiModelWkt delegate,
+ final UiPropertyWkt uiProperty,
final ScalarRepresentation viewOrEdit,
final UiObjectWkt.RenderingHint renderingHint) {
- super(UiObjectWkt.ofAdapter(delegate.getMetaModelContext(), delegate.getOwner()),
+ super(UiObjectWkt.ofAdapter(uiProperty.getMetaModelContext(), uiProperty.getOwner()),
viewOrEdit, renderingHint);
- this.delegate = delegate;
+ this.uiProperty = uiProperty;
}
/** @return new instance bound to the same delegate */
public ScalarPropertyModel copyHaving(
final ScalarRepresentation viewOrEdit,
final UiObjectWkt.RenderingHint renderingHint) {
- return wrap(delegate, viewOrEdit, renderingHint);
- }
-
- @Override
- public OneToOneAssociation getMetaModel() {
- return delegate.getMetaModel();
+ return wrap(uiProperty, viewOrEdit, renderingHint);
}
public ManagedProperty getManagedProperty() {
- return delegate.propertyInteraction().getManagedProperty().get();
- }
-
- @Override
- public PropertyNegotiationModel getPendingPropertyModel() {
- return delegate.getPendingPropertyModel();
- }
-
- @Override
- public String getIdentifier() {
- return getMetaModel().getFeatureIdentifier().getMemberLogicalName();
- }
-
- @Override
- public String getCssClass() {
- return getMetaModel().getCssClass("isis-");
+ return uiProperty.propertyInteraction().getManagedProperty().get();
}
@Override
@@ -123,7 +102,7 @@ implements UiProperty {
@Override
public String toStringOf() {
- val featureId = delegate.getMetaModel().getFeatureIdentifier();
+ val featureId = uiProperty.getMetaModel().getFeatureIdentifier();
return getFriendlyName() + ": " +
featureId.getLogicalTypeName() + "#" + featureId.getMemberLogicalName();
@@ -153,9 +132,4 @@ implements UiProperty {
return getManagedProperty().getAssociatedActions();
}
- @Override
- public MetaModelContext getMetaModelContext() {
- return delegate.getMetaModelContext();
- }
-
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/UiObjectWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/UiObjectWkt.java
index ae0e8273cc..b826996951 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/UiObjectWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/UiObjectWkt.java
@@ -168,7 +168,7 @@ implements
@Override
public String getTitle() {
- return getObject().getTitle();
+ return getManagedObject().getTitle();
}
@Override
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
index 772751bc15..74b56182fd 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ActionInteractionWkt.java
@@ -67,7 +67,7 @@ extends HasBookmarkedOwnerAbstract<ActionInteraction> {
private final String memberId;
private final Where where;
- private Can<ParameterUiModelWkt> childModels;
+ private Can<UiParameterWkt> childModels;
private @Nullable ScalarPropertyModel associatedWithPropertyIfAny;
private @Nullable ScalarParameterModel associatedWithParameterIfAny;
private @Nullable EntityCollectionModel associatedWithCollectionIfAny;
@@ -155,11 +155,11 @@ extends HasBookmarkedOwnerAbstract<ActionInteraction> {
// -- LAZY BINDING
- public Stream<ParameterUiModelWkt> streamParameterUiModels() {
+ public Stream<UiParameterWkt> streamParameterUiModels() {
if(childModels==null) {
final int paramCount = actionInteraction().getMetamodel().get().getParameterCount();
this.childModels = IntStream.range(0, paramCount)
- .mapToObj(paramIndex -> new ParameterUiModelWkt(this, paramIndex))
+ .mapToObj(paramIndex -> new UiParameterWkt(this, paramIndex))
.collect(Can.toCan());
}
return childModels.stream();
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/UiParameterWkt.java
similarity index 95%
rename from viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java
rename to viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/UiParameterWkt.java
index 44274a1bbc..dc9f71ae40 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/ParameterUiModelWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/act/UiParameterWkt.java
@@ -37,7 +37,7 @@ import lombok.NonNull;
*
* @see ActionInteractionWkt
*/
-public final class ParameterUiModelWkt
+public final class UiParameterWkt
extends ChainingModel<ActionInteraction>
implements
HasCommonContext,
@@ -48,7 +48,7 @@ implements
final int paramIndex;
- ParameterUiModelWkt(
+ UiParameterWkt(
final ActionInteractionWkt model,
final int paramIndex) {
super(model);
@@ -78,11 +78,6 @@ implements
return actionInteraction().getMetamodel().get().getParameters().getElseFail(paramIndex);
}
- @Override
- public String getCssClass() {
- return getMetaModel().getCssClass("isis-");
- }
-
@Override
public @NonNull ManagedObject getValue() {
return getParameterNegotiationModel().getParamValue(paramIndex);
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyInteractionWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyInteractionWkt.java
index 7103bee94e..986df74997 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyInteractionWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyInteractionWkt.java
@@ -59,7 +59,7 @@ extends HasBookmarkedOwnerAbstract<PropertyInteraction> {
private final String memberId;
private final Where where;
- private Can<PropertyUiModelWkt> childModels;
+ private Can<UiPropertyWkt> childModels;
public PropertyInteractionWkt(
final BookmarkedObjectWkt bookmarkedObject,
@@ -102,9 +102,9 @@ extends HasBookmarkedOwnerAbstract<PropertyInteraction> {
// -- LAZY BINDING
- public Stream<PropertyUiModelWkt> streamPropertyUiModels() {
+ public Stream<UiPropertyWkt> streamPropertyUiModels() {
if(childModels==null) {
- childModels = Can.ofSingleton(new PropertyUiModelWkt(this));
+ childModels = Can.ofSingleton(new UiPropertyWkt(this));
}
return childModels.stream();
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/UiPropertyWkt.java
similarity index 97%
rename from viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java
rename to viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/UiPropertyWkt.java
index d1d0776fd4..21a2669eb3 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/PropertyUiModelWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/interaction/prop/UiPropertyWkt.java
@@ -36,7 +36,7 @@ import org.apache.isis.viewer.wicket.model.models.HasCommonContext;
* @see PropertyInteractionWkt
* @see ChainingModel
*/
-public final class PropertyUiModelWkt
+public final class UiPropertyWkt
extends ChainingModel<PropertyInteraction>
implements
HasCommonContext,
@@ -45,7 +45,7 @@ implements
private static final long serialVersionUID = 1L;
- PropertyUiModelWkt(
+ UiPropertyWkt(
final PropertyInteractionWkt model) {
super(model);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
index 692bce8472..266f45b284 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionParametersForm.java
@@ -39,7 +39,7 @@ import org.apache.isis.viewer.commons.model.scalar.UiParameter;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.ScalarParameterModel;
import org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel;
-import org.apache.isis.viewer.wicket.model.models.interaction.act.ParameterUiModelWkt;
+import org.apache.isis.viewer.wicket.model.models.interaction.act.UiParameterWkt;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
import org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
@@ -75,7 +75,7 @@ extends PromptFormAbstract<ActionModel> {
paramPanels.clear();
actionModel.streamPendingParamUiModels()
- .map(ParameterUiModelWkt.class::cast)
+ .map(UiParameterWkt.class::cast)
.forEach(paramModel->{
val container = Wkt.containerAdd(repeatingView, repeatingView.newChildId());
@@ -89,7 +89,7 @@ extends PromptFormAbstract<ActionModel> {
private void newParamPanel(
final WebMarkupContainer container,
- final ParameterUiModelWkt paramModel,
+ final UiParameterWkt paramModel,
final Consumer<ScalarPanelAbstract> onNewScalarPanel) {
val scalarParamModel = ScalarParameterModel.wrap(paramModel);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
index 63c27008d6..88972f0302 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
@@ -50,8 +50,8 @@ import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.viewer.wicket.model.models.UiObjectWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.model.models.UiObjectWkt;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
import org.apache.isis.viewer.wicket.model.util.WktContext;
import org.apache.isis.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanel;
@@ -200,7 +200,7 @@ class IsisToWicketTreeAdapter {
// -- ISIS' TREE-MODEL
/**
- * Extending the EntityModel to also provide a TreePath.
+ * Extending the UiObjectWkt to also provide a TreePath.
*/
private static class TreeModel extends UiObjectWkt {
private static final long serialVersionUID = 8916044984628849300L;