You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/10/09 17:45:31 UTC
git commit: ISIS-910: now set up a MaxLengthFacet via
ValueSemanticsProvider.
Repository: isis
Updated Branches:
refs/heads/master 6d3332f52 -> c1b7b2e2d
ISIS-910: now set up a MaxLengthFacet via ValueSemanticsProvider.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c1b7b2e2
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c1b7b2e2
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c1b7b2e2
Branch: refs/heads/master
Commit: c1b7b2e2dfa1be80cb16a07bd260a6b579a86966
Parents: 6d3332f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Oct 9 16:45:02 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Oct 9 16:45:02 2014 +0100
----------------------------------------------------------------------
.../org/apache/isis/applib/adapters/Parser.java | 12 ++--
.../apache/isis/applib/adapters/Parser2.java | 29 +++++++++
.../enums/EnumValueSemanticsProvider.java | 6 +-
.../value/MaxLengthFacetUsingParser2.java | 66 ++++++++++++++++++++
.../facets/object/value/ValueFacetAbstract.java | 16 +++--
.../ValueSemanticsProviderAndFacetAbstract.java | 26 +++++---
.../ValueSemanticsProviderAbstractTemporal.java | 2 +-
.../BigDecimalValueSemanticsProvider.java | 2 +-
.../BigIntegerValueSemanticsProvider.java | 2 +-
.../value/blobs/BlobValueSemanticsProvider.java | 2 +-
.../BooleanValueSemanticsProviderAbstract.java | 5 +-
.../ByteValueSemanticsProviderAbstract.java | 5 +-
.../CharValueSemanticsProviderAbstract.java | 5 +-
.../value/clobs/ClobValueSemanticsProvider.java | 2 +-
.../color/ColorValueSemanticsProvider.java | 2 +-
.../JodaLocalDateValueSemanticsProvider.java | 6 +-
...JodaLocalDateTimeValueSemanticsProvider.java | 6 +-
.../DoubleValueSemanticsProviderAbstract.java | 3 +-
.../FloatValueSemanticsProviderAbstract.java | 3 +-
.../ImageValueSemanticsProviderAbstract.java | 2 +-
.../IntValueSemanticsProviderAbstract.java | 5 +-
.../LongValueSemanticsProviderAbstract.java | 5 +-
.../money/MoneyValueSemanticsProvider.java | 2 +-
.../PasswordValueSemanticsProvider.java | 2 +-
.../PercentageValueSemanticsProvider.java | 2 +-
.../ShortValueSemanticsProviderAbstract.java | 5 +-
.../string/StringValueSemanticsProvider.java | 2 +-
.../value/url/URLValueSemanticsProvider.java | 4 +-
.../value/uuid/UUIDValueSemanticsProvider.java | 5 +-
29 files changed, 179 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
index bc73e02..6b8cc0c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser.java
@@ -49,7 +49,7 @@ import org.apache.isis.applib.profiles.Localization;
* be applied to types, only to properties and parameters.
*
* <p>
- * For third-party value types, eg {@link http://timeandmoney.sourceforge.net/
+ * For third-party value types, eg {@see http://timeandmoney.sourceforge.net/
* Time-and-Money} there is no ability to write <tt>title()</tt> methods or
* annotated with {@link TypicalLength}; so this is the main reason that this
* interface has to deal with titles and lengths.
@@ -84,8 +84,7 @@ public interface Parser<T> {
*
* <p>
* Note that here the implementing class is acting as a factory for itself.
- * @param localization TODO
- * @param context
+ * @param contextPojo
* - the context domain object for which the text is being
* parsed. For example +3 might mean add 3 to the current number.
*/
@@ -108,13 +107,12 @@ public interface Parser<T> {
/**
* A title for the object that is valid but which may be easier to edit than
- * the title provided by a
- * {@link org.apache.isis.metamodel.facets.object.ident.TitleFacet}.
- *
+ * the title provided by a <code>TitleFacet</code>.
+ *
* <p>
* The idea here is that the viewer can display a parseable title for an
* existing object when, for example, the user initially clicks in the
- * field. So, a date might be rendered via a {@link TitleFacet} as
+ * field. So, a date might be rendered via a <code>TitleFacet</code> as
* <tt>May 2, 2007</tt>, but its editable form might be <tt>20070502</tt>.
*/
String parseableTitleOf(T existing);
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser2.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser2.java b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser2.java
new file mode 100644
index 0000000..b5877c5
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/adapters/Parser2.java
@@ -0,0 +1,29 @@
+/*
+ * 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.applib.adapters;
+
+public interface Parser2<T> extends Parser<T> {
+
+ /**
+ * The max length of objects that can be parsed (if any)
+ */
+ Integer maxLength();
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
index 0f40974..7bae5ad 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/choices/enums/EnumValueSemanticsProvider.java
@@ -39,7 +39,7 @@ public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemantic
return adaptedClass.getEnumConstants()[0];
}
- private static <T extends Enum<T>> int typicalLengthFor(final Class<T> adaptedClass) {
+ private static <T extends Enum<T>> int maxLengthFor(final Class<T> adaptedClass) {
int max = Integer.MIN_VALUE;
for(T e: adaptedClass.getEnumConstants()) {
final int nameLength = e.name().length();
@@ -59,8 +59,8 @@ public class EnumValueSemanticsProvider<T extends Enum<T>> extends ValueSemantic
public EnumValueSemanticsProvider(final FacetHolder holder, final Class<T> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
super(
type(), holder, adaptedClass,
- typicalLengthFor(adaptedClass),
- Immutability.IMMUTABLE,
+ maxLengthFor(adaptedClass),
+ maxLengthFor(adaptedClass), Immutability.IMMUTABLE,
EqualByContent.HONOURED,
defaultFor(adaptedClass),
configuration, context);
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/MaxLengthFacetUsingParser2.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/MaxLengthFacetUsingParser2.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/MaxLengthFacetUsingParser2.java
new file mode 100644
index 0000000..223b054
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/MaxLengthFacetUsingParser2.java
@@ -0,0 +1,66 @@
+/*
+ * 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.facets.object.value;
+
+import org.apache.isis.applib.adapters.Parser2;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.propparam.maxlen.MaxLengthFacetAbstract;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+
+public class MaxLengthFacetUsingParser2 extends MaxLengthFacetAbstract{
+
+ private final Parser2<?> parser;
+ private final ServicesInjector dependencyInjector;
+
+ public MaxLengthFacetUsingParser2(final Parser2<?> parser, final FacetHolder holder, final ServicesInjector dependencyInjector) {
+ super(parser.maxLength(), holder);
+ this.parser = parser;
+ this.dependencyInjector = dependencyInjector;
+ }
+
+ @Override
+ protected String toStringValues() {
+ getDependencyInjector().injectServicesInto(parser);
+ return parser.toString();
+ }
+
+ @Override
+ public int value() {
+ getDependencyInjector().injectServicesInto(parser);
+ return parser.maxLength();
+ }
+
+ @Override
+ public String toString() {
+ return "maxLength=" + value();
+ }
+
+ // //////////////////////////////////////////////////////
+ // Dependencies (from constructor)
+ // //////////////////////////////////////////////////////
+
+ /**
+ * @return the dependencyInjector
+ */
+ public ServicesInjector getDependencyInjector() {
+ return dependencyInjector;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
index 9868dac..8bbcad3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
@@ -19,10 +19,7 @@
package org.apache.isis.core.metamodel.facets.object.value;
-import org.apache.isis.applib.adapters.DefaultsProvider;
-import org.apache.isis.applib.adapters.EncoderDecoder;
-import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.applib.adapters.ValueSemanticsProvider;
+import org.apache.isis.applib.adapters.*;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.lang.ClassExtensions;
@@ -105,13 +102,13 @@ public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract impl
// An immutable value is not aggregated, it is shared.
// ImmutableFacet, if appropriate
- final boolean immutable = semanticsProvider != null ? semanticsProvider.isImmutable() : true;
+ final boolean immutable = semanticsProvider == null || semanticsProvider.isImmutable();
if (immutable) {
facetHolder.addFacet(new ImmutableFacetViaValueSemantics(holder));
}
// EqualByContentFacet, if appropriate
- final boolean equalByContent = semanticsProvider != null ? semanticsProvider.isEqualByContent() : true;
+ final boolean equalByContent = semanticsProvider == null || semanticsProvider.isEqualByContent();
if (equalByContent) {
facetHolder.addFacet(new EqualByContentFacetViaValueSemantics(holder));
}
@@ -131,6 +128,13 @@ public abstract class ValueFacetAbstract extends MultipleValueFacetAbstract impl
facetHolder.addFacet(new ParseableFacetUsingParser(parser, holder, getDeploymentCategory(context), getAuthenticationSessionProvider(), getDependencyInjector(), getAdapterMap()));
facetHolder.addFacet(new TitleFacetUsingParser(parser, holder, getDependencyInjector()));
facetHolder.addFacet(new TypicalLengthFacetUsingParser(parser, holder, getDependencyInjector()));
+ if(parser instanceof Parser2) {
+ final Parser2 parser2 = (Parser2) parser;
+ final Integer maxLength = parser2.maxLength();
+ if(maxLength != null) {
+ facetHolder.addFacet(new MaxLengthFacetUsingParser2(parser2, holder, getDependencyInjector()));
+ }
+ }
}
// install the DefaultedFacet if we've been given a DefaultsProvider
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
index 813b92d..818eeb9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueSemanticsProviderAndFacetAbstract.java
@@ -23,11 +23,7 @@ import java.text.DecimalFormat;
import java.text.Format;
import java.text.NumberFormat;
import java.util.Locale;
-
-import org.apache.isis.applib.adapters.DefaultsProvider;
-import org.apache.isis.applib.adapters.EncoderDecoder;
-import org.apache.isis.applib.adapters.Parser;
-import org.apache.isis.applib.adapters.ValueSemanticsProvider;
+import org.apache.isis.applib.adapters.*;
import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.profiles.Localization;
import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
@@ -47,10 +43,11 @@ import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbstract implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProvider<T> {
+public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbstract implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser2<T>, DefaultsProvider<T> {
private final Class<T> adaptedClass;
private final int typicalLength;
+ private final Integer maxLength;
private final boolean immutable;
private final boolean equalByContent;
private final T defaultValue;
@@ -81,11 +78,21 @@ public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbs
private final IsisConfiguration configuration;
private final ValueSemanticsProviderContext context;
- public ValueSemanticsProviderAndFacetAbstract(final Class<? extends Facet> adapterFacetType, final FacetHolder holder, final Class<T> adaptedClass, final int typicalLength, final Immutability immutability, final EqualByContent equalByContent, final T defaultValue, final IsisConfiguration configuration,
+ public ValueSemanticsProviderAndFacetAbstract(
+ final Class<? extends Facet> adapterFacetType,
+ final FacetHolder holder,
+ final Class<T> adaptedClass,
+ final int typicalLength,
+ final Integer maxLength,
+ final Immutability immutability,
+ final EqualByContent equalByContent,
+ final T defaultValue,
+ final IsisConfiguration configuration,
final ValueSemanticsProviderContext context) {
super(adapterFacetType, holder, Derivation.NOT_DERIVED);
this.adaptedClass = adaptedClass;
this.typicalLength = typicalLength;
+ this.maxLength = maxLength;
this.immutable = (immutability == Immutability.IMMUTABLE);
this.equalByContent = (equalByContent == EqualByContent.HONOURED);
this.defaultValue = defaultValue;
@@ -238,6 +245,11 @@ public abstract class ValueSemanticsProviderAndFacetAbstract<T> extends FacetAbs
return this.typicalLength;
}
+ @Override
+ public final Integer maxLength() {
+ return this.maxLength;
+ }
+
// ///////////////////////////////////////////////////////////////////////////
// DefaultsProvider implementation
// ///////////////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
index 715040f..3a7b052 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
@@ -113,7 +113,7 @@ public abstract class ValueSemanticsProviderAbstractTemporal<T> extends ValueSem
*/
public ValueSemanticsProviderAbstractTemporal(final String propertyType, final Class<? extends Facet> facetType, final FacetHolder holder, final Class<T> adaptedClass, final int typicalLength, final Immutability immutability, final EqualByContent equalByContent, final T defaultValue,
final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(facetType, holder, adaptedClass, typicalLength, immutability, equalByContent, defaultValue, configuration, context);
+ super(facetType, holder, adaptedClass, typicalLength, null, immutability, equalByContent, defaultValue, configuration, context);
configureFormats();
this.propertyType = propertyType;
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
index ce1ae1c..d3b8a2f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueSemanticsProvider.java
@@ -58,7 +58,7 @@ public class BigDecimalValueSemanticsProvider extends ValueSemanticsProviderAndF
}
public BigDecimalValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, BigDecimal.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, BigDecimal.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.decimal");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
index c5024b7..4f7b603 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/biginteger/BigIntegerValueSemanticsProvider.java
@@ -55,7 +55,7 @@ public class BigIntegerValueSemanticsProvider extends ValueSemanticsProviderAndF
public BigIntegerValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, BigInteger.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, BigInteger.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.int");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
index acc8b9c..2b9c214 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/blobs/BlobValueSemanticsProvider.java
@@ -54,7 +54,7 @@ public class BlobValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
}
public BlobValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, Blob.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, Blob.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
index faee547..2a2a4b2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
@@ -35,10 +35,11 @@ public abstract class BooleanValueSemanticsProviderAbstract extends ValueSemanti
return BooleanValueFacet.class;
}
- private static final int TYPICAL_LENGTH = 5;
+ private static final int MAX_LENGTH = 5;
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
public BooleanValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Boolean> adaptedClass, final Boolean defaultValue, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, defaultValue, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, defaultValue, configuration, context);
}
// //////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
index eeb8b1d..ffdce2d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bytes/ByteValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public abstract class ByteValueSemanticsProviderAbstract extends ValueSemanticsP
}
private static final Byte DEFAULT_VALUE = Byte.valueOf((byte) 0);
- private static final int TYPICAL_LENGTH = 4;
+ private static final int MAX_LENGTH = 4; // allowing for -ve sign
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
private final NumberFormat format;
public ByteValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Byte> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.byte");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/chars/CharValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/chars/CharValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/chars/CharValueSemanticsProviderAbstract.java
index 0cee3c9..52a4dc2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/chars/CharValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/chars/CharValueSemanticsProviderAbstract.java
@@ -37,10 +37,11 @@ public abstract class CharValueSemanticsProviderAbstract extends ValueSemanticsP
}
private static final Character DEFAULT_VALUE = Character.valueOf((char) 0);
- private static final int TYPICAL_LENGTH = 1;
+ private static final int MAX_LENGTH = 1;
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
public CharValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Character> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
}
// //////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/clobs/ClobValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/clobs/ClobValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/clobs/ClobValueSemanticsProvider.java
index a303db7..c888060 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/clobs/ClobValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/clobs/ClobValueSemanticsProvider.java
@@ -52,7 +52,7 @@ public class ClobValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
}
public ClobValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, Clob.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, Clob.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/color/ColorValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/color/ColorValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/color/ColorValueSemanticsProvider.java
index b4b1138..4e4053c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/color/ColorValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/color/ColorValueSemanticsProvider.java
@@ -51,7 +51,7 @@ public class ColorValueSemanticsProvider extends ValueSemanticsProviderAndFacetA
}
public ColorValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, Color.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, Color.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.NOT_HONOURED, DEFAULT_VALUE, configuration, context);
}
// //////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
index f739b23..6fa869b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datejodalocal/JodaLocalDateValueSemanticsProvider.java
@@ -43,7 +43,9 @@ import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProv
public class JodaLocalDateValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<LocalDate> implements JodaLocalDateValueFacet {
-
+ public static final int MAX_LENGTH = 12;
+ public static final int TYPICAL_LENGTH = MAX_LENGTH;
+
/**
* Introduced to allow BDD tests to provide a different format string "mid-flight".
*
@@ -146,7 +148,7 @@ public class JodaLocalDateValueSemanticsProvider extends ValueSemanticsProviderA
*/
public JodaLocalDateValueSemanticsProvider(
final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, LocalDate.class, 12, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, LocalDate.class, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
String configuredNameOrPattern = getConfiguration().getString(CFG_FORMAT_KEY, "medium").toLowerCase().trim();
updateTitleStringFormatter(configuredNameOrPattern);
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
index d39877c..1e65520 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProvider.java
@@ -44,7 +44,9 @@ import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProv
public class JodaLocalDateTimeValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<LocalDateTime> implements JodaLocalDateTimeValueFacet {
-
+ public static final int MAX_LENGTH = 36;
+ public static final int TYPICAL_LENGTH = 22;
+
/**
* Introduced to allow BDD tests to provide a different format string "mid-flight".
*
@@ -147,7 +149,7 @@ public class JodaLocalDateTimeValueSemanticsProvider extends ValueSemanticsProvi
*/
public JodaLocalDateTimeValueSemanticsProvider(
final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, LocalDateTime.class, 12, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, LocalDateTime.class, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
String configuredNameOrPattern = getConfiguration().getString(CFG_FORMAT_KEY, "medium").toLowerCase().trim();
updateTitleStringFormatter(configuredNameOrPattern);
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/doubles/DoubleValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/doubles/DoubleValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/doubles/DoubleValueSemanticsProviderAbstract.java
index c1f5db1..180992f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/doubles/DoubleValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/doubles/DoubleValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public abstract class DoubleValueSemanticsProviderAbstract extends ValueSemantic
}
private static final Double DEFAULT_VALUE = new Double(0.0d);
+ private static final int MAX_LENGTH = 25;
private static final int TYPICAL_LENGTH = 10;
private final NumberFormat format;
public DoubleValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Double> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.double");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/floats/FloatValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/floats/FloatValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/floats/FloatValueSemanticsProviderAbstract.java
index f4fc025..57a78af 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/floats/FloatValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/floats/FloatValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public class FloatValueSemanticsProviderAbstract extends ValueSemanticsProviderA
}
private static final Float DEFAULT_VALUE = new Float(0.0f);
+ private static final int MAX_LENGTH = 20;
private static final int TYPICAL_LENGTH = 12;
private final NumberFormat format;
public FloatValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Float> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.float");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
index 486b372..ac69ac1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProviderAbstract.java
@@ -59,7 +59,7 @@ public abstract class ImageValueSemanticsProviderAbstract<T> extends ValueSemant
@SuppressWarnings("unchecked")
public ImageValueSemanticsProviderAbstract(final FacetHolder holder, final Class<T> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(ImageValueFacet.class, holder, adaptedClass, TYPICAL_LENGTH, Immutability.NOT_IMMUTABLE, EqualByContent.NOT_HONOURED, (T) DEFAULT_VALUE, configuration, context);
+ super(ImageValueFacet.class, holder, adaptedClass, TYPICAL_LENGTH, null, Immutability.NOT_IMMUTABLE, EqualByContent.NOT_HONOURED, (T) DEFAULT_VALUE, configuration, context);
}
/**
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
index 8414df0..acbd017 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/integer/IntValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public abstract class IntValueSemanticsProviderAbstract extends ValueSemanticsPr
}
private static final Integer DEFAULT_VALUE = Integer.valueOf(0);
- private static final int TYPICAL_LENGTH = 9;
+ private static final int MAX_LENGTH = 9;
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
private final NumberFormat format;
public IntValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Integer> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.int");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/longs/LongValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/longs/LongValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/longs/LongValueSemanticsProviderAbstract.java
index 96e1014..fd4f19e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/longs/LongValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/longs/LongValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public abstract class LongValueSemanticsProviderAbstract extends ValueSemanticsP
}
private static final Long DEFAULT_VALUE = Long.valueOf(0L);
- private static final int TYPICAL_LENGTH = 18;
+ private static final int MAX_LENGTH = 18;
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
private final NumberFormat format;
public LongValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Long> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.long");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
index 0fc5fb2..631d214 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/money/MoneyValueSemanticsProvider.java
@@ -81,7 +81,7 @@ public class MoneyValueSemanticsProvider extends ValueSemanticsProviderAndFacetA
}
public MoneyValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, Money.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, Money.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
final String property = ConfigurationConstants.ROOT + "value.money.currency";
defaultCurrencyCode = configuration.getString(property, LOCAL_CURRENCY_CODE);
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/password/PasswordValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/password/PasswordValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/password/PasswordValueSemanticsProvider.java
index e7d47cb..8511575 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/password/PasswordValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/password/PasswordValueSemanticsProvider.java
@@ -49,7 +49,7 @@ public class PasswordValueSemanticsProvider extends ValueSemanticsProviderAndFac
public PasswordValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration,
final ValueSemanticsProviderContext context) {
- super(type(), holder, Password.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE,
+ super(type(), holder, Password.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE,
configuration, context);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
index 047a32c..4b2046a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/percentage/PercentageValueSemanticsProvider.java
@@ -60,7 +60,7 @@ public class PercentageValueSemanticsProvider extends ValueSemanticsProviderAndF
}
public PercentageValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, Percentage.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, Percentage.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
final String formatRequired = configuration.getString(ConfigurationConstants.ROOT + "value.format.percentage");
if (formatRequired == null) {
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
index 042801d..9e084af 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/shortint/ShortValueSemanticsProviderAbstract.java
@@ -39,12 +39,13 @@ public class ShortValueSemanticsProviderAbstract extends ValueSemanticsProviderA
}
private static final Short DEFAULT_VALUE = Short.valueOf((short) 0);
- private static final int TYPICAL_LENGTH = 6;
+ private static final int MAX_LENGTH = 6; // allowing for -ve sign
+ private static final int TYPICAL_LENGTH = MAX_LENGTH;
private final NumberFormat format;
public ShortValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Short> adaptedClass, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
format = determineNumberFormat("value.format.short");
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/string/StringValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/string/StringValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/string/StringValueSemanticsProvider.java
index 821a2ee..eb11a86 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/string/StringValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/string/StringValueSemanticsProvider.java
@@ -47,7 +47,7 @@ public class StringValueSemanticsProvider extends ValueSemanticsProviderAndFacet
}
public StringValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, String.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, String.class, TYPICAL_LENGTH, null, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
}
// //////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueSemanticsProvider.java
index 3525eee..3ceaada 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/url/URLValueSemanticsProvider.java
@@ -33,10 +33,12 @@ import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProv
public class URLValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbstract<java.net.URL> implements URLValueFacet {
+
public static Class<? extends Facet> type() {
return URLValueFacet.class;
}
+ public static final int MAX_LENGTH = 2083;
private static final int TYPICAL_LENGTH = 100;
private static final java.net.URL DEFAULT_VALUE = null; // no default
@@ -53,7 +55,7 @@ public class URLValueSemanticsProvider extends ValueSemanticsProviderAndFacetAbs
final IsisConfiguration configuration,
final ValueSemanticsProviderContext context) {
super(type(), holder, java.net.URL.class,
- TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE,
+ TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE,
configuration, context);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c1b7b2e2/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueSemanticsProvider.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueSemanticsProvider.java
index 09eb879..246568c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueSemanticsProvider.java
@@ -37,7 +37,8 @@ public class UUIDValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
return UUIDValueFacet.class;
}
- public static final int TYPICAL_LENGTH = 36;
+ public static final int MAX_LENGTH = 36;
+ public static final int TYPICAL_LENGTH = MAX_LENGTH;
private static final UUID DEFAULT_VALUE = null; // no default
/**
@@ -49,7 +50,7 @@ public class UUIDValueSemanticsProvider extends ValueSemanticsProviderAndFacetAb
}
public UUIDValueSemanticsProvider(final FacetHolder holder, final IsisConfiguration configuration, final ValueSemanticsProviderContext context) {
- super(type(), holder, UUID.class, TYPICAL_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
+ super(type(), holder, UUID.class, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, DEFAULT_VALUE, configuration, context);
}
// //////////////////////////////////////////////////////////////////