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/09/16 05:49:54 UTC
[isis] branch master updated: ISIS-2871: Spring managed value
semantics for Boolean/boolean
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 fdcb7c6 ISIS-2871: Spring managed value semantics for Boolean/boolean
fdcb7c6 is described below
commit fdcb7c6e4d94797e70824c8ffe6f3e380e271563
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 16 07:49:45 2021 +0200
ISIS-2871: Spring managed value semantics for Boolean/boolean
---
.../core/metamodel/IsisModuleCoreMetamodel.java | 2 +
...ionOrAnyMatchingValueSemanticsFacetFactory.java | 22 +----
...iveValueFacetUsingSemanticsProviderFactory.java | 46 ---------
.../BooleanPrimitiveValueSemanticsProvider.java | 44 ---------
.../facets/value/booleans/BooleanValueFacet.java | 28 ------
...derAbstract.java => BooleanValueSemantics.java} | 105 ++++++++++-----------
...perValueFacetUsingSemanticsProviderFactory.java | 46 ---------
.../BooleanWrapperValueSemanticsProvider.java | 32 -------
.../dflt/ProgrammingModelFacetsJava11.java | 4 -
.../facets/param/name/ParameterNameFacetTest.java | 2 +-
.../value/BooleanValueSemanticsProviderTest.java | 24 +----
11 files changed, 60 insertions(+), 295 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 7d4077d..cb03526 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
@@ -29,6 +29,7 @@ import org.apache.isis.core.metamodel.facets.schema.IsisSchemaMetaModelRefiner;
import org.apache.isis.core.metamodel.facets.schema.IsisSchemaValueTypeProvider;
import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueSemantics;
import org.apache.isis.core.metamodel.facets.value.blobs.BlobValueSemanticsProvider;
+import org.apache.isis.core.metamodel.facets.value.booleans.BooleanValueSemantics;
import org.apache.isis.core.metamodel.facets.value.clobs.ClobValueSemanticsProvider;
import org.apache.isis.core.metamodel.facets.value.localrespath.LocalResourcePathValueSemanticsProvider;
import org.apache.isis.core.metamodel.facets.value.markup.MarkupValueSemanticsProvider;
@@ -91,6 +92,7 @@ import org.apache.isis.core.security.IsisModuleCoreSecurity;
BigDecimalValueSemantics.class,
UUIDValueSemantics.class,
URLValueSemantics.class,
+ BooleanValueSemantics.class,
//TODO convert to non-facets ...
BlobValueSemanticsProvider.class,
ClobValueSemanticsProvider.class,
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
index 3002d44..e84c9b6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
@@ -18,15 +18,10 @@
*/
package org.apache.isis.core.metamodel.facets.object.value.annotcfg;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.stream.Stream;
-
import javax.inject.Inject;
import org.springframework.core.ResolvableType;
import org.springframework.util.ClassUtils;
-import org.springframework.util.CollectionUtils;
import org.apache.isis.applib.adapters.DefaultsProvider;
import org.apache.isis.applib.adapters.EncoderDecoder;
@@ -34,31 +29,18 @@ import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
import org.apache.isis.applib.annotation.Value;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.collections.Cardinality;
import org.apache.isis.commons.internal.base._Casts;
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.commons.internal.base._Strings;
-import org.apache.isis.commons.internal.collections._Collections;
-import org.apache.isis.commons.internal.reflection._Generics;
-import org.apache.isis.commons.internal.reflection._Reflect;
-import org.apache.isis.commons.internal.reflection._Reflect.InterfacePolicy;
-import org.apache.isis.core.metamodel.commons.ClassExtensions;
-import org.apache.isis.core.metamodel.commons.ClassUtil;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.object.icon.IconFacet;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
import org.apache.isis.core.metamodel.facets.object.parented.ParentedCollectionFacet;
import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
-import org.apache.isis.core.metamodel.facets.object.value.ImmutableFacetViaValueSemantics;
-import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProvider;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.annotation.LogicalTypeFacetForValueAnnotation;
import lombok.Getter;
-import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;
/**
@@ -155,14 +137,14 @@ extends ValueFacetUsingSemanticsProviderFactory {
@Getter(lazy = true)
private final Can<ValueSemanticsProvider<?>> fallbackValueSemantics = Can.of(new NoopValueSemantics());
-
@Getter(lazy = true)
private final Can<ValueSemanticsProvider<?>> allValueSemanticsProviders = getServiceRegistry()
.select(ValueSemanticsProvider.class)
.map(_Casts::uncheckedCast);
private <T> Can<ValueSemanticsProvider<T>> lookupValueSemantics(final Class<T> valueType) {
- var resolvableType = ResolvableType.forClassWithGenerics(ValueSemanticsProvider.class, valueType);
+ var resolvableType = ResolvableType
+ .forClassWithGenerics(ValueSemanticsProvider.class, ClassUtils.resolvePrimitiveIfNecessary(valueType));
return getAllValueSemanticsProviders()
.stream()
.filter(resolvableType::isInstance)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueFacetUsingSemanticsProviderFactory.java
deleted file mode 100644
index 6bdd6ae..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueFacetUsingSemanticsProviderFactory.java
+++ /dev/null
@@ -1,46 +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.core.metamodel.facets.value.booleans;
-
-import javax.inject.Inject;
-
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
-
-public class BooleanPrimitiveValueFacetUsingSemanticsProviderFactory
-extends ValueFacetUsingSemanticsProviderFactory<Boolean> {
-
- @Inject
- public BooleanPrimitiveValueFacetUsingSemanticsProviderFactory(final MetaModelContext mmc) {
- super(mmc);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> type = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- if (type != boolean.class) {
- return;
- }
- addValueFacet(new BooleanPrimitiveValueSemanticsProvider(holder));
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java
deleted file mode 100644
index 66f94ac..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanPrimitiveValueSemanticsProvider.java
+++ /dev/null
@@ -1,44 +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.core.metamodel.facets.value.booleans;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public class BooleanPrimitiveValueSemanticsProvider
-extends BooleanValueSemanticsProviderAbstract
-implements PropertyDefaultFacet {
-
- private static final Boolean DEFAULT_VALUE = Boolean.FALSE;
-
- public BooleanPrimitiveValueSemanticsProvider(final FacetHolder holder) {
- super(holder, boolean.class, DEFAULT_VALUE);
- }
-
- // //////////////////////////////////////////////////////////////////
- // PropertyDefault
- // //////////////////////////////////////////////////////////////////
-
- @Override
- public ManagedObject getDefault(final ManagedObject inObject) {
- return createAdapter(boolean.class, Boolean.FALSE);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueFacet.java
deleted file mode 100644
index 5ad3f3d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueFacet.java
+++ /dev/null
@@ -1,28 +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.core.metamodel.facets.value.booleans;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public interface BooleanValueFacet extends Facet {
-
- boolean isSet(ManagedObject object);
-
-}
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/BooleanValueSemantics.java
similarity index 53%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanValueSemantics.java
index 98af649..119a656 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/BooleanValueSemantics.java
@@ -18,54 +18,26 @@
*/
package org.apache.isis.core.metamodel.facets.value.booleans;
+import org.springframework.stereotype.Component;
+
+import org.apache.isis.applib.adapters.AbstractValueSemanticsProvider;
+import org.apache.isis.applib.adapters.EncoderDecoder;
import org.apache.isis.applib.adapters.Parser;
import org.apache.isis.applib.exceptions.UnrecoverableException;
import org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-import org.apache.isis.core.metamodel.spec.ManagedObjects;
-
-public abstract class BooleanValueSemanticsProviderAbstract
-extends ValueSemanticsProviderAndFacetAbstract<Boolean>
-implements BooleanValueFacet {
-
- private static Class<? extends Facet> type() {
- return BooleanValueFacet.class;
- }
-
- private static final int MAX_LENGTH = 5;
- private static final int TYPICAL_LENGTH = MAX_LENGTH;
+import org.apache.isis.commons.internal.base._Strings;
- public BooleanValueSemanticsProviderAbstract(final FacetHolder holder, final Class<Boolean> adaptedClass, final Boolean defaultValue) {
- super(type(), holder, adaptedClass, TYPICAL_LENGTH, MAX_LENGTH, Immutability.IMMUTABLE, EqualByContent.HONOURED, defaultValue);
- }
-
- // //////////////////////////////////////////////////////////////////
- // Parsing
- // //////////////////////////////////////////////////////////////////
-
- @Override
- protected Boolean doParse(final Parser.Context context, final String entry) {
- final String compareTo = entry.trim().toLowerCase();
- if ("true".equals(compareTo)) {
- return Boolean.TRUE;
- } else if ("false".startsWith(compareTo)) {
- return Boolean.FALSE;
- } else {
- throw new TextEntryParseException(String.format("'%s' cannot be parsed as a boolean", entry));
- }
- }
-
- @Override
- public String titleString(final Object value) {
- return value == null ? "" : isSet(value) ? "True" : "False";
- }
+/**
+ * due to auto-boxing also handles the primitive variant
+ */
+@Component
+public class BooleanValueSemantics
+extends AbstractValueSemanticsProvider<Boolean>
+implements
+ EncoderDecoder<Boolean>,
+ Parser<Boolean> {
- // //////////////////////////////////////////////////////////////////
- // Encode, Decode
- // //////////////////////////////////////////////////////////////////
+ // -- ENCODER DECODER
@Override
public String toEncodedString(final Boolean object) {
@@ -97,22 +69,47 @@ implements BooleanValueFacet {
throw new UnrecoverableException("Invalid data for logical, expected 1, 4 or 5 bytes, got " + dataLength + ": " + data);
}
- private boolean isSet(final Object value) {
- return ((Boolean) value).booleanValue();
+ // -- PARSER
+
+ @Override
+ public String presentationValue(final Context context, final Boolean value) {
+ return value == null ? "" : isSet(value) ? "True" : "False";
}
- // //////////////////////////////////////////////////////////////////
- // BooleanValueFacet
- // //////////////////////////////////////////////////////////////////
+ @Override
+ public String parseableTextRepresentation(final Context context, final Boolean value) {
+ return value != null ? value.toString(): null;
+ }
@Override
- public boolean isSet(final ManagedObject adapter) {
- if (ManagedObjects.isNullOrUnspecifiedOrEmpty(adapter)) {
- return false;
+ public Boolean parseTextRepresentation(final Context context, final String text) {
+ final var input = _Strings.blankToNullOrTrim(text);
+ if(input==null) {
+ return null;
+ }
+ if ("true".equalsIgnoreCase(input)) {
+ return Boolean.TRUE;
+ } else if ("false".equalsIgnoreCase(input)) {
+ return Boolean.FALSE;
+ } else {
+ throw new TextEntryParseException(String.format("'%s' cannot be parsed as a boolean", input));
}
- final Object object = adapter.getPojo();
- final Boolean objectAsBoolean = (Boolean) object;
- return objectAsBoolean.booleanValue();
+ }
+
+ @Override
+ public int typicalLength() {
+ return maxLength();
+ }
+
+ @Override
+ public int maxLength() {
+ return 6;
+ }
+
+ // -- HELPER
+
+ private boolean isSet(final Boolean value) {
+ return value.booleanValue();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueFacetUsingSemanticsProviderFactory.java
deleted file mode 100644
index 62bf86b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueFacetUsingSemanticsProviderFactory.java
+++ /dev/null
@@ -1,46 +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.core.metamodel.facets.value.booleans;
-
-import javax.inject.Inject;
-
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSemanticsProviderFactory;
-
-public class BooleanWrapperValueFacetUsingSemanticsProviderFactory
-extends ValueFacetUsingSemanticsProviderFactory<Boolean> {
-
- @Inject
- public BooleanWrapperValueFacetUsingSemanticsProviderFactory(final MetaModelContext mmc) {
- super(mmc);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> type = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- if (type != Boolean.class) {
- return;
- }
- addValueFacet(new BooleanWrapperValueSemanticsProvider(holder));
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java
deleted file mode 100644
index 5316fc4..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/booleans/BooleanWrapperValueSemanticsProvider.java
+++ /dev/null
@@ -1,32 +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.core.metamodel.facets.value.booleans;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-public class BooleanWrapperValueSemanticsProvider
-extends BooleanValueSemanticsProviderAbstract {
-
- private static final Boolean DEFAULT_PROVIDER = Boolean.FALSE;
-
- public BooleanWrapperValueSemanticsProvider(final FacetHolder holder) {
- super(holder, Boolean.class, DEFAULT_PROVIDER);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
index 315b9a9..6da7efd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava11.java
@@ -86,8 +86,6 @@ import org.apache.isis.core.metamodel.facets.properties.validating.dflt.Property
import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethodFactory;
import org.apache.isis.core.metamodel.facets.value.biginteger.BigIntegerValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.blobs.BlobValueFacetUsingSemanticsProviderFactory;
-import org.apache.isis.core.metamodel.facets.value.booleans.BooleanPrimitiveValueFacetUsingSemanticsProviderFactory;
-import org.apache.isis.core.metamodel.facets.value.booleans.BooleanWrapperValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.bytes.BytePrimitiveValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.bytes.ByteWrapperValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.chars.CharPrimitiveValueFacetUsingSemanticsProviderFactory;
@@ -273,8 +271,6 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.F1_LAYOUT, new CollectionLayoutFacetFactory(mmc));
// built-in value types for Java language
- addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new BooleanPrimitiveValueFacetUsingSemanticsProviderFactory(mmc));
- addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new BooleanWrapperValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new BytePrimitiveValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new ByteWrapperValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new ShortPrimitiveValueFacetUsingSemanticsProviderFactory(mmc));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
index ad6159e..7b2710d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetTest.java
@@ -67,7 +67,7 @@ extends AbstractFacetFactoryJUnit4TestCase {
@Test
public void verifyProgrammingModelNumberOfFactories() {
- assertEquals(102, programmingModel.streamFactories().count());
+ assertEquals(100, programmingModel.streamFactories().count());
}
@Test //verify we have the javac -parameter flag set when compiling this class
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
index e074e80..5f3b18d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
@@ -25,24 +25,19 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import org.apache.isis.applib.exceptions.recoverable.TextEntryParseException;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
-import org.apache.isis.core.metamodel.facets.value.booleans.BooleanValueSemanticsProviderAbstract;
-import org.apache.isis.core.metamodel.facets.value.booleans.BooleanWrapperValueSemanticsProvider;
+import org.apache.isis.core.metamodel.facets.value.booleans.BooleanValueSemantics;
public class BooleanValueSemanticsProviderTest
extends ValueSemanticsProviderAbstractTestCase {
- private BooleanValueSemanticsProviderAbstract value;
+ private BooleanValueSemantics value;
private Boolean booleanObj;
- private FacetHolder facetHolder;
@Before
public void setUpObjects() throws Exception {
booleanObj = Boolean.valueOf(true);
- facetHolder = FacetHolderAbstract.forTesting(metaModelContext);
- setValue(value = new BooleanWrapperValueSemanticsProvider(facetHolder));
+ setSemanitcs(value = new BooleanValueSemantics());
}
@Test
@@ -85,7 +80,7 @@ extends ValueSemanticsProviderAbstractTestCase {
@Test
public void testTitleWhenNotSet() throws Exception {
- assertEquals("", value.titleString(null));
+ assertEquals("", value.presentationValue(null, null));
}
@Test
@@ -99,15 +94,4 @@ extends ValueSemanticsProviderAbstractTestCase {
assertEquals(Boolean.valueOf(true), parsed);
}
- @Test
- public void testIsSet() {
- allowMockAdapterToReturn(Boolean.valueOf(true));
- assertEquals(true, value.isSet(mockAdapter));
- }
-
- @Test
- public void testIsNotSet() {
- allowMockAdapterToReturn(Boolean.valueOf(false));
- assertEquals(false, value.isSet(mockAdapter));
- }
}