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/11/15 10:33:35 UTC
[isis] branch master updated: ISIS-2882: Converter polishing
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 5a12283 ISIS-2882: Converter polishing
5a12283 is described below
commit 5a122831f43a276ef829f0522e128522c4c303e5
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Nov 15 11:33:25 2021 +0100
ISIS-2882: Converter polishing
- also unify EditOrView enums
---
.../ScalarRepresentation.java} | 26 +++++++++++++---------
.../common/ui/custom/WhereInTheWorldPanel.java | 5 +++--
.../testdomain/viewers/InteractionTestWkt.java | 3 ++-
.../viewer/common/model/object/ObjectUiModel.java | 19 ++++++++--------
.../model/converter/BigDecimalConverterWkt.java | 12 +++-------
.../model/converter/BigIntegerConverterWkt.java | 10 ++++++---
.../wicket/model/converter/ByteConverterWkt.java | 11 ++++++---
.../converter/ConverterBasedOnValueSemantics.java | 23 +++++++------------
.../wicket/model/converter/DoubleConverterWkt.java | 11 ++++++---
.../wicket/model/converter/FloatConverterWkt.java | 11 ++++++---
.../model/converter/IntegerConverterWkt.java | 11 ++++++---
.../wicket/model/converter/LongConverterWkt.java | 11 ++++++---
.../wicket/model/converter/ShortConverterWkt.java | 11 ++++++---
.../wicket/model/models/ChainingObjectModel.java | 8 +++----
.../viewer/wicket/model/models/EntityModel.java | 17 +++++++-------
.../viewer/wicket/model/models/ScalarModel.java | 12 +++++-----
.../wicket/model/models/ScalarPropertyModel.java | 7 +++---
.../ajaxtable/columns/GenericPropertyColumn.java | 3 ++-
.../components/entity/fieldset/PropertyGroup.java | 3 ++-
.../ui/components/property/PropertyEditPanel.java | 3 ++-
.../ui/components/scalars/ScalarPanelAbstract.java | 3 ++-
.../scalars/ScalarPanelTextFieldNumeric.java | 18 +++++++++++----
.../scalars/jdkmath/JavaMathBigDecimalPanel.java | 10 +++++++--
.../scalars/jdkmath/JavaMathBigIntegerPanel.java | 10 +++++++--
.../ui/components/scalars/primitive/BytePanel.java | 11 +++++++--
.../components/scalars/primitive/DoublePanel.java | 10 +++++++--
.../components/scalars/primitive/FloatPanel.java | 10 +++++++--
.../components/scalars/primitive/IntegerPanel.java | 10 +++++++--
.../ui/components/scalars/primitive/LongPanel.java | 10 +++++++--
.../components/scalars/primitive/ShortPanel.java | 10 +++++++--
.../widgets/zclip/ZeroClipboardPanel.java | 5 +++--
.../jdkmath/BigDecimalConverter_roundtrip.java | 4 ++--
32 files changed, 212 insertions(+), 116 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueRepresentation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/commons/ScalarRepresentation.java
similarity index 64%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueRepresentation.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/commons/ScalarRepresentation.java
index 1583fd5..b820864 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueRepresentation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/commons/ScalarRepresentation.java
@@ -16,31 +16,37 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.core.metamodel.facets.object.value;
+package org.apache.isis.core.metamodel.commons;
import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.adapters.Renderer;
/**
* Introduced specifically for value-types.
- *
- * @apiNote there are similarities with org.apache.isis.viewer.common.model.object.ObjectUiModel.EitherViewOrEdit,
- * which is not specific to value-types, but covers any scalars;
- * (thinking about unifying these two into one - more generic - enum)
*/
-public enum ValueRepresentation {
+public enum ScalarRepresentation {
- /** Indicates that for value-type to {@link String} conversion a {@link Parser} is required. */
+ /**
+ * Editing (parsing) mode, corresponds to 'regular' UI components.
+ * <p>
+ * In case of value-types, indicates that for value-type to {@link String} conversion,
+ * a {@link Parser} is required.
+ */
EDITING,
- /** Indicates that for value-type to {@link String} conversion a {@link Renderer} is required. */
- RENDERING;
+ /**
+ * Viewing (rendering) mode, corresponds to 'compact' UI components.
+ * <p>
+ * In case of value-types, indicates that for value-type to {@link String} conversion,
+ * a {@link Renderer} is required.
+ */
+ VIEWING;
public boolean isEditing() {
return this == EDITING;
}
public boolean isRendering() {
- return this == RENDERING;
+ return this == VIEWING;
}
}
diff --git a/examples/demo/wicket/common/src/main/java/demoapp/webapp/wicket/common/ui/custom/WhereInTheWorldPanel.java b/examples/demo/wicket/common/src/main/java/demoapp/webapp/wicket/common/ui/custom/WhereInTheWorldPanel.java
index 987502d..b4d436d 100644
--- a/examples/demo/wicket/common/src/main/java/demoapp/webapp/wicket/common/ui/custom/WhereInTheWorldPanel.java
+++ b/examples/demo/wicket/common/src/main/java/demoapp/webapp/wicket/common/ui/custom/WhereInTheWorldPanel.java
@@ -23,6 +23,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.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.common.model.components.ComponentType;
import org.apache.isis.viewer.common.model.object.ObjectUiModel;
@@ -86,7 +87,7 @@ extends PanelAbstract<ManagedObject, EntityModel> {
//tag::createMapComponent[]
@SneakyThrows
- private Image createMapComponent(String id, WhereInTheWorldVm vm) {
+ private Image createMapComponent(final String id, final WhereInTheWorldVm vm) {
val bytes = geoapifyClient.toJpeg(
vm.getLatitude(), vm.getLongitude(), vm.getZoom()); // <.>
return new Image(id, new ByteArrayResource("image/jpeg", bytes)); // <.>
@@ -102,7 +103,7 @@ extends PanelAbstract<ManagedObject, EntityModel> {
val scalarModel =
getModel().getPropertyModel( // <.>
- property, ObjectUiModel.EitherViewOrEdit.VIEW,
+ property, ScalarRepresentation.VIEWING,
ObjectUiModel.RenderingHint.REGULAR);
return getComponentFactoryRegistry().createComponent( // <.>
ComponentType.SCALAR_NAME_AND_VALUE, propertyId, scalarModel);
diff --git a/regressiontests/stable-viewers/src/test/java/org/apache/isis/testdomain/viewers/InteractionTestWkt.java b/regressiontests/stable-viewers/src/test/java/org/apache/isis/testdomain/viewers/InteractionTestWkt.java
index 4a2c2ee..7573616 100644
--- a/regressiontests/stable-viewers/src/test/java/org/apache/isis/testdomain/viewers/InteractionTestWkt.java
+++ b/regressiontests/stable-viewers/src/test/java/org/apache/isis/testdomain/viewers/InteractionTestWkt.java
@@ -34,6 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.runtime.context.IsisAppCommonContext;
@@ -117,7 +118,7 @@ class InteractionTestWkt extends InteractionTestAbstract {
final ScalarPropertyModel scalarModel = (ScalarPropertyModel) entityModel
.getPropertyModel(
prop,
- EntityModel.EitherViewOrEdit.VIEW,
+ ScalarRepresentation.VIEWING,
RenderingHint.PARENTED_PROPERTY_COLUMN);
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/object/ObjectUiModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/object/ObjectUiModel.java
index e1f212f..5c72bc3 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/object/ObjectUiModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/object/ObjectUiModel.java
@@ -19,6 +19,7 @@
package org.apache.isis.viewer.common.model.object;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
@@ -34,9 +35,9 @@ public interface ObjectUiModel {
.isVisible(getManagedObject(), InteractionInitiatedBy.USER);
}
- public enum EitherViewOrEdit {
- VIEW, EDIT
- }
+// public enum ScalarRepresentation {
+// VIEW, EDIT
+// }
@RequiredArgsConstructor
public enum RenderingHint {
@@ -98,27 +99,27 @@ public interface ObjectUiModel {
@Deprecated// make immutable? - need to recreate any bound UI components anyway
void setRenderingHint(RenderingHint renderingHint);
- EitherViewOrEdit getMode();
+ ScalarRepresentation getMode();
@Deprecated// make immutable? - need to recreate any bound UI components anyway
- void setMode(EitherViewOrEdit mode);
+ void setMode(ScalarRepresentation mode);
// -- SHORTCUTS
default boolean isViewMode() {
- return getMode() == EitherViewOrEdit.VIEW;
+ return getMode() == ScalarRepresentation.VIEWING;
}
default boolean isEditMode() {
- return getMode() == EitherViewOrEdit.EDIT;
+ return getMode() == ScalarRepresentation.EDITING;
}
default HasRenderingHints toEditMode() {
- setMode(EitherViewOrEdit.EDIT);
+ setMode(ScalarRepresentation.EDITING);
return this;
}
default HasRenderingHints toViewMode() {
- setMode(EitherViewOrEdit.VIEW);
+ setMode(ScalarRepresentation.VIEWING);
return this;
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigDecimalConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigDecimalConverterWkt.java
index eb0357a..7eaed08 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigDecimalConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigDecimalConverterWkt.java
@@ -20,9 +20,8 @@ package org.apache.isis.viewer.wicket.model.converter;
import java.math.BigDecimal;
-import org.apache.isis.core.metamodel.facets.object.value.ValueRepresentation;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import lombok.NonNull;
@@ -32,14 +31,9 @@ extends ConverterBasedOnValueSemantics<BigDecimal> {
private static final long serialVersionUID = 1L;
public BigDecimalConverterWkt(
- final @NonNull ScalarModel scalarModel) {
- super(scalarModel);
- }
-
- public BigDecimalConverterWkt(
final @NonNull ObjectFeature objFeature,
- final @NonNull ValueRepresentation valueRepresentation) {
- super(objFeature, valueRepresentation);
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
\ No newline at end of file
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigIntegerConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigIntegerConverterWkt.java
index eb78a47..b732f5a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigIntegerConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BigIntegerConverterWkt.java
@@ -20,15 +20,19 @@ package org.apache.isis.viewer.wicket.model.converter;
import java.math.BigInteger;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class BigIntegerConverterWkt
extends ConverterBasedOnValueSemantics<BigInteger> {
private static final long serialVersionUID = 1L;
- public BigIntegerConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public BigIntegerConverterWkt(@NonNull final ObjectFeature propOrParam,
+ @NonNull final ScalarRepresentation scalarRepresentation) {
+ super(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ByteConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ByteConverterWkt.java
index b8dc3bf..3ae5afd 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ByteConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ByteConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class ByteConverterWkt
extends ConverterBasedOnValueSemantics<Byte> {
private static final long serialVersionUID = 1L;
- public ByteConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public ByteConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
index bc693c2..ce9eb16 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
@@ -26,14 +26,13 @@ import org.apache.wicket.util.convert.IConverter;
import org.apache.isis.applib.Identifier;
import org.apache.isis.commons.internal.base._Either;
import org.apache.isis.commons.internal.exceptions._Exceptions;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
-import org.apache.isis.core.metamodel.facets.object.value.ValueRepresentation;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.runtime.context.IsisAppCommonContext;
import org.apache.isis.core.runtime.context.IsisAppCommonContext.HasCommonContext;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.model.util.CommonContextUtils;
import lombok.NonNull;
@@ -48,20 +47,14 @@ implements
private static final long serialVersionUID = 1L;
private final Identifier featureIdentifier;
- private final ValueRepresentation valueRepresentation;
+ private final ScalarRepresentation scalarRepresentation;
private transient _Either<OneToOneAssociation, ObjectActionParameter> propOrParam;
private transient IsisAppCommonContext commonContext;
- protected ConverterBasedOnValueSemantics(final ScalarModel scalarModel) {
- this(scalarModel.getMetaModel(), scalarModel.isEditMode()
- ? ValueRepresentation.EDITING
- : ValueRepresentation.RENDERING);
- }
-
protected ConverterBasedOnValueSemantics(
final @NonNull ObjectFeature propOrParam,
- final @NonNull ValueRepresentation valueRepresentation) {
- this.valueRepresentation = valueRepresentation;
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ this.scalarRepresentation = scalarRepresentation;
this.propOrParam = propOrParam instanceof OneToOneAssociation // memoize
? _Either.left((OneToOneAssociation)propOrParam)
: _Either.right((ObjectActionParameter)propOrParam);
@@ -76,7 +69,7 @@ implements
public final T convertToObject(final String text, final Locale locale) throws ConversionException {
// guard against framework bugs
- if(valueRepresentation.isRendering()) {
+ if(scalarRepresentation.isRendering()) {
throw _Exceptions.illegalArgument("Internal Error: "
+ "cannot convert a rendering representation back to its value-type '%s' -> %s",
text,
@@ -114,11 +107,11 @@ implements
val context = valueFacet
.createValueSemanticsContext(feature);
- switch(valueRepresentation) {
+ switch(scalarRepresentation) {
case EDITING:
return valueFacet.selectParserForFeatureElseFallback(feature)
.parseableTextRepresentation(context, value);
- case RENDERING:
+ case VIEWING:
return propOrParam.fold(
prop->valueFacet.selectRendererForPropertyElseFallback(prop)
.simpleTextPresentation(context, value),
@@ -126,7 +119,7 @@ implements
.simpleTextPresentation(context, value));
}
- throw _Exceptions.unmatchedCase(valueRepresentation);
+ throw _Exceptions.unmatchedCase(scalarRepresentation);
}
// -- HELPER
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/DoubleConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/DoubleConverterWkt.java
index bbe1fb2..7796385 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/DoubleConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/DoubleConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class DoubleConverterWkt
extends ConverterBasedOnValueSemantics<Double> {
private static final long serialVersionUID = 1L;
- public DoubleConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public DoubleConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/FloatConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/FloatConverterWkt.java
index bae486b..3934179 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/FloatConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/FloatConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class FloatConverterWkt
extends ConverterBasedOnValueSemantics<Float> {
private static final long serialVersionUID = 1L;
- public FloatConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public FloatConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/IntegerConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/IntegerConverterWkt.java
index b5dc5f9..42e5ec5 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/IntegerConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/IntegerConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class IntegerConverterWkt
extends ConverterBasedOnValueSemantics<Integer> {
private static final long serialVersionUID = 1L;
- public IntegerConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public IntegerConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/LongConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/LongConverterWkt.java
index 2ba392c..5e9b055 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/LongConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/LongConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class LongConverterWkt
extends ConverterBasedOnValueSemantics<Long> {
private static final long serialVersionUID = 1L;
- public LongConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public LongConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ShortConverterWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ShortConverterWkt.java
index 267ac7d..200d7d1 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ShortConverterWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ShortConverterWkt.java
@@ -18,15 +18,20 @@
*/
package org.apache.isis.viewer.wicket.model.converter;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
+
+import lombok.NonNull;
public class ShortConverterWkt
extends ConverterBasedOnValueSemantics<Short> {
private static final long serialVersionUID = 1L;
- public ShortConverterWkt(final ScalarModel scalarModel) {
- super(scalarModel);
+ public ShortConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ChainingObjectModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ChainingObjectModel.java
index 1b3f4c8..6a2da84 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ChainingObjectModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ChainingObjectModel.java
@@ -21,9 +21,9 @@ package org.apache.isis.viewer.wicket.model.models;
import org.apache.wicket.model.ChainingModel;
import org.apache.isis.commons.internal.exceptions._Exceptions;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.viewer.common.model.object.ObjectUiModel.EitherViewOrEdit;
import org.apache.isis.viewer.common.model.object.ObjectUiModel.RenderingHint;
/**
@@ -74,8 +74,8 @@ implements ObjectAdapterModel {
}
@Override
- public EntityModel.EitherViewOrEdit getMode() {
- return EntityModel.EitherViewOrEdit.VIEW;
+ public ScalarRepresentation getMode() {
+ return ScalarRepresentation.VIEWING;
}
@Override
@@ -90,7 +90,7 @@ implements ObjectAdapterModel {
}
@Override
- public void setMode(final EitherViewOrEdit mode) {
+ public void setMode(final ScalarRepresentation mode) {
throw _Exceptions.unexpectedCodeReach();
}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index dcc983370..f31664a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -30,6 +30,7 @@ import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.hint.HintStore;
import org.apache.isis.commons.internal.assertions._Assert;
import org.apache.isis.commons.internal.collections._Maps;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.metamodel.spec.feature.memento.PropertyMemento;
@@ -80,14 +81,14 @@ implements
final @NonNull IsisAppCommonContext commonContext,
final @Nullable ManagedObject adapter) {
return new EntityModel(BookmarkedObjectWkt.ofAdapter(commonContext, adapter),
- EitherViewOrEdit.VIEW, RenderingHint.REGULAR);
+ ScalarRepresentation.VIEWING, RenderingHint.REGULAR);
}
public static EntityModel ofBookmark(
final @NonNull IsisAppCommonContext commonContext,
final @Nullable Bookmark bookmark) {
return new EntityModel(BookmarkedObjectWkt.ofBookmark(commonContext, bookmark),
- EitherViewOrEdit.VIEW, RenderingHint.REGULAR);
+ ScalarRepresentation.VIEWING, RenderingHint.REGULAR);
}
// -- CONSTRUCTORS
@@ -99,12 +100,12 @@ implements
final IsisAppCommonContext commonContext,
final ManagedObject adapter) {
this(BookmarkedObjectWkt.ofAdapter(commonContext, adapter),
- EitherViewOrEdit.VIEW, RenderingHint.REGULAR);
+ ScalarRepresentation.VIEWING, RenderingHint.REGULAR);
}
private EntityModel(
final @NonNull BookmarkedObjectWkt bookmarkedObject,
- final EitherViewOrEdit mode,
+ final ScalarRepresentation mode,
final RenderingHint renderingHint) {
super(bookmarkedObject);
this.mode = mode;
@@ -145,7 +146,7 @@ implements
@Getter(onMethod = @__(@Override))
@Setter(onMethod = @__(@Override))
- private EitherViewOrEdit mode;
+ private ScalarRepresentation mode;
@Getter(onMethod = @__(@Override))
@Setter(onMethod = @__(@Override))
@@ -198,7 +199,7 @@ implements
*/
public ScalarModel getPropertyModel(
final OneToOneAssociation property,
- final EitherViewOrEdit viewOrEdit,
+ final ScalarRepresentation viewOrEdit,
final RenderingHint renderingHint) {
val pm = property.getMemento();
@@ -230,7 +231,7 @@ implements
@Override
public EntityModel toEditMode() {
- setMode(EitherViewOrEdit.EDIT);
+ setMode(ScalarRepresentation.EDITING);
propertyScalarModels().values()
.forEach(ScalarPropertyModel::toEditMode);
return this;
@@ -238,7 +239,7 @@ implements
@Override
public EntityModel toViewMode() {
- setMode(EitherViewOrEdit.VIEW);
+ setMode(ScalarRepresentation.VIEWING);
propertyScalarModels().values()
.forEach(ScalarPropertyModel::toViewMode);
return this;
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 b758842..46d54da 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
@@ -27,6 +27,7 @@ import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
@@ -36,7 +37,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.common.model.feature.ScalarUiModel;
import org.apache.isis.viewer.common.model.object.ObjectUiModel;
-import org.apache.isis.viewer.common.model.object.ObjectUiModel.EitherViewOrEdit;
import org.apache.isis.viewer.common.model.object.ObjectUiModel.HasRenderingHints;
import org.apache.isis.viewer.common.model.object.ObjectUiModel.RenderingHint;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
@@ -81,7 +81,7 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
@Getter(onMethod = @__(@Override))
@Setter(onMethod = @__(@Override))
- private EitherViewOrEdit mode;
+ private ScalarRepresentation mode;
@Getter(onMethod = @__(@Override))
@Setter(onMethod = @__(@Override))
@@ -95,7 +95,7 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
protected ScalarModel(
final EntityModel parentEntityModel) {
this(EitherParamOrProp.PARAMETER,
- parentEntityModel, EitherViewOrEdit.EDIT, RenderingHint.REGULAR);
+ parentEntityModel, ScalarRepresentation.EDITING, RenderingHint.REGULAR);
}
/**
@@ -105,7 +105,7 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
*/
protected ScalarModel(
final EntityModel parentEntityModel,
- final ObjectUiModel.EitherViewOrEdit viewOrEdit,
+ final ScalarRepresentation viewOrEdit,
final ObjectUiModel.RenderingHint renderingHint) {
this(EitherParamOrProp.PROPERTY,
parentEntityModel, viewOrEdit, renderingHint);
@@ -114,7 +114,7 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
private ScalarModel(
final @NonNull EitherParamOrProp paramOrProp,
final @NonNull EntityModel parentEntityModel,
- final @NonNull ObjectUiModel.EitherViewOrEdit viewOrEdit,
+ final @NonNull ScalarRepresentation viewOrEdit,
final @NonNull ObjectUiModel.RenderingHint renderingHint) {
super(parentEntityModel); // the so called target model, we are chaining us to
@@ -311,7 +311,7 @@ implements HasRenderingHints, ScalarUiModel, LinksProvider, FormExecutorContext
* @return <tt>true</tt> if the widget for this model must be editable.
*/
public boolean mustBeEditable() {
- return getMode() == EitherViewOrEdit.EDIT
+ return getMode() == ScalarRepresentation.EDITING
|| getParamOrProp() == EitherParamOrProp.PARAMETER
|| hasAssociatedActionWithInlineAsIfEdit();
}
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 a1fa159..b6a49af 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
@@ -19,6 +19,7 @@
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.interactions.managed.InteractionVeto;
import org.apache.isis.core.metamodel.interactions.managed.ManagedProperty;
import org.apache.isis.core.metamodel.interactions.managed.ManagedValue;
@@ -43,7 +44,7 @@ implements PropertyUiModel {
public static ScalarPropertyModel wrap(
final PropertyUiModelWkt delegate,
- final EntityModel.EitherViewOrEdit viewOrEdit,
+ final ScalarRepresentation viewOrEdit,
final EntityModel.RenderingHint renderingHint) {
return new ScalarPropertyModel(delegate, viewOrEdit, renderingHint);
}
@@ -55,7 +56,7 @@ implements PropertyUiModel {
*/
private ScalarPropertyModel(
final PropertyUiModelWkt delegate,
- final EntityModel.EitherViewOrEdit viewOrEdit,
+ final ScalarRepresentation viewOrEdit,
final EntityModel.RenderingHint renderingHint) {
super(EntityModel.ofAdapter(delegate.getCommonContext(), delegate.getOwner()),
viewOrEdit, renderingHint);
@@ -64,7 +65,7 @@ implements PropertyUiModel {
/** @return new instance bound to the same delegate */
public ScalarPropertyModel copyHaving(
- final EntityModel.EitherViewOrEdit viewOrEdit,
+ final ScalarRepresentation viewOrEdit,
final EntityModel.RenderingHint renderingHint) {
return wrap(delegate, viewOrEdit, renderingHint);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericPropertyColumn.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericPropertyColumn.java
index a8d00b1..86dbfc2 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericPropertyColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/GenericPropertyColumn.java
@@ -27,6 +27,7 @@ import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.interactions.managed.nonscalar.DataRow;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.runtime.context.IsisAppCommonContext;
@@ -118,7 +119,7 @@ extends GenericColumnAbstract {
final ScalarModel scalarModel = entityModel
.getPropertyModel(
property,
- EntityModel.EitherViewOrEdit.VIEW,
+ ScalarRepresentation.VIEWING,
collectionVariant.getColumnRenderingHint());
final ComponentFactory componentFactory = findComponentFactory(ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
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 c71dae8..e6750de 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
@@ -33,6 +33,7 @@ import org.apache.isis.commons.collections.Can;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
@@ -190,7 +191,7 @@ public class PropertyGroup extends PanelAbstract<ManagedObject, EntityModel> imp
final Consumer<LinkAndLabel> onAssociatedAction) {
final ScalarModel scalarModel =
- entityModel.getPropertyModel(property, EntityModel.EitherViewOrEdit.VIEW, EntityModel.RenderingHint.REGULAR);
+ entityModel.getPropertyModel(property, ScalarRepresentation.VIEWING, EntityModel.RenderingHint.REGULAR);
final Component scalarNameAndValueComponent = getComponentFactoryRegistry()
.addOrReplaceComponent(container, ID_PROPERTY, ComponentType.SCALAR_NAME_AND_VALUE, scalarModel);
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 b05b3b4..e02a956 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
@@ -20,6 +20,7 @@ package org.apache.isis.viewer.wicket.ui.components.property;
import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.common.model.components.ComponentType;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -51,7 +52,7 @@ extends PanelAbstract<ManagedObject, ScalarPropertyModel> {
final ScalarPropertyModel scalarModel) {
super(id, scalarModel.copyHaving(
- EntityModel.EitherViewOrEdit.EDIT,
+ ScalarRepresentation.EDITING,
EntityModel.RenderingHint.REGULAR));
buildGui(scalarModel);
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 3a78be0..5e6240e 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
@@ -44,6 +44,7 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.debug._Probe;
import org.apache.isis.commons.internal.debug._Probe.EntryPoint;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
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;
@@ -367,7 +368,7 @@ implements ScalarModelSubscriber {
// prevent from tabbing into non-editable widgets.
if(scalarModel.isProperty()
- && scalarModel.getMode() == EntityModel.EitherViewOrEdit.VIEW
+ && scalarModel.getMode() == ScalarRepresentation.VIEWING
&& (scalarModel.getPromptStyle().isDialog()
|| !scalarModel.canEnterEditMode())) {
getScalarValueComponent().add(new AttributeAppender("tabindex", "-1"));
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
index 269f039..26ba73b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
@@ -24,9 +24,12 @@ import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
import lombok.val;
/**
@@ -58,11 +61,18 @@ extends ScalarPanelTextFieldAbstract<T> {
return super.toStringConvertingModelOf(getConverter(scalarModel));
}
+ protected final IConverter<T> getConverter(final ScalarModel scalarModel) {
+ return getConverter(scalarModel.getMetaModel(), scalarModel.isEditMode()
+ ? ScalarRepresentation.EDITING
+ : ScalarRepresentation.VIEWING);
+ }
+
/**
- * The converter that is going to be used for the regular view of the panel, i.e. for the text field.
- * The same converter should be used to render the compact view as well, to show the same precision and scale
- * for the floating point types
+ * Converter that is used for the either regular (editing) or compact (HTML) view of the panel,
+ * based on argument {@code scalarRepresentation}.
*/
- protected abstract IConverter<T> getConverter(final ScalarModel scalarModel);
+ protected abstract IConverter<T> getConverter(
+ @NonNull ObjectFeature propOrParam,
+ @NonNull ScalarRepresentation scalarRepresentation);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
index edc800d..5f05074 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigDecimalPanel.java
@@ -23,11 +23,15 @@ import java.math.BigDecimal;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.BigDecimalConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link BigDecimal}.
*/
@@ -55,8 +59,10 @@ extends ScalarPanelTextFieldNumeric<BigDecimal> {
}
@Override
- protected IConverter<BigDecimal> getConverter(final ScalarModel scalarModel) {
- return new BigDecimalConverterWkt(scalarModel);
+ protected IConverter<BigDecimal> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new BigDecimalConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
index ea3bb5d..dd095df 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/JavaMathBigIntegerPanel.java
@@ -23,11 +23,15 @@ import java.math.BigInteger;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.BigIntegerConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link BigInteger}.
*/
@@ -52,8 +56,10 @@ extends ScalarPanelTextFieldNumeric<BigInteger> {
}
@Override
- protected IConverter<BigInteger> getConverter(final ScalarModel scalarModel) {
- return new BigIntegerConverterWkt(scalarModel);
+ protected IConverter<BigInteger> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new BigIntegerConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
index 5f112d5..b92f34a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BytePanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.ByteConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Byte} or <tt>byte</tt>.
*/
@@ -50,7 +54,10 @@ extends ScalarPanelTextFieldNumeric<Byte> {
}
@Override
- protected IConverter<Byte> getConverter(final ScalarModel scalarModel) {
- return new ByteConverterWkt(scalarModel);
+ protected IConverter<Byte> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new ByteConverterWkt(propOrParam, scalarRepresentation);
}
+
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
index c7108dd..82678c6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/DoublePanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.DoubleConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Double} or <tt>double</tt>.
*/
@@ -49,8 +53,10 @@ public class DoublePanel extends ScalarPanelTextFieldNumeric<Double> {
}
@Override
- protected IConverter<Double> getConverter(final ScalarModel scalarModel) {
- return new DoubleConverterWkt(scalarModel);
+ protected IConverter<Double> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new DoubleConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
index 17532e6..177e610 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.FloatConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Float} or <tt>float</tt>.
*/
@@ -49,8 +53,10 @@ public class FloatPanel extends ScalarPanelTextFieldNumeric<Float> {
}
@Override
- protected IConverter<Float> getConverter(final ScalarModel scalarModel) {
- return new FloatConverterWkt(scalarModel);
+ protected IConverter<Float> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new FloatConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
index 72cb601..b43d880 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/IntegerPanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.IntegerConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Integer} or <tt>int</tt>.
*/
@@ -49,8 +53,10 @@ public class IntegerPanel extends ScalarPanelTextFieldNumeric<Integer> {
}
@Override
- protected IConverter<Integer> getConverter(final ScalarModel scalarModel) {
- return new IntegerConverterWkt(scalarModel);
+ protected IConverter<Integer> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new IntegerConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
index 20562a8..eca762e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/LongPanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.LongConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Long} or <tt>long</tt>.
*/
@@ -49,8 +53,10 @@ public class LongPanel extends ScalarPanelTextFieldNumeric<Long> {
}
@Override
- protected IConverter<Long> getConverter(final ScalarModel scalarModel) {
- return new LongConverterWkt(scalarModel);
+ protected IConverter<Long> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new LongConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
index b9ae2ff..a6a8129 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/ShortPanel.java
@@ -21,11 +21,15 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
import org.apache.wicket.markup.html.form.AbstractTextComponent;
import org.apache.wicket.util.convert.IConverter;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.viewer.wicket.model.converter.ShortConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldNumeric;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
+import lombok.NonNull;
+
/**
* Panel for rendering scalars of type {@link Short} or <tt>short</tt>.
*/
@@ -49,7 +53,9 @@ public class ShortPanel extends ScalarPanelTextFieldNumeric<Short> {
}
@Override
- protected IConverter<Short> getConverter(final ScalarModel scalarModel) {
- return new ShortConverterWkt(scalarModel);
+ protected IConverter<Short> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new ShortConverterWkt(propOrParam, scalarRepresentation);
}
}
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 7b2159f..0aa255c 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
@@ -24,6 +24,7 @@ import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
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.ObjectAdapterModel;
@@ -60,8 +61,8 @@ extends PanelAbstract<ManagedObject, ObjectAdapterModel> {
addSimpleClipboardModalWindow();
EntityModel.RenderingHint renderingHint = model.getRenderingHint();
- EntityModel.EitherViewOrEdit mode = model.getMode();
- setVisible(renderingHint == EntityModel.RenderingHint.REGULAR && mode == EntityModel.EitherViewOrEdit.VIEW);
+ ScalarRepresentation mode = model.getMode();
+ setVisible(renderingHint == EntityModel.RenderingHint.REGULAR && mode == ScalarRepresentation.VIEWING);
// disable, since currently not honoured if used as a URL (think that session hints are taking precedence).
// (see ISIS-1660 to resurrect)
diff --git a/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter_roundtrip.java b/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter_roundtrip.java
index 96f73b8..d5cb175 100644
--- a/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter_roundtrip.java
+++ b/viewers/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter_roundtrip.java
@@ -38,8 +38,8 @@ import org.apache.isis.applib.services.iactnlayer.InteractionContext;
import org.apache.isis.applib.services.iactnlayer.InteractionService;
import org.apache.isis.core.config.valuetypes.ValueSemanticsRegistry;
import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facets.object.value.ValueRepresentation;
import org.apache.isis.core.metamodel.valuesemantics.BigDecimalValueSemantics;
import org.apache.isis.core.security._testing.InteractionService_forTesting;
import org.apache.isis.viewer.wicket.model.converter.BigDecimalConverterWkt;
@@ -180,7 +180,7 @@ class BigDecimalConverter_roundtrip {
private BigDecimalConverterWkt newConverter(final Class<?> type) {
val customerSpec = mmc.getSpecificationLoader().specForTypeElseFail(type);
val prop = customerSpec.getPropertyElseFail("value");
- return new BigDecimalConverterWkt(prop, ValueRepresentation.EDITING);
+ return new BigDecimalConverterWkt(prop, ScalarRepresentation.EDITING);
}
}