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.