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/05 08:37:44 UTC
[isis] branch master updated: ISIS-2774: remove
ImperativeFacetMulti, simplify CallbackFacetFactories and their tests
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 a87535e ISIS-2774: remove ImperativeFacetMulti, simplify CallbackFacetFactories and their tests
a87535e is described below
commit a87535e7188915c440aae3261723e33131773871
Author: andi-huber <ah...@apache.org>
AuthorDate: Sun Sep 5 10:37:36 2021 +0200
ISIS-2774: remove ImperativeFacetMulti, simplify CallbackFacetFactories
and their tests
---
.../core/metamodel/facets/ImperativeFacet.java | 16 ---
.../metamodel/facets/ImperativeFacetMulti.java | 34 ------
.../facets/object/callbacks/CallbackFacet.java | 4 +-
.../object/callbacks/CallbackFacetAbstract.java | 33 ++----
...tory.java => CallbackFacetFactoryAbstract.java} | 50 +++++----
.../callbacks/CreatedCallbackFacetAbstract.java | 9 +-
.../callbacks/CreatedCallbackFacetFactory.java | 33 +-----
.../callbacks/CreatedCallbackFacetViaMethod.java | 8 +-
.../object/callbacks/LoadCallbackFacetFactory.java | 62 -----------
.../callbacks/LoadedCallbackFacetAbstract.java | 9 +-
...Method.java => LoadedCallbackFacetFactory.java} | 18 ++--
.../callbacks/LoadedCallbackFacetViaMethod.java | 12 +--
.../callbacks/PersistCallbackFacetFactory.java | 90 ----------------
.../PersistCallbackViaSaveMethodFacetFactory.java | 90 ----------------
.../callbacks/PersistedCallbackFacetAbstract.java | 9 +-
...hod.java => PersistedCallbackFacetFactory.java} | 18 ++--
.../callbacks/PersistedCallbackFacetViaMethod.java | 12 +--
.../callbacks/PersistingCallbackFacetAbstract.java | 9 +-
...ct.java => PersistingCallbackFacetFactory.java} | 19 ++--
.../PersistingCallbackFacetViaMethod.java | 12 +--
.../RemoveCallbackViaDeleteMethodFacetFactory.java | 73 -------------
.../callbacks/RemovingCallbackFacetAbstract.java | 9 +-
...thod.java => RemovingCallbackFacetFactory.java} | 18 ++--
.../callbacks/RemovingCallbackFacetViaMethod.java | 12 +--
.../callbacks/UpdateCallbackFacetFactory.java | 80 ---------------
.../callbacks/UpdatedCallbackFacetAbstract.java | 9 +-
...ethod.java => UpdatedCallbackFacetFactory.java} | 18 ++--
.../callbacks/UpdatedCallbackFacetViaMethod.java | 12 +--
.../callbacks/UpdatingCallbackFacetAbstract.java | 9 +-
...thod.java => UpdatingCallbackFacetFactory.java} | 18 ++--
.../callbacks/UpdatingCallbackFacetViaMethod.java | 12 +--
.../metamodel/methods/MethodLiteralConstants.java | 25 +++--
.../dflt/ProgrammingModelFacetsJava8.java | 22 ++--
.../callback/CallbackFacetFactoryTestAbstract.java | 44 ++++++++
.../callback/CreatedCallbackFacetFactoryTest.java | 22 +---
.../callback/DeleteCallbackFacetFactoryTest.java | 69 -------------
...st.java => LoadedCallbackFacetFactoryTest.java} | 31 ++----
.../PersistAndSaveCallbackFacetFactoryTest.java | 114 ---------------------
.../callback/PersistCallbackFacetFactoryTest.java | 90 ----------------
.../PersistedCallbackFacetFactoryTest.java | 76 ++++++++++++++
.../PersistingCallbackFacetFactoryTest.java | 76 ++++++++++++++
.../RemoveAndDeleteCallbackFacetFactoryTest.java | 85 ---------------
....java => RemovingCallbackFacetFactoryTest.java} | 49 +++++----
.../callback/SaveCallbackFacetFactoryTest.java | 90 ----------------
.../callback/UpdateCallbackFacetFactoryTest.java | 90 ----------------
.../callback/UpdatedCallbackFacetFactoryTest.java | 53 ++++++++++
.../callback/UpdatingCallbackFacetFactoryTest.java | 53 ++++++++++
.../facets/param/name/ParameterNameFacetTest.java | 8 +-
48 files changed, 546 insertions(+), 1268 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacet.java
index d95cadb..9c4f0cd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacet.java
@@ -54,22 +54,6 @@ public interface ImperativeFacet extends Facet {
/**
* The {@link Method}s invoked by this {@link Facet}.
- *
- * <p>
- * In the vast majority of cases there is only a single {@link Method} (eg
- * wrapping a property's getter). However, some {@link Facet}s, such as
- * those for callbacks, could map to multiple {@link Method}s.
- * Implementations that will return multiple {@link Method}s should
- * implement the {@link ImperativeFacetMulti} sub-interface that provides
- * the ability to {@link ImperativeFacetMulti#addMethod(Method) add}
- * {@link Method}s as part of the interface API. For example:
- *
- * <pre>
- * if (someFacet instanceof ImperativeFacetMulti) {
- * ImperativeFacetMulti ifm = (ImperativeFacetMulti)someFacet;
- * ifm.addMethod(...);
- * }
- * </pre>
*/
public Can<Method> getMethods();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacetMulti.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacetMulti.java
deleted file mode 100644
index 4b77abd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ImperativeFacetMulti.java
+++ /dev/null
@@ -1,34 +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;
-
-import java.lang.reflect.Method;
-
-public interface ImperativeFacetMulti
-extends ImperativeFacet {
-
- /**
- * Associate an additional method, to be returned from
- * {@link ImperativeFacet#getMethods()}.
- *
- * @param method
- */
- public void addMethod(final Method method);
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacet.java
index cb48913..116fd16 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacet.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import org.apache.isis.applib.exceptions.unrecoverable.DomainModelException;
import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacetMulti;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
/**
@@ -29,7 +29,7 @@ import org.apache.isis.core.metamodel.spec.ManagedObject;
* (eg about to be persisted).
*/
public interface CallbackFacet
-extends Facet, ImperativeFacetMulti {
+extends ImperativeFacet {
public void invoke(ManagedObject object);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
index c3b0094..92cfb25 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetAbstract.java
@@ -20,12 +20,8 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
-import java.util.List;
import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.base._Lazy;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
@@ -33,6 +29,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.ManagedObjects;
+import lombok.Getter;
+
/**
* Adapter superclass for {@link Facet}s for {@link CallbackFacet}.
*/
@@ -40,11 +38,16 @@ public abstract class CallbackFacetAbstract
extends FacetAbstract
implements CallbackFacet {
- private final List<Method> methods = _Lists.newConcurrentList();
- private final _Lazy<Can<Method>> methodsUnmodifiable = _Lazy.threadSafe(()->Can.ofCollection(methods));
+ @Getter(onMethod_ = {@Override})
+ private final Can<Method> methods;
- protected CallbackFacetAbstract(final Class<? extends Facet> facetType, final FacetHolder holder) {
+ protected CallbackFacetAbstract(
+ final Class<? extends Facet> facetType,
+ final Can<Method> methods,
+ final FacetHolder holder) {
super(facetType, holder);
+ this.methods = methods
+ .map(method->_Reflect.lookupRegularMethodForSynthetic(method).orElse(null));
}
@Override
@@ -53,22 +56,6 @@ implements CallbackFacet {
}
@Override
- public final void addMethod(Method method) {
- if(methodsUnmodifiable.isMemoized()) {
- throw _Exceptions
- .illegalState("getMethods() was already called, can no longer add any method: %s", method);
- }
- _Reflect
- .lookupRegularMethodForSynthetic(method)
- .ifPresent(methods::add);
- }
-
- @Override
- public final Can<Method> getMethods() {
- return methodsUnmodifiable.get();
- }
-
- @Override
protected final String toStringValues() {
// free of side-effects, though might not reflect the final state if called too early
return "methods=" + methods;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetFactoryAbstract.java
similarity index 58%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetFactoryAbstract.java
index 822e2b2..ecfd421 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CallbackFacetFactoryAbstract.java
@@ -16,59 +16,55 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-import javax.inject.Inject;
+import java.util.function.BiFunction;
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.FacetUtil;
+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.NonNull;
import lombok.val;
-public class RemoveCallbackFacetFactory
+abstract class CallbackFacetFactoryAbstract
extends MethodPrefixBasedFacetFactoryAbstract {
- private static final String PREFIX = MethodLiteralConstants.REMOVING_PREFIX;
+ private final MethodLiteralConstants.CallbackMethod callbackMethodEnum;
+ private final BiFunction<Can<Method>, FacetHolder, CallbackFacet> callbackFacetConstructor;
+
+ protected CallbackFacetFactoryAbstract(
+ final @NonNull MetaModelContext mmc,
+ final @NonNull MethodLiteralConstants.CallbackMethod callbackMethodEnum,
+ final @NonNull BiFunction<Can<Method>, FacetHolder, CallbackFacet> callbackFacetConstructor) {
- @Inject
- public RemoveCallbackFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
+ super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, callbackMethodEnum.getMethodNames());
+ this.callbackMethodEnum = callbackMethodEnum;
+ this.callbackFacetConstructor = callbackFacetConstructor;
}
@Override
- public void process(final ProcessClassContext processClassContext) {
+ public final void process(final ProcessClassContext processClassContext) {
val cls = processClassContext.getCls();
val facetHolder = processClassContext.getFacetHolder();
- val facets = new ArrayList<Facet>();
- Method method = MethodFinderUtils
- .findMethod(
+ val callbackMethods = callbackMethodEnum
+ .getMethodNames()
+ .map(callbackMethodName->MethodFinderUtils.findMethod(
MethodFinderOptions
.livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, void.class,
- NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- val facet = facetHolder.getFacet(RemovingCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
+ cls, callbackMethodName, void.class, NO_ARG));
- FacetUtil.addFacets(facets);
+ if(callbackMethods.isNotEmpty()) {
+ callbackMethods.forEach(processClassContext::removeMethod);
+ addFacet(callbackFacetConstructor.apply(callbackMethods, facetHolder));
+ }
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java
index 1af564d..e563deb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements CreatedCallbackFacet {
return CreatedCallbackFacet.class;
}
- public CreatedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public CreatedCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
index e858d4a..169da78 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
@@ -16,46 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
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.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 CreatedCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String PREFIX = MethodLiteralConstants.CREATED_PREFIX;
+public class CreatedCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
@Inject
public CreatedCallbackFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
-
- val method = MethodFinderUtils
- .findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, void.class, NO_ARG);
-
- if (method != null) {
- addFacet(new CreatedCallbackFacetViaMethod(method, facetHolder));
- processClassContext.removeMethod(method);
- }
-
+ super(mmc, MethodLiteralConstants.CallbackMethod.CREATED, CreatedCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetViaMethod.java
index 8afdb0b..1d37ba5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetViaMethod.java
@@ -21,6 +21,7 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
@@ -28,9 +29,10 @@ public class CreatedCallbackFacetViaMethod
extends CreatedCallbackFacetAbstract
implements ImperativeFacet {
- public CreatedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public CreatedCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
deleted file mode 100644
index bc3268d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
+++ /dev/null
@@ -1,62 +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.object.callbacks;
-
-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.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 LoadCallbackFacetFactory
-extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String PREFIX = MethodLiteralConstants.LOADED_PREFIX;
-
- @Inject
- public LoadCallbackFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
-
- Method method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- addFacet(new LoadedCallbackFacetViaMethod(method, facetHolder));
- }
-
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
index cf59832..39f58ed 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements LoadedCallbackFacet {
return LoadedCallbackFacet.class;
}
- public LoadedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public LoadedCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetFactory.java
similarity index 68%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetFactory.java
index aff9755..a2825f2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetFactory.java
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
+import javax.inject.Inject;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
-public class PersistingCallbackFacetViaMethod
-extends PersistingCallbackFacetAbstract
-implements ImperativeFacet {
+public class LoadedCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public PersistingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ @Inject
+ public LoadedCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.LOADED, LoadedCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetViaMethod.java
index 2f8881a..8b1a228 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/LoadedCallbackFacetViaMethod.java
@@ -21,16 +21,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class LoadedCallbackFacetViaMethod
-extends LoadedCallbackFacetAbstract
-implements ImperativeFacet {
+extends LoadedCallbackFacetAbstract {
- public LoadedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public LoadedCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
deleted file mode 100644
index 475e489..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
+++ /dev/null
@@ -1,90 +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.object.callbacks;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-import javax.inject.Inject;
-
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-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 PersistCallbackFacetFactory
-extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final Can<String> PREFIXES = Can.ofCollection(_Lists.of(
- MethodLiteralConstants.PERSISTED_PREFIX,
- MethodLiteralConstants.PERSISTING_PREFIX));
-
- @Inject
- public PersistCallbackFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
- val facets = new ArrayList<Facet>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.PERSISTING_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- val facet = facetHolder.getFacet(PersistingCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.PERSISTED_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- val facet = facetHolder.getFacet(PersistedCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- FacetUtil.addFacets(facets);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
deleted file mode 100644
index 75f932c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
+++ /dev/null
@@ -1,90 +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.object.callbacks;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-import javax.inject.Inject;
-
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-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 PersistCallbackViaSaveMethodFacetFactory
-extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final Can<String> PREFIXES = Can.ofCollection(_Lists.of(
- MethodLiteralConstants.SAVED_PREFIX,
- MethodLiteralConstants.SAVING_PREFIX));
-
- @Inject
- public PersistCallbackViaSaveMethodFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
- val facets = new ArrayList<Facet>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.SAVING_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- val facet = facetHolder.getFacet(PersistingCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.SAVED_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- val facet = facetHolder.getFacet(PersistedCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- FacetUtil.addFacets(facets);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
index 9be7e7c..a39f758 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements PersistedCallbackFacet {
return PersistedCallbackFacet.class;
}
- public PersistedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public PersistedCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetFactory.java
similarity index 67%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetFactory.java
index 530c1ed..c5e8bae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetFactory.java
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
+import javax.inject.Inject;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
-public class PersistedCallbackFacetViaMethod
-extends PersistedCallbackFacetAbstract
-implements ImperativeFacet {
+public class PersistedCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ @Inject
+ public PersistedCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.PERSISTED, PersistedCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
index 530c1ed..b4c7d92 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
@@ -21,16 +21,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class PersistedCallbackFacetViaMethod
-extends PersistedCallbackFacetAbstract
-implements ImperativeFacet {
+extends PersistedCallbackFacetAbstract {
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public PersistedCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
index c061500..3648875 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements PersistingCallbackFacet {
return PersistingCallbackFacet.class;
}
- public PersistingCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public PersistingCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetFactory.java
similarity index 67%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetFactory.java
index 1af564d..f8139dc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/CreatedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetFactory.java
@@ -16,22 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import javax.inject.Inject;
-public abstract class CreatedCallbackFacetAbstract
-extends CallbackFacetAbstract
-implements CreatedCallbackFacet {
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
- private static final Class<? extends Facet> type() {
- return CreatedCallbackFacet.class;
- }
+public class PersistingCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public CreatedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ @Inject
+ public PersistingCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.PERSISTING, PersistingCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java
index aff9755..57c50dd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistingCallbackFacetViaMethod.java
@@ -21,16 +21,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class PersistingCallbackFacetViaMethod
-extends PersistingCallbackFacetAbstract
-implements ImperativeFacet {
+extends PersistingCallbackFacetAbstract {
- public PersistingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public PersistingCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
deleted file mode 100644
index 0307344..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
+++ /dev/null
@@ -1,73 +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.object.callbacks;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-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.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-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 RemoveCallbackViaDeleteMethodFacetFactory
-extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String PREFIX = MethodLiteralConstants.DELETING_PREFIX;
-
- @Inject
- public RemoveCallbackViaDeleteMethodFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, Can.ofSingleton(PREFIX));
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
- val facets = new ArrayList<Facet>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- final RemovingCallbackFacet facet = facetHolder.getFacet(RemovingCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- FacetUtil.addFacets(facets);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
index 3552df4..ca206d3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements RemovingCallbackFacet {
return RemovingCallbackFacet.class;
}
- public RemovingCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public RemovingCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetFactory.java
similarity index 67%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetFactory.java
index 530c1ed..e2afd0a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetFactory.java
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
+import javax.inject.Inject;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
-public class PersistedCallbackFacetViaMethod
-extends PersistedCallbackFacetAbstract
-implements ImperativeFacet {
+public class RemovingCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ @Inject
+ public RemovingCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.REMOVING, RemovingCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
index 667ec33..54841ce 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
@@ -21,16 +21,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class RemovingCallbackFacetViaMethod
-extends RemovingCallbackFacetAbstract
-implements ImperativeFacet {
+extends RemovingCallbackFacetAbstract {
- public RemovingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public RemovingCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
deleted file mode 100644
index 0a3ba51..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
+++ /dev/null
@@ -1,80 +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.object.callbacks;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-
-import javax.inject.Inject;
-
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.commons.internal.collections._Lists;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-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 UpdateCallbackFacetFactory
-extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final Can<String> PREFIXES = Can.ofCollection(_Lists.of(
- MethodLiteralConstants.UPDATED_PREFIX,
- MethodLiteralConstants.UPDATING_PREFIX));
-
- @Inject
- public UpdateCallbackFacetFactory(final MetaModelContext mmc) {
- super(mmc, FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- val cls = processClassContext.getCls();
- val facetHolder = processClassContext.getFacetHolder();
- val facets = new ArrayList<Facet>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.UPDATING_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- facets.add(new UpdatingCallbackFacetViaMethod(method, facetHolder));
- }
-
- method = MethodFinderUtils.findMethod(
- MethodFinderOptions
- .livecycleCallback(processClassContext.getIntrospectionPolicy()),
- cls, MethodLiteralConstants.UPDATED_PREFIX, void.class, NO_ARG);
- if (method != null) {
- processClassContext.removeMethod(method);
- facets.add(new UpdatedCallbackFacetViaMethod(method, facetHolder));
- }
-
- FacetUtil.addFacets(facets);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
index 25b2310..e9d5345 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements UpdatedCallbackFacet {
return UpdatedCallbackFacet.class;
}
- public UpdatedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public UpdatedCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetFactory.java
similarity index 67%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetFactory.java
index 530c1ed..cb4bdc9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetFactory.java
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
+import javax.inject.Inject;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
-public class PersistedCallbackFacetViaMethod
-extends PersistedCallbackFacetAbstract
-implements ImperativeFacet {
+public class UpdatedCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ @Inject
+ public UpdatedCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.UPDATED, UpdatedCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
index f65bd9e..33083f5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
@@ -21,16 +21,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class UpdatedCallbackFacetViaMethod
-extends UpdatedCallbackFacetAbstract
-implements ImperativeFacet {
+extends UpdatedCallbackFacetAbstract {
- public UpdatedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public UpdatedCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
index cde6e72..cfce223 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
@@ -19,6 +19,9 @@
package org.apache.isis.core.metamodel.facets.object.callbacks;
+import java.lang.reflect.Method;
+
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -30,8 +33,10 @@ implements UpdatingCallbackFacet {
return UpdatingCallbackFacet.class;
}
- public UpdatingCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
+ public UpdatingCallbackFacetAbstract(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(type(), methods, holder);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetFactory.java
similarity index 67%
copy from core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
copy to core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetFactory.java
index 530c1ed..c809a72 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/PersistedCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetFactory.java
@@ -16,21 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.isis.core.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
+import javax.inject.Inject;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
-public class PersistedCallbackFacetViaMethod
-extends PersistedCallbackFacetAbstract
-implements ImperativeFacet {
+public class UpdatingCallbackFacetFactory
+extends CallbackFacetFactoryAbstract {
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ @Inject
+ public UpdatingCallbackFacetFactory(final MetaModelContext mmc) {
+ super(mmc, MethodLiteralConstants.CallbackMethod.UPDATING, UpdatingCallbackFacetViaMethod::new);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
index 5f6b823..042ee9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
@@ -20,16 +20,16 @@ package org.apache.isis.core.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
+import org.apache.isis.commons.collections.Can;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
public class UpdatingCallbackFacetViaMethod
-extends UpdatingCallbackFacetAbstract
-implements ImperativeFacet {
+extends UpdatingCallbackFacetAbstract {
- public UpdatingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
+ public UpdatingCallbackFacetViaMethod(
+ final Can<Method> methods,
+ final FacetHolder holder) {
+ super(methods, holder);
}
}
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 630c7cf..f167259 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
@@ -44,16 +44,20 @@ public final class MethodLiteralConstants {
// -- LIFECYCLE CALLBACKS
- public static final String CREATED_PREFIX = "created";
- public static final String LOADED_PREFIX = "loaded";
- public static final String SAVED_PREFIX = "saved";
- public static final String SAVING_PREFIX = "saving";
- public static final String PERSISTED_PREFIX = "persisted";
- public static final String PERSISTING_PREFIX = "persisting";
- public static final String DELETING_PREFIX = "deleting";
- public static final String REMOVING_PREFIX = "removing";
- public static final String UPDATED_PREFIX = "updated";
- public static final String UPDATING_PREFIX = "updating";
+ @Getter
+ public enum CallbackMethod {
+ CREATED("created"),
+ LOADED("loaded"),
+ PERSISTED("persisted", "saved"),
+ PERSISTING("persisting", "saving"),
+ REMOVING("removing", "deleting"),
+ UPDATED("updated"),
+ UPDATING("updating");
+ CallbackMethod(final String ...methodNames) {
+ this.methodNames = Can.of(methodNames);
+ }
+ private final Can<String> methodNames;
+ }
// -- OBJECT SUPPORT
@@ -78,7 +82,6 @@ public final class MethodLiteralConstants {
public static final String NAMED_PREFIX = "named"; // dynamic naming
public static final String DESCRIBED_PREFIX = "described"; // dynamic description
-
// -- OTHER LITERALS
public static final String TO_STRING = "toString";
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava8.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava8.java
index 854c3d1..91cf97d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava8.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodels/dflt/ProgrammingModelFacetsJava8.java
@@ -45,11 +45,12 @@ import org.apache.isis.core.metamodel.facets.members.named.method.NamedFacetForM
import org.apache.isis.core.metamodel.facets.object.ViewModelSemanticCheckingFacetFactory;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable.BookmarkPolicyFacetFallbackFactory;
import org.apache.isis.core.metamodel.facets.object.callbacks.CreatedCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistCallbackViaSaveMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemoveCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdateCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacetFactory;
import org.apache.isis.core.metamodel.facets.object.choices.enums.EnumFacetUsingValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethodFactory;
import org.apache.isis.core.metamodel.facets.object.defaults.annotcfg.DefaultedFacetAnnotationElseConfigurationFactory;
@@ -236,11 +237,12 @@ extends ProgrammingModelAbstract {
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new HideForContextFacetViaMethodFactory(mmc));
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new CreatedCallbackFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new LoadCallbackFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new PersistCallbackViaSaveMethodFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new PersistCallbackFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new UpdateCallbackFacetFactory(mmc));
- addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new RemoveCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new LoadedCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new PersistedCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new PersistingCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new UpdatingCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new UpdatedCallbackFacetFactory(mmc));
+ addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new RemovingCallbackFacetFactory(mmc));
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new ValidateObjectFacetMethodFactory(mmc));
addFactory(FacetProcessingOrder.E1_MEMBER_MODELLING, new ObjectValidPropertiesFacetImplFactory(mmc));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CallbackFacetFactoryTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CallbackFacetFactoryTestAbstract.java
new file mode 100644
index 0000000..d9c3e38
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CallbackFacetFactoryTestAbstract.java
@@ -0,0 +1,44 @@
+package org.apache.isis.core.metamodel.facets.object.callback;
+
+import org.junit.jupiter.api.Assertions;
+
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
+import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants;
+
+import lombok.val;
+
+abstract class CallbackFacetFactoryTestAbstract
+extends AbstractFacetFactoryTest {
+
+ protected void assertPicksUp(
+ final int expectedCallbackCount,
+ final FacetFactory facetFactory,
+ final Class<?> type,
+ final MethodLiteralConstants.CallbackMethod callbackMethod,
+ final Class<? extends ImperativeFacet> facetType) {
+
+ // when
+ facetFactory.process(ProcessClassContext
+ .forTesting(type, methodRemover, facetedMethod));
+
+ val callbackMethods = callbackMethod.getMethodNames()
+ .map(methodName->findMethod(type, methodName));
+
+ Assertions.assertEquals(expectedCallbackCount, callbackMethods.size());
+
+ val facet = facetedMethod.getFacet(facetType);
+ assertNotNull(facet);
+ assertTrue(facet instanceof ImperativeFacet);
+ val imperativeFacet = facet;
+
+ callbackMethods.forEach(method->{
+ assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
+ assertTrue(imperativeFacet.getMethods().contains(method));
+ });
+
+ }
+
+}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
index f24b405..f3d7ee8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/CreatedCallbackFacetFactoryTest.java
@@ -19,17 +19,12 @@
package org.apache.isis.core.metamodel.facets.object.callback;
-import java.lang.reflect.Method;
-
-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.object.callbacks.CreatedCallbackFacet;
import org.apache.isis.core.metamodel.facets.object.callbacks.CreatedCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CreatedCallbackFacetViaMethod;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
public class CreatedCallbackFacetFactoryTest
-extends AbstractFacetFactoryTest {
+extends CallbackFacetFactoryTestAbstract {
private CreatedCallbackFacetFactory facetFactory;
@@ -52,18 +47,7 @@ extends AbstractFacetFactoryTest {
public void created() {
};
}
- final Method method = findMethod(Customer.class, "created");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(CreatedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof CreatedCallbackFacetViaMethod);
- final CreatedCallbackFacetViaMethod createdCallbackFacetViaMethod = (CreatedCallbackFacetViaMethod) facet;
- assertEquals(method, createdCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.CREATED, CreatedCallbackFacet.class);
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
deleted file mode 100644
index 5c0eaa4..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/DeleteCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,69 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.RemoveCallbackViaDeleteMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacetViaMethod;
-
-public class DeleteCallbackFacetFactoryTest
-extends AbstractFacetFactoryTest {
-
- private RemoveCallbackViaDeleteMethodFacetFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new RemoveCallbackViaDeleteMethodFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testDeletingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void deleting() {
- };
- }
- final Method method = findMethod(Customer.class, "deleting");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(RemovingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof RemovingCallbackFacetViaMethod);
- final RemovingCallbackFacetViaMethod deletingCallbackFacetViaMethod = (RemovingCallbackFacetViaMethod) facet;
- assertEquals(method, deletingCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadedCallbackFacetFactoryTest.java
similarity index 53%
rename from core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadCallbackFacetFactoryTest.java
rename to core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadedCallbackFacetFactoryTest.java
index bb1c33a..7971d4d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/LoadedCallbackFacetFactoryTest.java
@@ -19,24 +19,20 @@
package org.apache.isis.core.metamodel.facets.object.callback;
-import java.lang.reflect.Method;
-
-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.object.callbacks.LoadCallbackFacetFactory;
import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacetViaMethod;
+import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
-public class LoadCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
+public class LoadedCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
- private LoadCallbackFacetFactory facetFactory;
+ private LoadedCallbackFacetFactory facetFactory;
@Override
protected void setUp() throws Exception {
super.setUp();
- facetFactory = new LoadCallbackFacetFactory(metaModelContext);
+ facetFactory = new LoadedCallbackFacetFactory(metaModelContext);
}
@Override
@@ -49,20 +45,9 @@ public class LoadCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
class Customer {
@SuppressWarnings("unused")
public void loaded() {
- };
+ }
}
- final Method method = findMethod(Customer.class, "loaded");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(LoadedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof LoadedCallbackFacetViaMethod);
- final LoadedCallbackFacetViaMethod loadedCallbackFacetViaMethod = (LoadedCallbackFacetViaMethod) facet;
- assertEquals(method, loadedCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.LOADED, LoadedCallbackFacet.class);
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistAndSaveCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistAndSaveCallbackFacetFactoryTest.java
deleted file mode 100644
index b678882..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistAndSaveCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,114 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.PersistCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistCallbackViaSaveMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacetViaMethod;
-
-import lombok.val;
-
-public class PersistAndSaveCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
-
- private PersistCallbackViaSaveMethodFacetFactory saveFacetFactory;
- private PersistCallbackFacetFactory persistFacetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- saveFacetFactory = new PersistCallbackViaSaveMethodFacetFactory(metaModelContext);
- persistFacetFactory = new PersistCallbackFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- saveFacetFactory = null;
- persistFacetFactory = null;
- super.tearDown();
- }
-
- public void testSavingAndPersistingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void saving() {
- };
-
- @SuppressWarnings("unused")
- public void persisting() {
- };
- }
- final Method saveMethod = findMethod(Customer.class, "saving");
- final Method persistMethod = findMethod(Customer.class, "persisting");
-
- saveFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
- persistFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistingCallbackFacetViaMethod);
- final PersistingCallbackFacetViaMethod persistingCallbackFacetViaMethod = (PersistingCallbackFacetViaMethod) facet;
- val methods = persistingCallbackFacetViaMethod.getMethods();
- assertTrue(methods.contains(saveMethod));
- assertTrue(methods.contains(persistMethod));
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(saveMethod));
- }
-
- public void testSavedAndPersistedLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void saved() {
- };
-
- @SuppressWarnings("unused")
- public void persisted() {
- };
- }
- final Method saveMethod = findMethod(Customer.class, "saved");
- final Method persistMethod = findMethod(Customer.class, "persisted");
-
- saveFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
- persistFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistedCallbackFacetViaMethod);
- final PersistedCallbackFacetViaMethod persistedCallbackFacetViaMethod = (PersistedCallbackFacetViaMethod) facet;
- val methods = persistedCallbackFacetViaMethod.getMethods();
- assertTrue(methods.contains(saveMethod));
- assertTrue(methods.contains(persistMethod));
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(saveMethod));
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistCallbackFacetFactoryTest.java
deleted file mode 100644
index 570a486..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,90 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.PersistCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacetViaMethod;
-
-public class PersistCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
-
- private PersistCallbackFacetFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new PersistCallbackFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testPersistingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void persisting() {
- };
- }
- final Method method = findMethod(Customer.class, "persisting");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistingCallbackFacetViaMethod);
- final PersistingCallbackFacetViaMethod persistingCallbackFacetViaMethod = (PersistingCallbackFacetViaMethod) facet;
- assertEquals(method, persistingCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
- public void testPersistedLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void persisted() {
- };
- }
- final Method method = findMethod(Customer.class, "persisted");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistedCallbackFacetViaMethod);
- final PersistedCallbackFacetViaMethod persistedCallbackFacetViaMethod = (PersistedCallbackFacetViaMethod) facet;
- assertEquals(method, persistedCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistedCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistedCallbackFacetFactoryTest.java
new file mode 100644
index 0000000..9a14625
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistedCallbackFacetFactoryTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.callback;
+
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
+
+public class PersistedCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
+
+ private PersistedCallbackFacetFactory facetFactory;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ facetFactory = new PersistedCallbackFacetFactory(metaModelContext);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ facetFactory = null;
+ super.tearDown();
+ }
+
+ public void testPersistedLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void persisted() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.PERSISTED, PersistedCallbackFacet.class);
+ }
+
+ public void testSavedLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void saved() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.PERSISTED, PersistedCallbackFacet.class);
+ }
+
+ public void testSavedAndPersistedLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void saved() {
+ }
+
+ @SuppressWarnings("unused")
+ public void persisted() {
+ }
+ }
+ assertPicksUp(2, facetFactory, Customer.class, CallbackMethod.PERSISTED, PersistedCallbackFacet.class);
+ }
+
+
+}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistingCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistingCallbackFacetFactoryTest.java
new file mode 100644
index 0000000..2f8863e
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/PersistingCallbackFacetFactoryTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.callback;
+
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
+
+public class PersistingCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
+
+ private PersistingCallbackFacetFactory facetFactory;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ facetFactory = new PersistingCallbackFacetFactory(metaModelContext);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ facetFactory = null;
+ super.tearDown();
+ }
+
+ public void testPersistingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void persisting() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.PERSISTING, PersistingCallbackFacet.class);
+ }
+
+ public void testSavingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void saving() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.PERSISTING, PersistingCallbackFacet.class);
+ }
+
+ public void testSavingAndPersistingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void saving() {
+ }
+
+ @SuppressWarnings("unused")
+ public void persisting() {
+ }
+ }
+
+ assertPicksUp(2, facetFactory, Customer.class, CallbackMethod.PERSISTING, PersistingCallbackFacet.class);
+ }
+
+}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveAndDeleteCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveAndDeleteCallbackFacetFactoryTest.java
deleted file mode 100644
index 239fd66..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveAndDeleteCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,85 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.RemoveCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemoveCallbackViaDeleteMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacetViaMethod;
-
-import lombok.val;
-
-public class RemoveAndDeleteCallbackFacetFactoryTest
-extends AbstractFacetFactoryTest {
-
- private RemoveCallbackFacetFactory removeFacetFactory;
- private RemoveCallbackViaDeleteMethodFacetFactory deleteFacetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- removeFacetFactory = new RemoveCallbackFacetFactory(metaModelContext);
- deleteFacetFactory = new RemoveCallbackViaDeleteMethodFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- removeFacetFactory = null;
- deleteFacetFactory = null;
- super.tearDown();
- }
-
- public void testSavingAndPersistingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void deleting() {
- };
-
- @SuppressWarnings("unused")
- public void removing() {
- };
- }
- final Method deleteMethod = findMethod(Customer.class, "deleting");
- final Method removeMethod = findMethod(Customer.class, "removing");
-
- removeFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
- deleteFacetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(RemovingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof RemovingCallbackFacetViaMethod);
- final RemovingCallbackFacetViaMethod removingCallbackFacetViaMethod = (RemovingCallbackFacetViaMethod) facet;
- val methods = removingCallbackFacetViaMethod.getMethods();
- assertTrue(methods.contains(deleteMethod));
- assertTrue(methods.contains(removeMethod));
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(deleteMethod));
- }
-
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemovingCallbackFacetFactoryTest.java
similarity index 53%
rename from core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveCallbackFacetFactoryTest.java
rename to core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemovingCallbackFacetFactoryTest.java
index 9b17dc5..00bd164 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemoveCallbackFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/RemovingCallbackFacetFactoryTest.java
@@ -19,25 +19,20 @@
package org.apache.isis.core.metamodel.facets.object.callback;
-import java.lang.reflect.Method;
-
-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.object.callbacks.RemoveCallbackFacetFactory;
import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacetViaMethod;
+import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
-public class RemoveCallbackFacetFactoryTest
-extends AbstractFacetFactoryTest {
+public class RemovingCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
- private RemoveCallbackFacetFactory facetFactory;
+ private RemovingCallbackFacetFactory facetFactory;
@Override
protected void setUp() throws Exception {
super.setUp();
- facetFactory = new RemoveCallbackFacetFactory(metaModelContext);
+ facetFactory = new RemovingCallbackFacetFactory(metaModelContext);
}
@Override
@@ -50,20 +45,30 @@ extends AbstractFacetFactoryTest {
class Customer {
@SuppressWarnings("unused")
public void removing() {
- };
+ }
}
- final Method method = findMethod(Customer.class, "removing");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.REMOVING, RemovingCallbackFacet.class);
+ }
- final Facet facet = facetedMethod.getFacet(RemovingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof RemovingCallbackFacetViaMethod);
- final RemovingCallbackFacetViaMethod removingCallbackFacetViaMethod = (RemovingCallbackFacetViaMethod) facet;
- assertEquals(method, removingCallbackFacetViaMethod.getMethods().getFirstOrFail());
+ public void testDeletingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void deleting() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.REMOVING, RemovingCallbackFacet.class);
+ }
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
+ public void testRemovingAndDeletingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void removing() {
+ }
+ @SuppressWarnings("unused")
+ public void deleting() {
+ }
+ }
+ assertPicksUp(2, facetFactory, Customer.class, CallbackMethod.REMOVING, RemovingCallbackFacet.class);
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/SaveCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/SaveCallbackFacetFactoryTest.java
deleted file mode 100644
index 571cbb7..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/SaveCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,90 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.PersistCallbackViaSaveMethodFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacetViaMethod;
-
-public class SaveCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
-
- private PersistCallbackViaSaveMethodFacetFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new PersistCallbackViaSaveMethodFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testSavingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void saving() {
- };
- }
- final Method method = findMethod(Customer.class, "saving");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistingCallbackFacetViaMethod);
- final PersistingCallbackFacetViaMethod savingCallbackFacetViaMethod = (PersistingCallbackFacetViaMethod) facet;
- assertEquals(method, savingCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
- public void testSavedLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void saved() {
- };
- }
- final Method method = findMethod(Customer.class, "saved");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(PersistedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof PersistedCallbackFacetViaMethod);
- final PersistedCallbackFacetViaMethod savedCallbackFacetViaMethod = (PersistedCallbackFacetViaMethod) facet;
- assertEquals(method, savedCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdateCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdateCallbackFacetFactoryTest.java
deleted file mode 100644
index fda8de7..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdateCallbackFacetFactoryTest.java
+++ /dev/null
@@ -1,90 +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.object.callback;
-
-import java.lang.reflect.Method;
-
-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.object.callbacks.UpdateCallbackFacetFactory;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacetViaMethod;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacetViaMethod;
-
-public class UpdateCallbackFacetFactoryTest extends AbstractFacetFactoryTest {
-
- private UpdateCallbackFacetFactory facetFactory;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- facetFactory = new UpdateCallbackFacetFactory(metaModelContext);
- }
-
- @Override
- protected void tearDown() throws Exception {
- facetFactory = null;
- super.tearDown();
- }
-
- public void testUpdatingLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void updating() {
- };
- }
- final Method method = findMethod(Customer.class, "updating");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(UpdatingCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof UpdatingCallbackFacetViaMethod);
- final UpdatingCallbackFacetViaMethod updatingCallbackFacetViaMethod = (UpdatingCallbackFacetViaMethod) facet;
- assertEquals(method, updatingCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
- public void testUpdatedLifecycleMethodPickedUpOn() {
- class Customer {
- @SuppressWarnings("unused")
- public void updated() {
- };
- }
- final Method method = findMethod(Customer.class, "updated");
-
- facetFactory.process(ProcessClassContext
- .forTesting(Customer.class, methodRemover, facetedMethod));
-
- final Facet facet = facetedMethod.getFacet(UpdatedCallbackFacet.class);
- assertNotNull(facet);
- assertTrue(facet instanceof UpdatedCallbackFacetViaMethod);
- final UpdatedCallbackFacetViaMethod updatedCallbackFacetViaMethod = (UpdatedCallbackFacetViaMethod) facet;
- assertEquals(method, updatedCallbackFacetViaMethod.getMethods().getFirstOrFail());
-
- assertTrue(methodRemover.getRemovedMethodMethodCalls().contains(method));
- }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatedCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatedCallbackFacetFactoryTest.java
new file mode 100644
index 0000000..dfdc2d6
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatedCallbackFacetFactoryTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.callback;
+
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
+
+public class UpdatedCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
+
+ private UpdatedCallbackFacetFactory facetFactory;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ facetFactory = new UpdatedCallbackFacetFactory(metaModelContext);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ facetFactory = null;
+ super.tearDown();
+ }
+
+ public void testUpdatedLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void updated() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.UPDATED, UpdatedCallbackFacet.class);
+ }
+
+}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatingCallbackFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatingCallbackFacetFactoryTest.java
new file mode 100644
index 0000000..4660849
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/callback/UpdatingCallbackFacetFactoryTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.callback;
+
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacetFactory;
+import org.apache.isis.core.metamodel.methods.MethodLiteralConstants.CallbackMethod;
+
+public class UpdatingCallbackFacetFactoryTest
+extends CallbackFacetFactoryTestAbstract {
+
+ private UpdatingCallbackFacetFactory facetFactory;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ facetFactory = new UpdatingCallbackFacetFactory(metaModelContext);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ facetFactory = null;
+ super.tearDown();
+ }
+
+ public void testUpdatingLifecycleMethodPickedUpOn() {
+ class Customer {
+ @SuppressWarnings("unused")
+ public void updating() {
+ }
+ }
+ assertPicksUp(1, facetFactory, Customer.class, CallbackMethod.UPDATING, UpdatingCallbackFacet.class);
+ }
+
+}
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 7cedd3a..4273a92 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
@@ -24,9 +24,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.commons.internal.reflection._Reflect;
@@ -36,6 +33,9 @@ import org.apache.isis.core.metamodel.facets.FacetFactory;
import org.apache.isis.core.metamodel.facets.all.named.ParamNamedFacet;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
import lombok.val;
/**
@@ -58,7 +58,7 @@ extends AbstractFacetFactoryJUnit4TestCase {
programmingModel = metaModelContext.getProgrammingModel();
// verify that
- assertEquals(118, programmingModel.streamFactories().count());
+ assertEquals(119, programmingModel.streamFactories().count());
}
@Override