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 04:50:44 UTC
[isis] branch master updated: ISIS-2871: auto install value facets
based on presence of corresponding value semantics within Spring's context
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 e1ac26a ISIS-2871: auto install value facets based on presence of corresponding value semantics within Spring's context
e1ac26a is described below
commit e1ac26ac673c487793b94732e50125c245f72d2a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 16 06:50:34 2021 +0200
ISIS-2871: auto install value facets based on presence of corresponding
value semantics within Spring's context
---
.../facets/object/value/ValueFacetAbstract.java | 58 +++-------------------
...onOrAnyMatchingValueSemanticsFacetFactory.java} | 49 +++++++++++-------
.../vsp/ValueFacetUsingSemanticsProvider.java | 5 +-
.../ValueFacetUsingSemanticsProviderFactory.java | 7 +--
.../ValueSemanticsProviderAndFacetAbstract.java | 1 +
...malValueFacetUsingSemanticsProviderFactory.java | 51 -------------------
...UIDValueFacetUsingSemanticsProviderFactory.java | 52 -------------------
.../dflt/ProgrammingModelFacetsJava11.java | 11 ++--
...eFacetAnnotationOrConfigurationFactoryTest.java | 6 +--
.../facets/param/name/ParameterNameFacetTest.java | 2 +-
10 files changed, 52 insertions(+), 190 deletions(-)
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 f7646f0..caba1fd 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,14 +19,11 @@
package org.apache.isis.core.metamodel.facets.object.value;
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
-import org.apache.isis.core.metamodel.commons.ClassExtensions;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import lombok.RequiredArgsConstructor;
-import lombok.val;
-
public abstract class ValueFacetAbstract
extends FacetAbstract
implements ValueFacet {
@@ -35,57 +32,16 @@ implements ValueFacet {
return ValueFacet.class;
}
- private static ValueSemanticsProvider<?> newValueSemanticsProviderOrNull(
- final Class<?> semanticsProviderClass, final FacetHolder holder) {
- if (semanticsProviderClass == null) {
- return null;
- }
-
- return (ValueSemanticsProvider<?>) ClassExtensions.newInstance(semanticsProviderClass,
- new Class<?>[] { FacetHolder.class/*, ServiceInjector.class*/ }, new Object[] { holder });
- }
-
- private final ValueSemanticsProvider<?> semanticsProvider;
-
- @RequiredArgsConstructor
- public enum AddFacetsIfInvalidStrategy {
- DO_ADD(true), DONT_ADD(false);
- private final boolean addFacetsIfInvalid;
-
- public boolean shouldAddFacetsIfInvalid() {
- return addFacetsIfInvalid;
- }
- }
-
- protected ValueFacetAbstract(
- final Class<?> semanticsProviderClass,
- final AddFacetsIfInvalidStrategy addFacetsIfInvalid,
- final FacetHolder holder,
- final Facet.Precedence precedence) {
-
- this(newValueSemanticsProviderOrNull(semanticsProviderClass, holder), addFacetsIfInvalid, holder, precedence);
- }
+ private final Can<ValueSemanticsProvider<?>> semanticsProviders;
protected ValueFacetAbstract(
- final ValueSemanticsProvider<?> semanticsProvider,
- final AddFacetsIfInvalidStrategy addFacetsIfInvalid,
+ final Can<ValueSemanticsProvider<?>> semanticsProviders,
final FacetHolder holder,
final Facet.Precedence precedence) {
super(type(), holder, precedence);
- this.semanticsProvider = semanticsProvider;
-
- // note: we can't use the runtimeContext to inject dependencies into the
- // semanticsProvider,
- // because there won't be any PersistenceSession when initially building
- // the metamodel.
- // so, we defer until we use the parser.
-
- if (!hasSemanticsProvider()
- && !addFacetsIfInvalid.shouldAddFacetsIfInvalid()) {
- return;
- }
+ this.semanticsProviders = semanticsProviders;
// we now figure add all the facets supported. Note that we do not use
// FacetUtil.addFacet,
@@ -93,14 +49,12 @@ implements ValueFacet {
// but have the
// facets themselves reference this value's holder.
- val facetHolder = super.getFacetHolder();
-
- facetHolder.addFacet(this); // add just ValueFacet.class
+ super.getFacetHolder().addFacet(this); // add just ValueFacet.class
}
protected boolean hasSemanticsProvider() {
- return this.semanticsProvider != null;
+ return !this.semanticsProviders.isEmpty();
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
similarity index 79%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationFacetFactory.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
index 5718519..3002d44 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/annotcfg/ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory.java
@@ -57,6 +57,7 @@ import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueFacetUsingSem
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;
@@ -86,43 +87,47 @@ import lombok.extern.log4j.Log4j2;
* Note that {@link ParentedCollectionFacet} is <i>not</i> installed.
*/
@Log4j2
-public class ValueFacetForValueAnnotationFacetFactory
+public class ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory
extends ValueFacetUsingSemanticsProviderFactory {
@Inject
- public ValueFacetForValueAnnotationFacetFactory(final MetaModelContext mmc) {
+ public ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory(final MetaModelContext mmc) {
super(mmc);
}
@Override
public void process(final ProcessClassContext processClassContext) {
+ final var cls = processClassContext.getCls();
final var facetHolder = processClassContext.getFacetHolder();
final var valueIfAny = processClassContext.synthesizeOnType(Value.class);
- final var cls = processClassContext.getCls();
-
addFacetIfPresent(
LogicalTypeFacetForValueAnnotation
.create(valueIfAny, cls, facetHolder));
+ final var valueSemantics = lookupValueSemantics(cls);
+ //FIXME install them all, then enable qualifiers
+ if(!valueSemantics.isEmpty()) {
+ super.addAllFacetsForValueSemantics(valueSemantics, facetHolder);
+ }
+
+// if(valueIfAny.isPresent()
+// || ClassUtils.isPrimitiveOrWrapper(cls)
+// || Number.class.isAssignableFrom(cls)) {
+//
+// }
+
valueIfAny
.ifPresent(value->{
- final var candidates = lookupValueSemantics(cls);
- if(candidates.isCardinalityOne()) {
- super.addAllFacetsForValueSemantics(candidates.getFirstOrFail(), facetHolder);
+ if(valueSemantics.isCardinalityMultiple()) {
+ log.warn("found multiple ValueSemanticsProvider for value type {}; using the first", cls);
} else {
-
- if(candidates.isCardinalityMultiple()) {
- log.warn("found multiple ValueSemanticsProvider for value type {}; using the first", cls);
- super.addAllFacetsForValueSemantics(candidates.getFirstOrFail(), facetHolder);
- } else {
- log.warn("could not find a ValueSemanticsProvider for value type {}; using a no-op fallback", cls);
- super.addAllFacetsForValueSemantics(new NoopValueSemantics(), facetHolder);
- }
-
+ log.warn("could not find a ValueSemanticsProvider for value type {}; using a no-op fallback", cls);
+ super.addAllFacetsForValueSemantics(getFallbackValueSemantics(), facetHolder);
}
+
});
}
@@ -147,10 +152,18 @@ 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);
- return getServiceRegistry()
- .select(ValueSemanticsProvider.class)
+ return getAllValueSemanticsProviders()
.stream()
.filter(resolvableType::isInstance)
.map(provider->_Casts.<ValueSemanticsProvider<T>>uncheckedCast(provider))
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProvider.java
index 4558903..eaf4d84 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProvider.java
@@ -19,6 +19,7 @@
package org.apache.isis.core.metamodel.facets.object.value.vsp;
import org.apache.isis.applib.adapters.ValueSemanticsProvider;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacetAbstract;
@@ -26,10 +27,10 @@ public class ValueFacetUsingSemanticsProvider
extends ValueFacetAbstract {
public ValueFacetUsingSemanticsProvider(
- final ValueSemanticsProvider<?> valueSemantics,
+ final Can<ValueSemanticsProvider<?>> valueSemantics,
final FacetHolder holder) {
- super(valueSemantics, AddFacetsIfInvalidStrategy.DO_ADD, holder, Precedence.DEFAULT);
+ super(valueSemantics, holder, Precedence.DEFAULT);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
index 97ca116..50f5aee 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/vsp/ValueFacetUsingSemanticsProviderFactory.java
@@ -22,6 +22,7 @@ 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.commons.collections.Can;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -46,16 +47,16 @@ extends FacetFactoryAbstract {
@Deprecated
protected final void addValueFacet(final ValueSemanticsProviderAndFacetAbstract<T> valueSemantics) {
FacetUtil.addFacet(
- new ValueFacetUsingSemanticsProvider(valueSemantics, valueSemantics.getFacetHolder()));
+ new ValueFacetUsingSemanticsProvider(Can.ofSingleton(valueSemantics), valueSemantics.getFacetHolder()));
installRelatedFacets(valueSemantics, valueSemantics.getFacetHolder());
}
protected final void addAllFacetsForValueSemantics(
- final ValueSemanticsProvider<?> valueSemantics,
+ final Can<ValueSemanticsProvider<?>> valueSemantics,
final FacetHolder holder) {
FacetUtil.addFacet(
new ValueFacetUsingSemanticsProvider(valueSemantics, holder));
- installRelatedFacets(valueSemantics, holder);
+ installRelatedFacets(valueSemantics.getFirstOrFail(), holder);
}
// -- HELPER
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 087a473..515b7d9 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
@@ -34,6 +34,7 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+@Deprecated
public abstract class ValueSemanticsProviderAndFacetAbstract<T>
extends FacetAbstract
implements ValueSemanticsProvider<T>, EncoderDecoder<T>, Parser<T>, DefaultsProvider<T> {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueFacetUsingSemanticsProviderFactory.java
deleted file mode 100644
index 801cef9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/bigdecimal/BigDecimalValueFacetUsingSemanticsProviderFactory.java
+++ /dev/null
@@ -1,51 +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.bigdecimal;
-
-import java.math.BigDecimal;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.adapters.ValueSemanticsProvider;
-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 BigDecimalValueFacetUsingSemanticsProviderFactory
-extends ValueFacetUsingSemanticsProviderFactory<BigDecimal> {
-
- @Inject private ValueSemanticsProvider<BigDecimal> valueSemantics;
-
- public BigDecimalValueFacetUsingSemanticsProviderFactory(
- final MetaModelContext mmc) {
- super(mmc);
- getServiceInjector().injectServicesInto(this);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> type = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
- if (type != BigDecimal.class) {
- return;
- }
- addAllFacetsForValueSemantics(valueSemantics, holder);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueFacetUsingSemanticsProviderFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueFacetUsingSemanticsProviderFactory.java
deleted file mode 100644
index f2a23ea..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/uuid/UUIDValueFacetUsingSemanticsProviderFactory.java
+++ /dev/null
@@ -1,52 +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.uuid;
-
-import java.util.UUID;
-
-import javax.inject.Inject;
-
-import org.apache.isis.applib.adapters.ValueSemanticsProvider;
-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 UUIDValueFacetUsingSemanticsProviderFactory
-extends ValueFacetUsingSemanticsProviderFactory<UUID> {
-
- @Inject private ValueSemanticsProvider<UUID> valueSemantics;
-
- public UUIDValueFacetUsingSemanticsProviderFactory(
- final MetaModelContext mmc) {
- super(mmc);
- getServiceInjector().injectServicesInto(this);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> type = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- if (type != UUID.class) {
- return;
- }
- addAllFacetsForValueSemantics(valueSemantics, holder);
- }
-
-}
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 ce5f8f9..4f23e44 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
@@ -60,7 +60,7 @@ import org.apache.isis.core.metamodel.facets.object.objectvalidprops.impl.Object
import org.apache.isis.core.metamodel.facets.object.recreatable.RecreatableObjectFacetFactory;
import org.apache.isis.core.metamodel.facets.object.support.ObjectSupportFacetFactory;
import org.apache.isis.core.metamodel.facets.object.title.annotation.TitleAnnotationFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetForValueAnnotationFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory;
import org.apache.isis.core.metamodel.facets.param.autocomplete.method.ActionParameterAutoCompleteFacetViaMethodFactory;
import org.apache.isis.core.metamodel.facets.param.bigdecimal.javaxvaldigits.BigDecimalFacetOnParameterFromJavaxValidationAnnotationFactory;
import org.apache.isis.core.metamodel.facets.param.choices.methodnum.ActionParameterChoicesFacetViaMethodFactory;
@@ -84,8 +84,6 @@ import org.apache.isis.core.metamodel.facets.properties.propertylayout.PropertyL
import org.apache.isis.core.metamodel.facets.properties.update.PropertySetterFacetFactory;
import org.apache.isis.core.metamodel.facets.properties.validating.dflt.PropertyValidateFacetDefaultFactory;
import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.facets.value.annotation.ValueAnnotationFacetFactory;
-import org.apache.isis.core.metamodel.facets.value.bigdecimal.BigDecimalValueFacetUsingSemanticsProviderFactory;
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;
@@ -124,7 +122,6 @@ import org.apache.isis.core.metamodel.facets.value.timejodalocal.JodaLocalTimeVa
import org.apache.isis.core.metamodel.facets.value.timesql.JavaSqlTimeValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.timestampsql.JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.value.url.URLValueFacetUsingSemanticsProviderFactory;
-import org.apache.isis.core.metamodel.facets.value.uuid.UUIDValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.methods.DomainIncludeAnnotationEnforcesMetamodelContributionValidator;
import org.apache.isis.core.metamodel.methods.MethodByClassMap;
import org.apache.isis.core.metamodel.postprocessors.DeriveMixinMembersPostProcessor;
@@ -173,7 +170,7 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.B1_OBJECT_NAMING, new LogicalTypeFacetDerivedFromClassNameFactory(mmc, classSubstitutorRegistry));
addFactory(FacetProcessingOrder.B1_OBJECT_NAMING, new DomainServiceFacetAnnotationFactory(mmc));
- addFactory(FacetProcessingOrder.B1_OBJECT_NAMING, new ValueFacetForValueAnnotationFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.B1_OBJECT_NAMING, new ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory(mmc));
addFactory(FacetProcessingOrder.C1_METHOD_REMOVING, new IteratorFilteringFacetFactory(mmc));
@@ -294,7 +291,6 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new CharPrimitiveValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new CharWrapperValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new BigIntegerValueFacetUsingSemanticsProviderFactory(mmc));
- addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new BigDecimalValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new JavaSqlDateValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new JavaSqlTimeValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory(mmc));
@@ -302,7 +298,6 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new StringValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new URLValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new LocalResourcePathValueFacetUsingSemanticsProviderFactory(mmc));
- addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new UUIDValueFacetUsingSemanticsProviderFactory(mmc));
addFactory(FacetProcessingOrder.G1_VALUE_TYPES, new JavaAwtImageValueFacetUsingSemanticsProviderFactory(mmc));
@@ -331,7 +326,7 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.Z1_FINALLY, new ParentedFacetSinceCollectionFactory(mmc));
// so we can dogfood the applib "value" types
- addFactory(FacetProcessingOrder.Z1_FINALLY, new ValueFacetForValueAnnotationFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.Z1_FINALLY, new ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory(mmc));
// should come near the end, after any facets that install PropertySetterFacet have run.
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
index 9a8f16e..d8b78eb 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
@@ -24,17 +24,17 @@ import org.apache.isis.applib.annotation.Value;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
-import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetForValueAnnotationFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory;
public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFacetFactoryTest {
- private ValueFacetForValueAnnotationFacetFactory facetFactory;
+ private ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory facetFactory;
@Override
protected void setUp() throws Exception {
super.setUp();
- facetFactory = new ValueFacetForValueAnnotationFacetFactory(metaModelContext);
+ facetFactory = new ValueFacetForValueAnnotationOrAnyMatchingValueSemanticsFacetFactory(metaModelContext);
}
@Override
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 345ee36..18c781a 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(105, programmingModel.streamFactories().count());
+ assertEquals(103, programmingModel.streamFactories().count());
}
@Test //verify we have the javac -parameter flag set when compiling this class