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/18 09:39:06 UTC
[isis] branch master updated: ISIS-2882: create value-semantics for Bookmark and wire-up with BookmarkPanel
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 7acb4f7 ISIS-2882: create value-semantics for Bookmark and wire-up with BookmarkPanel
7acb4f7 is described below
commit 7acb4f7d454136742a6db5d96169495873138d13
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Nov 18 10:38:56 2021 +0100
ISIS-2882: create value-semantics for Bookmark and wire-up with
BookmarkPanel
---
.../core/metamodel/IsisModuleCoreMetamodel.java | 2 +
.../valuesemantics/BookmarkValueSemantics.java | 100 +++++++++++++++++++++
.../model/converter/BookmarkConverterWkt.java} | 22 ++---
.../scalars/ScalarPanelTextFieldAbstract.java | 46 +++++-----
...elTextFieldBasedOnStringSemanticsAbstract.java} | 20 +++--
...va => ScalarPanelTextFieldNumericAbstract.java} | 4 +-
.../ScalarPanelTextFieldParseableAbstract.java | 68 --------------
...rPanelTextFieldWithTemporalPickerAbstract.java} | 13 +--
.../components/scalars/bookmark/BookmarkPanel.java | 21 ++++-
.../scalars/jdk8time/Jdk8LocalDatePanel.java | 4 +-
.../scalars/jdk8time/Jdk8LocalDateTimePanel.java | 4 +-
.../scalars/jdk8time/Jdk8OffsetDateTimePanel.java | 4 +-
.../scalars/jdkdates/JavaSqlDatePanel.java | 4 +-
.../scalars/jdkdates/JavaSqlTimePanel.java | 4 +-
.../scalars/jdkdates/JavaSqlTimestampPanel.java | 4 +-
.../scalars/jdkdates/JavaUtilDatePanel.java | 4 +-
.../scalars/jdkmath/JavaMathBigDecimalPanel.java | 4 +-
.../scalars/jdkmath/JavaMathBigIntegerPanel.java | 4 +-
.../scalars/jodatime/JodaDateTimePanel.java | 4 +-
.../scalars/jodatime/JodaLocalDatePanel.java | 4 +-
.../scalars/jodatime/JodaLocalDateTimePanel.java | 4 +-
.../ui/components/scalars/oiddto/OidDtoPanel.java | 4 +-
.../scalars/passwd/IsisPasswordPanel.java | 4 +-
.../ui/components/scalars/primitive/BytePanel.java | 4 +-
.../components/scalars/primitive/DoublePanel.java | 4 +-
.../components/scalars/primitive/FloatPanel.java | 4 +-
.../components/scalars/primitive/IntegerPanel.java | 4 +-
.../ui/components/scalars/primitive/LongPanel.java | 4 +-
.../components/scalars/primitive/ShortPanel.java | 4 +-
.../scalars/string/MultiLineStringPanel.java | 4 +-
.../ui/components/scalars/string/StringPanel.java | 4 +-
.../scalars/value/compound/ValueCompoundPanel.java | 4 +-
.../scalars/value/fallback/ValueFallbackPanel.java | 4 +-
.../wicket/ui/components/tree/TreePanel.java | 4 +-
34 files changed, 225 insertions(+), 171 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/IsisModuleCoreMetamodel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/IsisModuleCoreMetamodel.java
index 3f1e8fc..d6394d4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/IsisModuleCoreMetamodel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/IsisModuleCoreMetamodel.java
@@ -51,6 +51,7 @@ import org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault;
import org.apache.isis.core.metamodel.valuesemantics.BigDecimalValueSemantics;
import org.apache.isis.core.metamodel.valuesemantics.BigIntegerValueSemantics;
import org.apache.isis.core.metamodel.valuesemantics.BlobValueSemantics;
+import org.apache.isis.core.metamodel.valuesemantics.BookmarkValueSemantics;
import org.apache.isis.core.metamodel.valuesemantics.BooleanValueSemantics;
import org.apache.isis.core.metamodel.valuesemantics.BufferedImageValueSemantics;
import org.apache.isis.core.metamodel.valuesemantics.ByteValueSemantics;
@@ -126,6 +127,7 @@ import org.apache.isis.core.security.IsisModuleCoreSecurity;
MarkupValueSemantics.class,
URLValueSemantics.class,
LocalResourcePathValueSemantics.class,
+ BookmarkValueSemantics.class,
UUIDValueSemantics.class,
TreeNodeValueSemantics.class,
ChangesDtoValueSemantics.class,
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java
new file mode 100644
index 0000000..c82a26c
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java
@@ -0,0 +1,100 @@
+/*
+ * 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.core.metamodel.valuesemantics;
+
+import javax.inject.Named;
+
+import org.springframework.stereotype.Component;
+
+import org.apache.isis.applib.adapters.EncoderDecoder;
+import org.apache.isis.applib.adapters.Parser;
+import org.apache.isis.applib.adapters.Renderer;
+import org.apache.isis.applib.adapters.ValueSemanticsAbstract;
+import org.apache.isis.applib.adapters.ValueSemanticsProvider;
+import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.internal.exceptions._Exceptions;
+import org.apache.isis.schema.common.v2.ValueType;
+
+import lombok.val;
+
+@Component
+@Named("isis.val.BookmarkValueSemantics")
+public class BookmarkValueSemantics
+extends ValueSemanticsAbstract<Bookmark>
+implements
+ EncoderDecoder<Bookmark>,
+ Parser<Bookmark>,
+ Renderer<Bookmark> {
+
+ @Override
+ public Class<Bookmark> getCorrespondingClass() {
+ return Bookmark.class;
+ }
+
+ @Override
+ public ValueType getSchemaValueType() {
+ return UNREPRESENTED;
+ }
+
+ // -- ENCODER DECODER
+
+ @Override
+ public String toEncodedString(final Bookmark object) {
+ return object.stringify();
+ }
+
+ @Override
+ public Bookmark fromEncodedString(final String data) {
+ return Bookmark.parse(data).orElseThrow(()->_Exceptions.illegalArgument("%s", data));
+ }
+
+ // -- RENDERER
+
+ @Override
+ public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Bookmark value) {
+ return value == null ? "" : value.stringify();
+ }
+
+ // -- PARSER
+
+ @Override
+ public String parseableTextRepresentation(final ValueSemanticsProvider.Context context, final Bookmark value) {
+ return value == null ? null : value.toString();
+ }
+
+ @Override
+ public Bookmark parseTextRepresentation(final ValueSemanticsProvider.Context context, final String text) {
+ val input = _Strings.blankToNullOrTrim(text);
+ return input!=null
+ ? Bookmark.parse(input).orElseThrow(()->_Exceptions.illegalArgument("%s", input))
+ : null;
+ }
+
+ @Override
+ public int typicalLength() {
+ return maxLength();
+ }
+
+ @Override
+ public int maxLength() {
+ return 4048;
+ }
+
+}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BookmarkConverterWkt.java
similarity index 65%
copy from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java
copy to viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BookmarkConverterWkt.java
index 7d2a955..00de35a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/BookmarkConverterWkt.java
@@ -16,21 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.wicket.ui.components.scalars.bookmark;
+package org.apache.isis.viewer.wicket.model.converter;
import org.apache.isis.applib.services.bookmark.Bookmark;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
+import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
-/**
- * Panel for rendering scalars of type {@link Bookmark}.
- */
-public class BookmarkPanel extends ScalarPanelTextFieldParseableAbstract {
+import lombok.NonNull;
+
+public class BookmarkConverterWkt
+extends ConverterBasedOnValueSemantics<Bookmark> {
private static final long serialVersionUID = 1L;
- public BookmarkPanel(final String id, final ScalarModel scalarModel) {
- super(id, scalarModel);
+ public BookmarkConverterWkt(
+ final @NonNull ObjectFeature objFeature,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ super(objFeature, scalarRepresentation);
}
-}
+}
\ No newline at end of file
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 80f85fb..d974330 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -34,6 +34,7 @@ import org.apache.wicket.util.convert.IConverter;
import org.apache.wicket.validation.IValidatable;
import org.apache.wicket.validation.IValidator;
import org.apache.wicket.validation.ValidationError;
+import org.apache.wicket.validation.validator.StringValidator;
import org.apache.isis.commons.internal.base._Casts;
import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
@@ -191,10 +192,29 @@ implements TextFieldValueModel.ScalarModelProvider {
protected void addStandardSemantics() {
textField.setRequired(getModel().isRequired());
setTextFieldSizeAndMaxLengthIfSpecified();
-
addValidatorForIsisValidation();
}
+ private void setTextFieldSizeAndMaxLengthIfSpecified() {
+
+ final Integer maxLength = getMaxLengthOf(getModel());
+ Integer typicalLength = getTypicalLenghtOf(getModel());
+
+ // doesn't make sense for typical length to be > maxLength
+ if(typicalLength != null && maxLength != null && typicalLength > maxLength) {
+ typicalLength = maxLength;
+ }
+
+ if (typicalLength != null) {
+ textField.add(new AttributeModifier("size", Model.of("" + typicalLength)));
+ }
+
+ if(maxLength != null) {
+ textField.add(new AttributeModifier("maxlength", Model.of("" + maxLength)));
+ textField.add(StringValidator.maximumLength(maxLength));
+ }
+ }
+
private void addValidatorForIsisValidation() {
val scalarModel = getModel();
@@ -225,27 +245,7 @@ implements TextFieldValueModel.ScalarModelProvider {
});
}
- private void setTextFieldSizeAndMaxLengthIfSpecified() {
-
- final Integer maxLength = getMaxLengthOf(getModel());
- Integer typicalLength = getTypicalLenghtOf(getModel());
-
- // doesn't make sense for typical length to be > maxLength
- if(typicalLength != null && maxLength != null && typicalLength > maxLength) {
- typicalLength = maxLength;
- }
-
- if (typicalLength != null) {
- textField.add(new AttributeModifier("size", Model.of("" + typicalLength)));
- }
-
- if(maxLength != null) {
- textField.add(new AttributeModifier("maxlength", Model.of("" + maxLength)));
- }
- }
-
-
- // //////////////////////////////////////
+ // --
/**
* Mandatory hook method to build the component to render the model when in
@@ -256,6 +256,7 @@ implements TextFieldValueModel.ScalarModelProvider {
*/
@Override
protected Component createComponentForCompact() {
+ //FIXME[ISIS-2882] wire-up with value semantics to use Renderer instead of Parser here
return Wkt.labelAdd(
getCompactFragment(CompactType.SPAN), ID_SCALAR_IF_COMPACT,
()->getModel().getObjectAsString());
@@ -266,7 +267,6 @@ implements TextFieldValueModel.ScalarModelProvider {
SPAN
}
-
Fragment getCompactFragment(final CompactType type) {
Fragment compactFragment;
switch (type) {
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/ScalarPanelTextFieldBasedOnStringSemanticsAbstract.java
similarity index 68%
copy from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/FloatPanel.java
copy to viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldBasedOnStringSemanticsAbstract.java
index f98e8fc..e43a336 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/ScalarPanelTextFieldBasedOnStringSemanticsAbstract.java
@@ -16,34 +16,36 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.isis.viewer.wicket.ui.components.scalars.primitive;
+package org.apache.isis.viewer.wicket.ui.components.scalars;
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 lombok.NonNull;
/**
- * Panel for rendering scalars of type {@link Float} or <tt>float</tt>.
+ * Adapter for {@link ScalarPanelTextFieldAbstract textField-based scalar panel}
+ * s where moreover the scalar parameter or property is a value type that is
+ * parseable.
*/
-public class FloatPanel extends ScalarPanelTextFieldNumeric<Float> {
+public abstract class ScalarPanelTextFieldBasedOnStringSemanticsAbstract
+extends ScalarPanelTextFieldAbstract<String> {
private static final long serialVersionUID = 1L;
- public FloatPanel(final String id, final ScalarModel scalarModel) {
- super(id, scalarModel, Float.class);
+ protected ScalarPanelTextFieldBasedOnStringSemanticsAbstract(final String id, final ScalarModel scalarModel) {
+ super(id, scalarModel, String.class);
}
@Override
- protected IConverter<Float> getConverter(
+ protected final IConverter<String> getConverter(
final @NonNull ObjectFeature propOrParam,
final @NonNull ScalarRepresentation scalarRepresentation) {
- return new FloatConverterWkt(propOrParam, scalarRepresentation);
+ return null; // does not use conversion
}
+
}
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/ScalarPanelTextFieldNumericAbstract.java
similarity index 93%
rename from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumeric.java
rename to viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldNumericAbstract.java
index f58d592..321d02e 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/ScalarPanelTextFieldNumericAbstract.java
@@ -31,12 +31,12 @@ import lombok.val;
/**
* Panel for rendering numeric scalars.
*/
-public abstract class ScalarPanelTextFieldNumeric<T extends Serializable>
+public abstract class ScalarPanelTextFieldNumericAbstract<T extends Serializable>
extends ScalarPanelTextFieldAbstract<T> {
private static final long serialVersionUID = 1L;
- protected ScalarPanelTextFieldNumeric(
+ protected ScalarPanelTextFieldNumericAbstract(
final String id,
final ScalarModel scalarModel,
final Class<T> cls) {
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java
deleted file mode 100644
index fadb648..0000000
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldParseableAbstract.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.wicket.ui.components.scalars;
-
-import org.apache.wicket.util.convert.IConverter;
-import org.apache.wicket.validation.validator.StringValidator;
-
-import org.apache.isis.core.metamodel.commons.ScalarRepresentation;
-import org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet;
-import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
-import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-
-import lombok.NonNull;
-
-/**
- * Adapter for {@link ScalarPanelTextFieldAbstract textField-based scalar panel}
- * s where moreover the scalar parameter or property is a value type that is
- * parseable.
- */
-@Deprecated //FIXME[ISIS-2882] probably remove class, have each value-type implement their own
-public abstract class ScalarPanelTextFieldParseableAbstract
-extends ScalarPanelTextFieldAbstract<String> {
-
- private static final long serialVersionUID = 1L;
-
- protected ScalarPanelTextFieldParseableAbstract(final String id, final ScalarModel scalarModel) {
- super(id, scalarModel, String.class);
- }
-
- @Override
- protected void addStandardSemantics() {
- super.addStandardSemantics();
- addMaxLengthValidator();
- }
-
- @Override
- protected IConverter<String> getConverter(
- final @NonNull ObjectFeature propOrParam,
- final @NonNull ScalarRepresentation scalarRepresentation) {
- return null; // does not use conversion
- }
-
- // -- HELPER
-
- //FIXME[ISIS-2882] move up in hierarchy - also make sure logic is not already duplicated
- private void addMaxLengthValidator() {
- getModel().getScalarTypeSpec().lookupFacet(MaxLengthFacet.class)
- .ifPresent(maxLengthFacet->
- getTextField().add(StringValidator.maximumLength(maxLengthFacet.value())));
- }
-
-}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPickerAbstract.java
similarity index 92%
rename from viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
rename to viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPickerAbstract.java
index ae52c1c..097d62e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldDatePickerAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldWithTemporalPickerAbstract.java
@@ -41,22 +41,23 @@ import lombok.NonNull;
/**
* Panel for rendering scalars representing dates, along with a date picker.
*/
-public abstract class ScalarPanelTextFieldDatePickerAbstract<T extends Serializable>
+public abstract class ScalarPanelTextFieldWithTemporalPickerAbstract<T extends Serializable>
extends ScalarPanelTextFieldAbstract<T> {
private static final long serialVersionUID = 1L;
protected DateConverter<T> converter;
- public ScalarPanelTextFieldDatePickerAbstract(final String id, final ScalarModel scalarModel, final Class<T> cls) {
+ public ScalarPanelTextFieldWithTemporalPickerAbstract(
+ final String id, final ScalarModel scalarModel, final Class<T> cls) {
super(id, scalarModel, cls);
}
/**
* Expected to be in subclasses' constructor.
- *
* <p>
- * Is not passed into constructor only to allow subclass to read from injected {@link #getWicketViewerSettings()}.
+ * Is not passed into constructor only to allow subclass to read from injected
+ * {@link #getWicketViewerSettings()}.
*/
protected void init(final DateConverter<T> converter) {
this.converter = converter;
@@ -110,9 +111,9 @@ extends ScalarPanelTextFieldAbstract<T> {
return super.toStringConvertingModelOf(converter);
}
-
/**
- * Optional override for subclasses to explicitly indicate desired amount to adjust compact form of textField
+ * Optional override for subclasses to explicitly indicate desired amount to adjust
+ * compact form of textField
*/
protected Integer getLengthAdjustHint() {
return null;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java
index 7d2a955..e5a633d 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/bookmark/BookmarkPanel.java
@@ -18,19 +18,34 @@
*/
package org.apache.isis.viewer.wicket.ui.components.scalars.bookmark;
+import org.apache.wicket.util.convert.IConverter;
+
import org.apache.isis.applib.services.bookmark.Bookmark;
+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.BookmarkConverterWkt;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldAbstract;
+
+import lombok.NonNull;
/**
* Panel for rendering scalars of type {@link Bookmark}.
*/
-public class BookmarkPanel extends ScalarPanelTextFieldParseableAbstract {
+public class BookmarkPanel
+extends ScalarPanelTextFieldAbstract<Bookmark> {
private static final long serialVersionUID = 1L;
public BookmarkPanel(final String id, final ScalarModel scalarModel) {
- super(id, scalarModel);
+ super(id, scalarModel, Bookmark.class);
+ }
+
+ @Override
+ protected IConverter<Bookmark> getConverter(
+ final @NonNull ObjectFeature propOrParam,
+ final @NonNull ScalarRepresentation scalarRepresentation) {
+ return new BookmarkConverterWkt(propOrParam, scalarRepresentation);
}
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDatePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDatePanel.java
index 5997987..191b98c 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDatePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDatePanel.java
@@ -21,12 +21,12 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdk8time;
import java.time.LocalDate;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link LocalDate}.
*/
public class Jdk8LocalDatePanel
-extends ScalarPanelTextFieldDatePickerAbstract<LocalDate> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<LocalDate> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDateTimePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDateTimePanel.java
index 2b1a6ae..16ec4a3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDateTimePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8LocalDateTimePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdk8time;
import java.time.LocalDateTime;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link LocalDateTime}.
*/
public class Jdk8LocalDateTimePanel
-extends ScalarPanelTextFieldDatePickerAbstract<LocalDateTime> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<LocalDateTime> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8OffsetDateTimePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8OffsetDateTimePanel.java
index 971d80d..8a0e944 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8OffsetDateTimePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdk8time/Jdk8OffsetDateTimePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdk8time;
import java.time.OffsetDateTime;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link OffsetDateTime}.
*/
public class Jdk8OffsetDateTimePanel
-extends ScalarPanelTextFieldDatePickerAbstract<OffsetDateTime> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<OffsetDateTime> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
index decacd2..4ea4fe8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlDatePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
import java.sql.Date;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link Date java.sql.Date}.
*/
public class JavaSqlDatePanel
-extends ScalarPanelTextFieldDatePickerAbstract<java.sql.Date> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<java.sql.Date> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
index b7dba61..57c7689 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimePanel.java
@@ -21,12 +21,12 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
import java.sql.Time;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
/**
* Panel for rendering scalars of type {@link Time java.sql.Time}.
*/
-public class JavaSqlTimePanel extends ScalarPanelTextFieldParseableAbstract {
+public class JavaSqlTimePanel extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
index 6d5ebce..59e7051 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaSqlTimestampPanel.java
@@ -22,13 +22,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
import java.sql.Timestamp;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link java.sql.Timestamp}.
*/
public class JavaSqlTimestampPanel
-extends ScalarPanelTextFieldDatePickerAbstract<Timestamp> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<Timestamp> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
index 1ec1fd3..30ba2ef 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkdates/JavaUtilDatePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jdkdates;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link java.util.Date}.
*/
public class JavaUtilDatePanel
-extends ScalarPanelTextFieldDatePickerAbstract<java.util.Date> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<java.util.Date> {
private static final long serialVersionUID = 1L;
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 a7de058..74c7255 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
@@ -26,7 +26,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -34,7 +34,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link BigDecimal}.
*/
public class JavaMathBigDecimalPanel
-extends ScalarPanelTextFieldNumeric<BigDecimal> {
+extends ScalarPanelTextFieldNumericAbstract<BigDecimal> {
private static final long serialVersionUID = 1L;
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 04c4fe9..5fdeb1f 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
@@ -26,7 +26,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -34,7 +34,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link BigInteger}.
*/
public class JavaMathBigIntegerPanel
-extends ScalarPanelTextFieldNumeric<BigInteger> {
+extends ScalarPanelTextFieldNumericAbstract<BigInteger> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
index e9715b1..faedd8b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaDateTimePanel.java
@@ -22,13 +22,13 @@ import org.joda.time.DateTime;
import org.joda.time.LocalDateTime;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link LocalDateTime}.
*/
public class JodaDateTimePanel
-extends ScalarPanelTextFieldDatePickerAbstract<DateTime> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<DateTime> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
index 72a56d2..1f08525 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDatePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
import org.joda.time.LocalDate;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link LocalDate}.
*/
public class JodaLocalDatePanel
-extends ScalarPanelTextFieldDatePickerAbstract<LocalDate> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<LocalDate> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
index ba56685..d514297 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jodatime/JodaLocalDateTimePanel.java
@@ -21,13 +21,13 @@ package org.apache.isis.viewer.wicket.ui.components.scalars.jodatime;
import org.joda.time.LocalDateTime;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldWithTemporalPickerAbstract;
/**
* Panel for rendering scalars of type {@link LocalDateTime}.
*/
public class JodaLocalDateTimePanel
-extends ScalarPanelTextFieldDatePickerAbstract<LocalDateTime> {
+extends ScalarPanelTextFieldWithTemporalPickerAbstract<LocalDateTime> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/oiddto/OidDtoPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/oiddto/OidDtoPanel.java
index 8aefc91..1e1f571 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/oiddto/OidDtoPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/oiddto/OidDtoPanel.java
@@ -19,12 +19,12 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.oiddto;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
/**
* Panel for rendering scalars of type {@link org.apache.isis.schema.common.v2.OidDto}.
*/
-public class OidDtoPanel extends ScalarPanelTextFieldParseableAbstract {
+public class OidDtoPanel extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/passwd/IsisPasswordPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/passwd/IsisPasswordPanel.java
index 1c1de64..b4bc333 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/passwd/IsisPasswordPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/passwd/IsisPasswordPanel.java
@@ -24,7 +24,7 @@ import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.isis.applib.value.Password;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
import de.agilecoders.wicket.core.util.Attributes;
@@ -32,7 +32,7 @@ import de.agilecoders.wicket.core.util.Attributes;
* Panel for rendering scalars of type {@link Password Isis' applib.Password}.
*/
public class IsisPasswordPanel
-extends ScalarPanelTextFieldParseableAbstract {
+extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
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 25fe38e..1fde605 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
@@ -24,7 +24,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -32,7 +32,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link Byte} or <tt>byte</tt>.
*/
public class BytePanel
-extends ScalarPanelTextFieldNumeric<Byte> {
+extends ScalarPanelTextFieldNumericAbstract<Byte> {
private static final long serialVersionUID = 1L;
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 502d4de..d280663 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
@@ -24,7 +24,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -32,7 +32,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link Double} or <tt>double</tt>.
*/
public class DoublePanel
-extends ScalarPanelTextFieldNumeric<Double> {
+extends ScalarPanelTextFieldNumericAbstract<Double> {
private static final long serialVersionUID = 1L;
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 f98e8fc..73f4bb4 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
@@ -24,14 +24,14 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
/**
* Panel for rendering scalars of type {@link Float} or <tt>float</tt>.
*/
-public class FloatPanel extends ScalarPanelTextFieldNumeric<Float> {
+public class FloatPanel extends ScalarPanelTextFieldNumericAbstract<Float> {
private static final long serialVersionUID = 1L;
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 c509281..a9cbc49 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
@@ -24,14 +24,14 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
/**
* Panel for rendering scalars of type {@link Integer} or <tt>int</tt>.
*/
-public class IntegerPanel extends ScalarPanelTextFieldNumeric<Integer> {
+public class IntegerPanel extends ScalarPanelTextFieldNumericAbstract<Integer> {
private static final long serialVersionUID = 1L;
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 2ba36ef..acf9c9d 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
@@ -24,7 +24,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -32,7 +32,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link Long} or <tt>long</tt>.
*/
public class LongPanel
-extends ScalarPanelTextFieldNumeric<Long> {
+extends ScalarPanelTextFieldNumericAbstract<Long> {
private static final long serialVersionUID = 1L;
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 f1ed507..bc93afb 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
@@ -24,7 +24,7 @@ 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.components.scalars.ScalarPanelTextFieldNumericAbstract;
import lombok.NonNull;
@@ -32,7 +32,7 @@ import lombok.NonNull;
* Panel for rendering scalars of type {@link Short} or <tt>short</tt>.
*/
public class ShortPanel
-extends ScalarPanelTextFieldNumeric<Short> {
+extends ScalarPanelTextFieldNumericAbstract<Short> {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
index df3dc23..71b5411 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
@@ -29,7 +29,7 @@ import org.apache.isis.core.metamodel.facets.SingleIntValueFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
import org.apache.isis.viewer.wicket.ui.util.Wkt;
import lombok.val;
@@ -38,7 +38,7 @@ import lombok.val;
* Panel for rendering MultiLine scalars of type String
*/
public class MultiLineStringPanel
-extends ScalarPanelTextFieldParseableAbstract {
+extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
index 88deebf..e702cc0 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/StringPanel.java
@@ -19,12 +19,12 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.string;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
/**
* Panel for rendering scalars of type {@link String}.
*/
-public class StringPanel extends ScalarPanelTextFieldParseableAbstract {
+public class StringPanel extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/compound/ValueCompoundPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/compound/ValueCompoundPanel.java
index ba76246..cd958ca 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/compound/ValueCompoundPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/compound/ValueCompoundPanel.java
@@ -25,11 +25,11 @@ import org.apache.wicket.model.LambdaModel;
import org.apache.isis.applib.adapters.Renderer;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
//FIXME[ISIS-2877] introduced for experiments, should be removed
public class ValueCompoundPanel
-extends ScalarPanelTextFieldParseableAbstract {
+extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/fallback/ValueFallbackPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/fallback/ValueFallbackPanel.java
index a9f0afd..b802d79 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/fallback/ValueFallbackPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/value/fallback/ValueFallbackPanel.java
@@ -22,7 +22,7 @@ import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
/**
* Panel for rendering any value types that do not have their own custom
@@ -33,7 +33,7 @@ import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldP
* (typically through the Isis' {@link Value} annotation.
*/
public class ValueFallbackPanel
-extends ScalarPanelTextFieldParseableAbstract {
+extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
index ddf31fb..74beacd 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
@@ -25,13 +25,13 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
-import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldParseableAbstract;
+import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldBasedOnStringSemanticsAbstract;
import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
/**
* Immutable tree, reuses the ScalarPanelTextField functionality without the need of its text field.
*/
-public class TreePanel extends ScalarPanelTextFieldParseableAbstract {
+public class TreePanel extends ScalarPanelTextFieldBasedOnStringSemanticsAbstract {
private static final long serialVersionUID = 1L;