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 2018/03/15 14:57:41 UTC
[isis] branch master updated: ISIS-1841 fix ComponentFactory
plugins getting registered twice
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 e07560b ISIS-1841 fix ComponentFactory plugins getting registered twice
e07560b is described below
commit e07560b81ffe8f631e64dd6c81659251c7317d7c
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Mar 15 15:57:21 2018 +0100
ISIS-1841 fix ComponentFactory plugins getting registered twice
---
.../jdo/datanucleus/DataNucleusLifeCycleHelper.java | 3 +++
.../components/ComponentFactoryRegistrarDefault.java | 15 ++++++++-------
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusLifeCycleHelper.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusLifeCycleHelper.java
index bc19b81..28600b6 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusLifeCycleHelper.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/DataNucleusLifeCycleHelper.java
@@ -48,6 +48,9 @@ public class DataNucleusLifeCycleHelper {
// https://github.com/datanucleus/datanucleus-core/issues/272
EnhancementHelper.getInstance().unregisterClasses(cl);
+ // cleanup thread locals
+ JDOStateManagerForIsis.hint.remove();
+
} catch (Exception e) {
// ignore, since it only affects re-deploy-ability, which is nice to have but not critical
}
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
index ff0f123..87668d6 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
@@ -123,11 +123,15 @@ public class ComponentFactoryRegistrarDefault implements ComponentFactoryRegistr
}
protected void addComponentFactoriesUsingServiceLoader(final ComponentFactoryList componentFactories) {
- final ServiceLoader<ComponentFactory> serviceLoader = ServiceLoader.load(ComponentFactory.class);
- for (final ComponentFactory componentFactory : serviceLoader) {
- componentFactories.add(componentFactory);
- }
+ _Plugin.loadAll(ComponentFactory.class).forEach(componentFactories::add);
+
+// same as ...
+// final ServiceLoader<ComponentFactory> serviceLoader = ServiceLoader.load(ComponentFactory.class);
+//
+// for (final ComponentFactory componentFactory : serviceLoader) {
+// componentFactories.add(componentFactory);
+// }
}
private void addBuiltInComponentFactories(final ComponentFactoryList componentFactories) {
@@ -149,9 +153,6 @@ public class ComponentFactoryRegistrarDefault implements ComponentFactoryRegistr
addComponentFactoriesForPageHeader(componentFactories);
addComponentFactoriesForPageFooter(componentFactories);
- // load component factories from plugins
- _Plugin.loadAll(ComponentFactory.class).forEach(componentFactories::add);
-
addComponentFactoriesForUnknown(componentFactories);
}
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.