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/03 13:03:01 UTC
[isis] branch master updated: ISIS-2774: make layout- and
cssClass-facet imperative
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 765b994 ISIS-2774: make layout- and cssClass-facet imperative
765b994 is described below
commit 765b9940e7b0e12db84ede200c49a4ade74e1187
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 3 15:01:14 2021 +0200
ISIS-2774: make layout- and cssClass-facet imperative
fixes MM validation on object support methods
---
.../method/CssClassFacetMethodFactory.java | 19 ++++-----
...od.java => CssClassFacetViaCssClassMethod.java} | 48 ++++++++++++++--------
...sClassFacetForDomainObjectLayoutAnnotation.java | 4 +-
.../object/icon/method/IconFacetMethodFactory.java | 1 -
.../icon/method/IconFacetViaIconNameMethod.java | 7 +++-
.../facets/object/layout/LayoutFacetFactory.java | 28 ++++++-------
...Method.java => LayoutFacetViaLayoutMethod.java} | 37 +++++++++++++----
.../title/methods/TitleFacetViaMethodsFactory.java | 4 +-
...tionEnforcesMetamodelContributionValidator.java | 11 +++--
.../metamodel/methods/MethodLiteralConstants.java | 11 +++--
.../cssclass/CssClassFacetMethodFactoryTest.java | 4 +-
.../ident/cssclass/CssClassFacetMethodTest.java | 6 +--
.../CssClassFacetMethodWithProblemTest.java | 6 +--
.../ident/layout/LayoutFacetFactoryTest.java | 4 +-
.../object/ident/layout/LayoutFacetMethodTest.java | 6 +--
.../good/ProperMemberInheritanceAbstract.java | 10 +++++
16 files changed, 125 insertions(+), 81 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
index 5001ed3..5b10711 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethodFactory.java
@@ -18,42 +18,41 @@
*/
package org.apache.isis.core.metamodel.facets.object.cssclass.method;
-import java.lang.reflect.Method;
-
import javax.inject.Inject;
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.methods.MethodFinderOptions;
import org.apache.isis.core.metamodel.methods.MethodFinderUtils;
import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
import org.apache.isis.core.metamodel.methods.MethodPrefixBasedFacetFactoryAbstract;
+import lombok.val;
+
public class CssClassFacetMethodFactory
extends MethodPrefixBasedFacetFactoryAbstract {
- private static final String PREFIX = MethodLiteralConstants.CSS_CLASS;
+ private static final String METHOD_NAME = MethodLiteralConstants.CSS_CLASS;
@Inject
public CssClassFacetMethodFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
+ super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(METHOD_NAME));
}
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
- final Method method = MethodFinderUtils.findMethod(
+ val method = MethodFinderUtils.findMethod(
MethodFinderOptions
.objectSupport(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, String.class, NO_ARG);
+ cls, METHOD_NAME, String.class, NO_ARG);
if (method == null) {
return;
}
processClassContext.removeMethod(method);
- addFacet(new CssClassFacetMethod(method, facetHolder));
+ addFacet(new CssClassFacetViaCssClassMethod(method, facetHolder));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetViaCssClassMethod.java
similarity index 59%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetViaCssClassMethod.java
index abcfdf3..d7d6d46 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclass/method/CssClassFacetViaCssClassMethod.java
@@ -22,44 +22,58 @@ package org.apache.isis.core.metamodel.facets.object.cssclass.method;
import java.lang.reflect.Method;
import java.util.function.BiConsumer;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
-public class CssClassFacetMethod
-extends FacetAbstract
-implements CssClassFacet {
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.val;
- private static final Class<? extends Facet> type() {
- return CssClassFacet.class;
- }
-
- private final Method method;
+public class CssClassFacetViaCssClassMethod
+extends CssClassFacetAbstract
+implements ImperativeFacet {
+ @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
- public CssClassFacetMethod(final Method method, final FacetHolder holder) {
- super(type(), holder);
- this.method = method;
+ public CssClassFacetViaCssClassMethod(final Method method, final FacetHolder holder) {
+ super(holder);
+ this.methods = ImperativeFacet.singleMethod(method);
}
@Override
- public String cssClass(final ManagedObject owningAdapter) {
- if(owningAdapter == null) {
+ public String cssClass(final ManagedObject domainObject) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(domainObject)) {
return "";
}
try {
- return (String) ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ val method = methods.getFirstOrFail();
+ return (String) ManagedObjects.InvokeUtil.invoke(method, domainObject);
} catch (final RuntimeException ex) {
return null;
}
}
@Override
+ public Intent getIntent(final Method method) {
+ return Intent.UI_HINT;
+ }
+
+ @Override
+ protected String toStringValues() {
+ val method = methods.getFirstOrFail();
+ return "method=" + method;
+ }
+
+ @Override
public void visitAttributes(final BiConsumer<String, Object> visitor) {
+ val method = methods.getFirstOrFail();
super.visitAttributes(visitor);
+ ImperativeFacet.visitAttributes(this, visitor);
visitor.accept("method", method);
}
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
index 590ef6b..f0ffbb9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
@@ -23,7 +23,7 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetSimple;
-import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
public class CssClassFacetForDomainObjectLayoutAnnotation extends CssClassFacetSimple {
@@ -38,7 +38,7 @@ public class CssClassFacetForDomainObjectLayoutAnnotation extends CssClassFacetS
// a result of the cssClass attribute, but also as a result of the cssClassUiEvent. The former has lower
// "priority" to the cssClass() method, but the latter has *higher* priority. Hence the special casing
// that is required here.
- if(facet != null && facet instanceof CssClassFacetMethod) {
+ if(facet != null && facet instanceof CssClassFacetViaCssClassMethod) {
// don't overwrite
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
index 0b42c28..9df0584 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetMethodFactory.java
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.icon.method;
import javax.inject.Inject;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetViaIconNameMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetViaIconNameMethod.java
index 8c83d44..85887d7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetViaIconNameMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/icon/method/IconFacetViaIconNameMethod.java
@@ -45,10 +45,13 @@ implements ImperativeFacet {
}
@Override
- public String iconName(final ManagedObject owningAdapter) {
+ public String iconName(final ManagedObject domainObject) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(domainObject)) {
+ return null;
+ }
try {
val method = methods.getFirstOrFail();
- return (String) ManagedObjects.InvokeUtil.invoke(method, owningAdapter);
+ return (String) ManagedObjects.InvokeUtil.invoke(method, domainObject);
} catch (final RuntimeException ex) {
return null;
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetFactory.java
index c12f40b..ff0a967 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetFactory.java
@@ -19,43 +19,39 @@
package org.apache.isis.core.metamodel.facets.object.layout;
-import java.lang.reflect.Method;
-
import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.methods.MethodFinderOptions;
import org.apache.isis.core.metamodel.methods.MethodFinderUtils;
import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
import org.apache.isis.core.metamodel.methods.MethodPrefixBasedFacetFactoryAbstract;
+import lombok.val;
+
public class LayoutFacetFactory
extends MethodPrefixBasedFacetFactoryAbstract {
- private static final String PREFIX = MethodLiteralConstants.LAYOUT;
+ private static final String METHOD_NAME = MethodLiteralConstants.LAYOUT;
public LayoutFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
+ super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(METHOD_NAME));
}
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
- final Method method = MethodFinderUtils.findMethod(
+ val method = MethodFinderUtils.findMethod(
MethodFinderOptions
.objectSupport(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, String.class, NO_ARG);
-
- final LayoutFacet layoutFacet;
+ cls, METHOD_NAME, String.class, NO_ARG);
if (method == null) {
- layoutFacet = new LayoutFacetFallback(facetHolder);
- } else {
- processClassContext.removeMethod(method);
- layoutFacet = new LayoutFacetMethod(method, facetHolder);
+ addFacet(new LayoutFacetFallback(facetHolder));
+ return;
}
- addFacet(layoutFacet);
+ processClassContext.removeMethod(method);
+ addFacet(new LayoutFacetViaLayoutMethod(method, facetHolder));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetViaLayoutMethod.java
similarity index 59%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetMethod.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetViaLayoutMethod.java
index f8f6255..371f440 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/LayoutFacetViaLayoutMethod.java
@@ -22,35 +22,56 @@ package org.apache.isis.core.metamodel.facets.object.layout;
import java.lang.reflect.Method;
import java.util.function.BiConsumer;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
-public class LayoutFacetMethod
-extends LayoutFacetAbstract {
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.val;
- private final Method method;
+public class LayoutFacetViaLayoutMethod
+extends LayoutFacetAbstract
+implements ImperativeFacet {
- public LayoutFacetMethod(final Method method, final FacetHolder holder) {
+ @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
+
+ public LayoutFacetViaLayoutMethod(final Method method, final FacetHolder holder) {
super(holder);
- this.method = method;
+ this.methods = ImperativeFacet.singleMethod(method);
}
@Override
- public String layout(final ManagedObject objectAdapterIfAny) {
- if(objectAdapterIfAny == null) {
+ public String layout(final ManagedObject domainObject) {
+ if(ManagedObjects.isNullOrUnspecifiedOrEmpty(domainObject)) {
return null;
}
try {
- return (String) ManagedObjects.InvokeUtil.invoke(method, objectAdapterIfAny);
+ val method = methods.getFirstOrFail();
+ return (String) ManagedObjects.InvokeUtil.invoke(method, domainObject);
} catch (final RuntimeException ex) {
return null;
}
}
@Override
+ public Intent getIntent(final Method method) {
+ return Intent.UI_HINT;
+ }
+
+ @Override
+ protected String toStringValues() {
+ val method = methods.getFirstOrFail();
+ return "method=" + method;
+ }
+
+ @Override
public void visitAttributes(final BiConsumer<String, Object> visitor) {
+ val method = methods.getFirstOrFail();
super.visitAttributes(visitor);
+ ImperativeFacet.visitAttributes(this, visitor);
visitor.accept("method", method);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
index 29888c2..f3ed35e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/methods/TitleFacetViaMethodsFactory.java
@@ -50,13 +50,13 @@ import lombok.val;
public class TitleFacetViaMethodsFactory
extends MethodPrefixBasedFacetFactoryAbstract {
- private static final Can<String> PREFIXES = Can.ofCollection(_Lists.of(
+ private static final Can<String> METHOD_NAMES = Can.ofCollection(_Lists.of(
TO_STRING,
TITLE));
@Inject
public TitleFacetViaMethodsFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
+ super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, METHOD_NAMES);
}
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
index 9794669..0f2dca0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
@@ -41,6 +41,7 @@ import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
import org.apache.isis.core.metamodel.specloader.specimpl.ObjectMemberAbstract;
+import org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelVisitingValidatorAbstract;
import org.apache.isis.core.metamodel.specloader.validator.ValidationFailure;
@@ -118,7 +119,8 @@ extends MetaModelVisitingValidatorAbstract {
// find reasons about why these are not recognized
notRecognizedMethods.forEach(notRecognizedMethod->{
- final List<String> unmetContraints = unmetContraints(spec, notRecognizedMethod);
+ final List<String> unmetContraints =
+ unmetContraints((ObjectSpecificationAbstract) spec, notRecognizedMethod);
//FIXME[ISIS-2774] - update message to a more generic one
String messageFormat = "%s#%s: has annotation @%s, is assumed to support "
@@ -138,13 +140,14 @@ extends MetaModelVisitingValidatorAbstract {
// -- VALIDATION LOGIC
private List<String> unmetContraints(
- final ObjectSpecification spec,
+ final ObjectSpecificationAbstract spec,
final Method method) {
//val type = spec.getCorrespondingClass();
- final List<String> unmetContraints = _Lists.<String>newArrayList();
+ val unmetContraints = _Lists.<String>newArrayList();
- if (!MethodUtil.isPublic(method)) {
+ if(!spec.getIntrospectionPolicy().getEncapsulationPolicy().isEncapsulatedMembersSupported()
+ && !MethodUtil.isPublic(method)) {
unmetContraints.add("method must be 'public'");
return unmetContraints; // don't check any further
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodLiteralConstants.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodLiteralConstants.java
index 9ea4df7..630c7cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodLiteralConstants.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodLiteralConstants.java
@@ -60,6 +60,11 @@ public final class MethodLiteralConstants {
public static final String DISABLED = "disabled"; // for batch disabling all members
public static final String HIDDEN = "hidden"; // for batch hiding all members
+ public static final String TITLE = "title";
+ public static final String CSS_CLASS = "cssClass";
+ public static final String ICON_NAME = "iconName";
+ public static final String LAYOUT = "layout";
+
// -- MEMBER SUPPORT
public static final String DEFAULT_PREFIX = "default";
@@ -73,12 +78,6 @@ public final class MethodLiteralConstants {
public static final String NAMED_PREFIX = "named"; // dynamic naming
public static final String DESCRIBED_PREFIX = "described"; // dynamic description
- // -- LAYOUT SUPPORT
-
- public static final String TITLE = "title";
- public static final String CSS_CLASS = "cssClass";
- public static final String ICON_NAME = "iconName";
- public static final String LAYOUT = "layout";
// -- OTHER LITERALS
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodFactoryTest.java
index 0641139..50a532d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodFactoryTest.java
@@ -30,7 +30,7 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethodFactory;
public class CssClassFacetMethodFactoryTest
@@ -65,7 +65,7 @@ extends AbstractFacetFactoryTest {
final Facet facet = facetedMethod.getFacet(CssClassFacet.class);
assertThat(facet, is(notNullValue()));
- assertThat(facet, is(instanceOf(CssClassFacetMethod.class)));
+ assertThat(facet, is(instanceOf(CssClassFacetViaCssClassMethod.class)));
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(cssClassNameMethod));
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
index c23e9ca..71439df 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
@@ -29,7 +29,7 @@ import org.junit.Before;
import org.junit.Test;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import static org.hamcrest.CoreMatchers.equalTo;
@@ -41,7 +41,7 @@ public class CssClassFacetMethodTest {
public static final String CSS_CLASS = "someCssClass";
private final Mockery mockery = new JUnit4Mockery();
- private CssClassFacetMethod facet;
+ private CssClassFacetViaCssClassMethod facet;
private FacetHolder mockFacetHolder;
private ManagedObject mockOwningAdapter;
@@ -61,7 +61,7 @@ public class CssClassFacetMethodTest {
mockFacetHolder = mockery.mock(FacetHolder.class);
mockOwningAdapter = mockery.mock(ManagedObject.class);
final Method iconNameMethod = DomainObjectInCssClassMethod.class.getMethod("cssClass");
- facet = new CssClassFacetMethod(iconNameMethod, mockFacetHolder);
+ facet = new CssClassFacetViaCssClassMethod(iconNameMethod, mockFacetHolder);
mockery.checking(new Expectations() {
{
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodWithProblemTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodWithProblemTest.java
index ee4dd30..bc8f61d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodWithProblemTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodWithProblemTest.java
@@ -29,7 +29,7 @@ import org.junit.Before;
import org.junit.Test;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import static org.hamcrest.CoreMatchers.is;
@@ -40,7 +40,7 @@ public class CssClassFacetMethodWithProblemTest {
private final Mockery mockery = new JUnit4Mockery();
- private CssClassFacetMethod facet;
+ private CssClassFacetViaCssClassMethod facet;
private FacetHolder mockFacetHolder;
private ManagedObject mockOwningAdapter;
@@ -60,7 +60,7 @@ public class CssClassFacetMethodWithProblemTest {
mockFacetHolder = mockery.mock(FacetHolder.class);
mockOwningAdapter = mockery.mock(ManagedObject.class);
final Method iconNameMethod = DomainObjectWithProblemInCssClassMethod.class.getMethod("cssClass");
- facet = new CssClassFacetMethod(iconNameMethod, mockFacetHolder);
+ facet = new CssClassFacetViaCssClassMethod(iconNameMethod, mockFacetHolder);
mockery.checking(new Expectations() {
{
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetFactoryTest.java
index a664c4f..61e6c4d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetFactoryTest.java
@@ -31,7 +31,7 @@ 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.layout.LayoutFacet;
import org.apache.isis.core.metamodel.facets.object.layout.LayoutFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.layout.LayoutFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.layout.LayoutFacetViaLayoutMethod;
public class LayoutFacetFactoryTest extends AbstractFacetFactoryTest {
@@ -64,7 +64,7 @@ public class LayoutFacetFactoryTest extends AbstractFacetFactoryTest {
final Facet facet = facetedMethod.getFacet(LayoutFacet.class);
assertThat(facet, is(notNullValue()));
- assertThat(facet, is(instanceOf(LayoutFacetMethod.class)));
+ assertThat(facet, is(instanceOf(LayoutFacetViaLayoutMethod.class)));
assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetMethodTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetMethodTest.java
index cc83dcb..efdf717 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetMethodTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/layout/LayoutFacetMethodTest.java
@@ -29,7 +29,7 @@ import org.junit.Before;
import org.junit.Test;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.layout.LayoutFacetMethod;
+import org.apache.isis.core.metamodel.facets.object.layout.LayoutFacetViaLayoutMethod;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import static org.hamcrest.CoreMatchers.is;
@@ -40,7 +40,7 @@ public class LayoutFacetMethodTest {
private final Mockery mockery = new JUnit4Mockery();
- private LayoutFacetMethod facet;
+ private LayoutFacetViaLayoutMethod facet;
private FacetHolder mockFacetHolder;
private ManagedObject mockOwningAdapter;
@@ -60,7 +60,7 @@ public class LayoutFacetMethodTest {
mockFacetHolder = mockery.mock(FacetHolder.class);
mockOwningAdapter = mockery.mock(ManagedObject.class);
final Method iconNameMethod = DomainObjectWithProblemInLayoutMethod.class.getMethod("layout");
- facet = new LayoutFacetMethod(iconNameMethod, mockFacetHolder);
+ facet = new LayoutFacetViaLayoutMethod(iconNameMethod, mockFacetHolder);
mockery.checking(new Expectations() {
{
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
index 6670f5e..9e9d110 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberInheritanceAbstract.java
@@ -44,6 +44,16 @@ abstract class ProperMemberInheritanceAbstract {
return "inherited icon";
}
+ @ObjectSupport
+ public String cssClass(){
+ return "another-class";
+ }
+
+ @ObjectSupport
+ public String layout(){
+ return "layout";
+ }
+
@Action
@ActionLayout(named = "foo", describedAs = "bar")
public void sampleAction() {