Fixes authentication issues
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / config / Mk2ConfigReader.java
index 5cd0566..8679458 100644 (file)
@@ -19,6 +19,7 @@ import org.apache.log4j.Logger;
 import com.indexdata.masterkey.config.MasterkeyConfiguration;\r
 import com.indexdata.masterkey.config.ModuleConfiguration;\r
 import com.indexdata.mkjsf.errors.ConfigurationException;\r
+import com.indexdata.mkjsf.errors.MissingConfigurationContextException;\r
 import com.indexdata.mkjsf.utils.Utils;\r
 \r
 import static com.indexdata.mkjsf.utils.Utils.nl;\r
@@ -54,9 +55,14 @@ public class Mk2ConfigReader implements ConfigurationReader  {
     \r
   private Configuration readConfig (Configurable configurable) throws ConfigurationException {\r
     Configuration config = new Configuration();\r
-    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
-    ServletContext servletContext = (ServletContext) externalContext.getContext();  \r
-    MasterkeyConfiguration mkConfigContext;\r
+    MasterkeyConfiguration mkConfigContext = null;\r
+    ExternalContext externalContext = null;\r
+    try {\r
+      externalContext = FacesContext.getCurrentInstance().getExternalContext();      \r
+    } catch (NullPointerException npe){\r
+      throw new MissingConfigurationContextException("No FacesContext available to get configuration context from: " + npe.getMessage());\r
+    }\r
+    ServletContext servletContext = (ServletContext) externalContext.getContext();\r
     try {\r
       mkConfigContext = MasterkeyConfiguration.getInstance(servletContext,\r
       "mkjsf", ((HttpServletRequest) externalContext.getRequest()).getServerName());\r