You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/12/29 15:42:42 UTC
[isis] branch master updated: ISIS-1780: removes facet factories
correctly if already instantiated as an object within the
ProgrammingModelAbstract
This is an automated email from the ASF dual-hosted git repository.
danhaywood 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 c0a82b3 ISIS-1780: removes facet factories correctly if already instantiated as an object within the ProgrammingModelAbstract
c0a82b3 is described below
commit c0a82b3f804ec633404efd4200a0875dfdfda706
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Dec 29 15:40:10 2017 +0000
ISIS-1780: removes facet factories correctly if already instantiated as an object within the ProgrammingModelAbstract
(which actually always seems to be the case).
---
.../isis/core/metamodel/progmodel/ProgrammingModelAbstract.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
index 0510aba..3189d15 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/progmodel/ProgrammingModelAbstract.java
@@ -20,6 +20,7 @@
package org.apache.isis.core.metamodel.progmodel;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import com.google.common.collect.Lists;
@@ -144,7 +145,12 @@ public abstract class ProgrammingModelAbstract implements ProgrammingModel {
@Override
public final void removeFactory(final Class<? extends FacetFactory> factoryClass) {
assertNotInitialized();
- facetFactoryInstancesOrClasses.remove(factoryClass);
+ for (Iterator<Object> iterator = facetFactoryInstancesOrClasses.iterator(); iterator.hasNext(); ) {
+ final Object factoryInstanceOrClass = iterator.next();
+ if(factoryInstanceOrClass == factoryClass || factoryClass.isAssignableFrom(factoryInstanceOrClass.getClass())) {
+ iterator.remove();
+ }
+ }
}
@Override
--
To stop receiving notification emails like this one, please contact
['"commits@isis.apache.org" <co...@isis.apache.org>'].