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 2019/10/01 19:27:47 UTC
[isis] 01/02: ISIS-2158: performance regression?
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 9640770ae8195d39b5b598eda7048d23aff0696e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Oct 1 19:52:34 2019 +0200
ISIS-2158: performance regression?
---
.../isis/metamodel/facetapi/MethodRemover.java | 2 --
.../apache/isis/metamodel/facets/FacetFactory.java | 10 --------
.../metamodel/facets/MethodRemoverConstants.java | 3 ---
.../callbacks/CreatedCallbackFacetFactory.java | 25 ++++++++-----------
.../object/callbacks/LoadCallbackFacetFactory.java | 17 ++++++-------
.../callbacks/PersistCallbackFacetFactory.java | 23 ++++++++----------
.../PersistCallbackViaSaveMethodFacetFactory.java | 25 +++++++++----------
.../callbacks/RemoveCallbackFacetFactory.java | 21 +++++++---------
.../RemoveCallbackViaDeleteMethodFacetFactory.java | 28 ++++++++++------------
.../callbacks/UpdateCallbackFacetFactory.java | 19 +++++++--------
.../specloader/specimpl/FacetedMethodsBuilder.java | 14 -----------
.../metamodel/facets/MethodRemoverForTesting.java | 10 --------
.../domainmodel/SpecloaderPerformanceTest.java | 2 +-
13 files changed, 68 insertions(+), 131 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/MethodRemover.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/MethodRemover.java
index 72da31b..25e224f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/MethodRemover.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/MethodRemover.java
@@ -54,6 +54,4 @@ public interface MethodRemover {
void removeMethod(Method method);
- void removeMethods(List<Method> methods);
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactory.java
index e8ea7a3..7df5cd3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/FacetFactory.java
@@ -102,11 +102,6 @@ public interface FacetFactory {
methodRemover.removeMethod(method);
}
- @Override
- public void removeMethods(final List<Method> methods) {
- methodRemover.removeMethods(methods);
- }
-
}
public interface ProcessContextWithMetadataProperties<T extends FacetHolder> {
@@ -156,11 +151,6 @@ public interface FacetFactory {
methodRemover.removeMethod(methodScope, methodName, returnType, parameterTypes);
}
- @Override
- public void removeMethods(final List<Method> methods) {
- methodRemover.removeMethods(methods);
- }
-
}
/**
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/MethodRemoverConstants.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/MethodRemoverConstants.java
index e0d13bf..918c6c4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/MethodRemoverConstants.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/MethodRemoverConstants.java
@@ -42,8 +42,5 @@ public class MethodRemoverConstants {
public void removeMethod(final Method method) {
}
- @Override
- public void removeMethods(final List<Method> methods) {
- }
};
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
index 66cc6ff..4906041 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/CreatedCallbackFacetFactory.java
@@ -19,19 +19,18 @@
package org.apache.isis.metamodel.facets.object.callbacks;
-import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.facets.MethodLiteralConstants;
+import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.methodutils.MethodScope;
+import lombok.val;
+
public class CreatedCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { MethodLiteralConstants.CREATED_PREFIX, };
@@ -42,20 +41,16 @@ public class CreatedCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAb
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.CREATED_PREFIX, void.class, NO_PARAMETERS_TYPES);
+ val method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.CREATED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- facets.add(new CreatedCallbackFacetViaMethod(method, holder));
+ facets.add(new CreatedCallbackFacetViaMethod(method, facetHolder));
+ processClassContext.removeMethod(method);
}
-
- processClassContext.removeMethods(methods);
+
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
index d5f503f..16c317a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/LoadCallbackFacetFactory.java
@@ -21,10 +21,8 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
@@ -34,6 +32,8 @@ import org.apache.isis.metamodel.methodutils.MethodScope;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.LOADED_PREFIX;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.LOADING_PREFIX;
+import lombok.val;
+
public class LoadCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { LOADED_PREFIX, LOADING_PREFIX, };
@@ -44,26 +44,23 @@ public class LoadCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstr
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = null;
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, LOADING_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
+ processClassContext.removeMethod(method);
facets.add(new LoadingCallbackFacetViaMethod(method, facetHolder));
}
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, LOADED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
+ processClassContext.removeMethod(method);
facets.add(new LoadedCallbackFacetViaMethod(method, facetHolder));
}
- processClassContext.removeMethods(methods);
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
index 93bc192..7bac20c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackFacetFactory.java
@@ -21,17 +21,17 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.facets.MethodLiteralConstants;
+import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.methodutils.MethodScope;
+import lombok.val;
+
public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { MethodLiteralConstants.PERSISTED_PREFIX, MethodLiteralConstants.PERSISTING_PREFIX, };
@@ -42,17 +42,15 @@ public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAb
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = null;
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.PERSISTING_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final PersistingCallbackFacet facet = facetHolder.getFacet(PersistingCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(PersistingCallbackFacet.class);
if (facet == null) {
facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
} else {
@@ -62,8 +60,8 @@ public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAb
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.PERSISTED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final PersistedCallbackFacet facet = facetHolder.getFacet(PersistedCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(PersistedCallbackFacet.class);
if (facet == null) {
facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
} else {
@@ -71,7 +69,6 @@ public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAb
}
}
- processClassContext.removeMethods(methods);
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
index 8acda42..60a15a0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/PersistCallbackViaSaveMethodFacetFactory.java
@@ -21,17 +21,17 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.facets.MethodLiteralConstants;
+import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.methodutils.MethodScope;
+import lombok.val;
+
public class PersistCallbackViaSaveMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { MethodLiteralConstants.SAVED_PREFIX, MethodLiteralConstants.SAVING_PREFIX, };
@@ -42,17 +42,15 @@ public class PersistCallbackViaSaveMethodFacetFactory extends MethodPrefixBasedF
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = null;
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.SAVING_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final PersistingCallbackFacet facet = facetHolder.getFacet(PersistingCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(PersistingCallbackFacet.class);
if (facet == null) {
facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
} else {
@@ -62,16 +60,15 @@ public class PersistCallbackViaSaveMethodFacetFactory extends MethodPrefixBasedF
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.SAVED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final PersistedCallbackFacet facet = facetHolder.getFacet(PersistedCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(PersistedCallbackFacet.class);
if (facet == null) {
facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
} else {
facet.addMethod(method);
}
}
-
- processClassContext.removeMethods(methods);
+
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
index 5a1a52f..96ccaa1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackFacetFactory.java
@@ -21,10 +21,8 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
@@ -34,6 +32,8 @@ import org.apache.isis.metamodel.methodutils.MethodScope;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.REMOVED_PREFIX;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.REMOVING_PREFIX;
+import lombok.val;
+
public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { REMOVED_PREFIX, REMOVING_PREFIX, };
@@ -44,18 +44,16 @@ public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbs
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = MethodFinderUtils
.findMethod(cls, MethodScope.OBJECT, REMOVING_PREFIX, void.class,
NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final RemovingCallbackFacet facet = facetHolder.getFacet(RemovingCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(RemovingCallbackFacet.class);
if (facet == null) {
facets.add(new RemovingCallbackFacetViaMethod(method, facetHolder));
} else {
@@ -65,8 +63,8 @@ public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbs
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, REMOVED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final RemovedCallbackFacet facet = facetHolder.getFacet(RemovedCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(RemovedCallbackFacet.class);
if (facet == null) {
facets.add(new RemovedCallbackFacetViaMethod(method, facetHolder));
} else {
@@ -74,7 +72,6 @@ public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbs
}
}
- processClassContext.removeMethods(methods);
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
index b1a8dcf..52482be 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/RemoveCallbackViaDeleteMethodFacetFactory.java
@@ -21,20 +21,19 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.metamodel.facets.MethodLiteralConstants;
import org.apache.isis.metamodel.methodutils.MethodScope;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.DELETED_PREFIX;
import static org.apache.isis.metamodel.facets.MethodLiteralConstants.DELETING_PREFIX;
+import lombok.val;
+
public class RemoveCallbackViaDeleteMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { DELETED_PREFIX, DELETING_PREFIX, };
@@ -45,19 +44,17 @@ public class RemoveCallbackViaDeleteMethodFacetFactory extends MethodPrefixBased
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = null;
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, DELETING_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final RemovingCallbackFacet facet = holder.getFacet(RemovingCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ final RemovingCallbackFacet facet = facetHolder.getFacet(RemovingCallbackFacet.class);
if (facet == null) {
- facets.add(new RemovingCallbackFacetViaMethod(method, holder));
+ facets.add(new RemovingCallbackFacetViaMethod(method, facetHolder));
} else {
facet.addMethod(method);
}
@@ -65,16 +62,15 @@ public class RemoveCallbackViaDeleteMethodFacetFactory extends MethodPrefixBased
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, DELETED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
- final RemovedCallbackFacet facet = holder.getFacet(RemovedCallbackFacet.class);
+ processClassContext.removeMethod(method);
+ val facet = facetHolder.getFacet(RemovedCallbackFacet.class);
if (facet == null) {
- facets.add(new RemovedCallbackFacetViaMethod(method, holder));
+ facets.add(new RemovedCallbackFacetViaMethod(method, facetHolder));
} else {
facet.addMethod(method);
}
}
-
- processClassContext.removeMethods(methods);
+
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
index 4222fc3..eef6c3d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
@@ -21,17 +21,17 @@ package org.apache.isis.metamodel.facets.object.callbacks;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.List;
import org.apache.isis.metamodel.facetapi.Facet;
-import org.apache.isis.metamodel.facetapi.FacetHolder;
import org.apache.isis.metamodel.facetapi.FacetUtil;
import org.apache.isis.metamodel.facetapi.FeatureType;
import org.apache.isis.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.facets.MethodLiteralConstants;
+import org.apache.isis.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
import org.apache.isis.metamodel.methodutils.MethodScope;
+import lombok.val;
+
public class UpdateCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
private static final String[] PREFIXES = { MethodLiteralConstants.UPDATED_PREFIX, MethodLiteralConstants.UPDATING_PREFIX, };
@@ -42,26 +42,23 @@ public class UpdateCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbs
@Override
public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
+ val cls = processClassContext.getCls();
+ val facetHolder = processClassContext.getFacetHolder();
+ val facets = new ArrayList<Facet>();
Method method = null;
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.UPDATING_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
+ processClassContext.removeMethod(method);
facets.add(new UpdatingCallbackFacetViaMethod(method, facetHolder));
}
method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodLiteralConstants.UPDATED_PREFIX, void.class, NO_PARAMETERS_TYPES);
if (method != null) {
- methods.add(method);
+ processClassContext.removeMethod(method);
facets.add(new UpdatedCallbackFacetViaMethod(method, facetHolder));
}
- processClassContext.removeMethods(methods);
FacetUtil.addFacets(facets);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/FacetedMethodsBuilder.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
index 1f493cc..0164bea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
@@ -101,20 +101,6 @@ public class FacetedMethodsBuilder {
}
}
- @Override
- public void removeMethods(final List<Method> methodsToRemove) {
- for (int i = 0; i < methods.size(); i++) {
- if (methods.get(i) == null) {
- continue;
- }
- for (final Method method : methodsToRemove) {
- if (methods.get(i).equals(method)) {
- methods.set(i, null);
- break;
- }
- }
- }
- }
}
private final ObjectSpecificationAbstract spec;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/MethodRemoverForTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/MethodRemoverForTesting.java
index 2e2edc1..3eae982 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/MethodRemoverForTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/MethodRemoverForTesting.java
@@ -88,15 +88,5 @@ public class MethodRemoverForTesting implements MethodRemover {
return removeMethodsReturn;
}
- // ////////////////////////////////////////////////////////////
- // removeMethods(List):void
- // ////////////////////////////////////////////////////////////
-
- @Override
- public void removeMethods(final List<Method> methods) {
- for (final Method method : methods) {
- removeMethod(method);
- }
- }
}
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/SpecloaderPerformanceTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/SpecloaderPerformanceTest.java
index 94a0202..4b12c84 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/SpecloaderPerformanceTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/SpecloaderPerformanceTest.java
@@ -63,7 +63,7 @@ class SpecloaderPerformanceTest {
@Test //under constr.
void repeatedSpecloading() {
- config.getReflector().getIntrospector().setParallelize(true);
+ config.getReflector().getIntrospector().setParallelize(false);
for(int i=0; i<100; ++i) {
specificationLoader.shutdown();