From e2b137ba6a0d1ad6d5642d75fcd9f20d24a8c128 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 25 Mar 2012 13:05:49 +0200 Subject: [PATCH] fix possible nullpointerexception --- .../main/java/sonia/scm/ClassOverrides.java | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java index 3169b5b4b7..2852c4a279 100644 --- a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java +++ b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java @@ -41,6 +41,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.util.AssertUtil; +import sonia.scm.util.Util; //~--- JDK imports ------------------------------------------------------------ @@ -49,6 +50,7 @@ import java.io.IOException; import java.net.URL; import java.util.ArrayList; +import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; import java.util.List; @@ -218,28 +220,39 @@ public class ClassOverrides implements Iterable */ public List getModules() { - return Lists.transform(moduleClasses, - new Function, Module>() + List modules = null; + + if (Util.isNotEmpty(moduleClasses)) { - @Override - public Module apply(Class moduleClass) + modules = Lists.transform(moduleClasses, + new Function, Module>() { - Module module = null; - - try + @Override + public Module apply(Class moduleClass) { - module = moduleClass.newInstance(); - } - catch (Exception ex) - { - logger.error( - "could not create module instance of ".concat( - moduleClass.getName()), ex); - } + Module module = null; - return module; - } - }); + try + { + module = moduleClass.newInstance(); + } + catch (Exception ex) + { + logger.error( + "could not create module instance of ".concat( + moduleClass.getName()), ex); + } + + return module; + } + }); + } + else + { + modules = Collections.EMPTY_LIST; + } + + return modules; } /**