From 32ee766682ceaed0ab42df815ee27ed5a4c44e04 Mon Sep 17 00:00:00 2001
From: Rick Herrick <jrherrick@wustl.edu>
Date: Thu, 21 Jul 2016 11:02:09 -0500
Subject: [PATCH] XNAT-2429 Fixed issue where initializer still loaded plugins
 into application context, moving it back into root. Updated
 gradle-git-version plugin.

---
 build.gradle                                    |  2 +-
 .../initialization/XnatWebAppInitializer.java   | 17 ++++++++++++-----
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/build.gradle b/build.gradle
index bc56306d..4f42c9e0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -41,7 +41,7 @@ buildscript {
     dependencies {
         classpath "com.bmuschko:gradle-cargo-plugin:2.2.2"
         classpath "com.bmuschko:gradle-tomcat-plugin:2.2.4"
-        classpath "gradle.plugin.com.palantir.gradle.gitversion:gradle-git-version:0.5.1"
+        classpath "gradle.plugin.com.palantir.gradle.gitversion:gradle-git-version:0.5.2"
     }
 }
 
diff --git a/src/main/java/org/nrg/xnat/initialization/XnatWebAppInitializer.java b/src/main/java/org/nrg/xnat/initialization/XnatWebAppInitializer.java
index d29dd4aa..a6ac8673 100644
--- a/src/main/java/org/nrg/xnat/initialization/XnatWebAppInitializer.java
+++ b/src/main/java/org/nrg/xnat/initialization/XnatWebAppInitializer.java
@@ -69,15 +69,15 @@ public class XnatWebAppInitializer extends AbstractAnnotationConfigDispatcherSer
 
     @Override
     protected Class<?>[] getRootConfigClasses() {
-        return new Class<?>[]{RootConfig.class};
+        final List<Class<?>> configClasses = new ArrayList<>();
+        configClasses.add(RootConfig.class);
+        configClasses.addAll(getPluginConfigs());
+        return configClasses.toArray(new Class[configClasses.size()]);
     }
 
     @Override
     protected Class<?>[] getServletConfigClasses() {
-        final List<Class<?>> configClasses = new ArrayList<>();
-        // configClasses.add(ApplicationConfig.class);
-        configClasses.addAll(getPluginConfigs());
-        return configClasses.toArray(new Class[configClasses.size()]);
+        return new Class[0];
     }
 
     @Override
@@ -117,6 +117,9 @@ public class XnatWebAppInitializer extends AbstractAnnotationConfigDispatcherSer
         final List<Class<?>> configs = new ArrayList<>();
         try {
             for (final XnatPluginBean plugin : XnatPluginBean.findAllXnatPluginBeans()) {
+                if (_log.isInfoEnabled()) {
+                    _log.info("Found plugin {} {}: {}", plugin.getId(), plugin.getName(), plugin.getDescription());
+                }
                 configs.add(Class.forName(plugin.getPluginClass()));
             }
         } catch (IOException e) {
@@ -125,6 +128,10 @@ public class XnatWebAppInitializer extends AbstractAnnotationConfigDispatcherSer
             _log.error("Did not find a class specified in a plugin definition.", e);
         }
 
+        if (_log.isInfoEnabled()) {
+            _log.info("Found a total of {} plugins", configs.size());
+        }
+
         return configs;
     }
 
-- 
GitLab