Adds beans and configs
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / config / FacesModuleConfiguration.java
1 package com.indexdata.pz2utils4jsf.config;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.Serializable;\r
5 \r
6 import javax.faces.context.ExternalContext;\r
7 import javax.faces.context.FacesContext;\r
8 import javax.servlet.ServletContext;\r
9 import javax.servlet.http.HttpServletRequest;\r
10 \r
11 import com.indexdata.masterkey.config.MasterkeyConfiguration;\r
12 import com.indexdata.masterkey.config.ModuleConfiguration;\r
13 import com.indexdata.masterkey.config.ModuleConfigurationGetter;\r
14 \r
15 public abstract class FacesModuleConfiguration implements ModuleConfigurationGetter, Serializable {\r
16 \r
17   private static final long serialVersionUID = -7225977088088592928L;\r
18   private ModuleConfiguration config;\r
19 \r
20   public FacesModuleConfiguration() {\r
21     if (FacesContext.getCurrentInstance() != null) {\r
22       ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();\r
23       HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();\r
24       ServletContext servletContext = (ServletContext) externalContext.getContext();\r
25       String host = request.getServerName();\r
26       try {\r
27         config = MasterkeyConfiguration.getModuleConfiguration(servletContext, host, getComponentName(), getModuleName());\r
28       } catch (IOException ioe) {\r
29         ioe.printStackTrace();\r
30       }\r
31     }\r
32   }\r
33 \r
34   public String get(String name) {\r
35     return config.get(name);\r
36   }\r
37 \r
38   public String get(String name, String defaultValue) {\r
39     return config.get(name, defaultValue);\r
40   }\r
41   \r
42   public ModuleConfiguration getModuleConfiguration () {\r
43     return config;\r
44   }\r
45   \r
46   public abstract String getModuleName();\r
47   \r
48   public abstract String getComponentName();\r
49 \r
50 }\r