1 package atg.presentation.jsf;
2
3 import java.io.IOException;
4
5 import javax.faces.webapp.FacesServlet;
6 import javax.servlet.Servlet;
7 import javax.servlet.ServletConfig;
8 import javax.servlet.ServletException;
9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11
12 import atg.service.constante.AtgConstantes;
13 import atg.service.constante.AtgConstantesWF;
14 import atg.service.log.ATGILogable;
15 import atg.service.log.AtgLogFormatter;
16 import atg.service.log.AtgLogManager;
17
18 /**
19 * <p>
20 * Titre : Classe ATGFacesServlet (Faces Servlet de JSF)
21 * </p>
22 * <p>
23 * Description : Cette classe sera utilisée à la place de Faces Servlet de JSF
24 * </p>
25 * <p>
26 * Copyright : YSMAL Vincent
27 * </p>
28 *
29 * @author YSMAL Vincent
30 * @version 1.0 Ce logiciel est régi par la licence CeCILL soumise au droit
31 * français et respectant les principes de diffusion des logiciels
32 * libres. Vous pouvez utiliser, modifier et/ou redistribuer ce
33 * programme sous les conditions de la licence CeCILL telle que
34 * diffusée par le CEA, le CNRS et l'INRIA sur le site
35 * http://www.cecill.info.
36 *
37 * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris
38 * connaissance de la licence CeCILL, et que vous en avez accepté les termes.
39 */
40 public class ATGFacesServlet implements Servlet, ATGILogable {
41 private FacesServlet facesServlet = null;
42
43 public ATGFacesServlet() {
44 facesServlet = new FacesServlet();
45 }
46
47 public void destroy() {
48 facesServlet.destroy();
49 facesServlet = null;
50 }
51
52 public ServletConfig getServletConfig() {
53 return facesServlet.getServletConfig();
54 }
55
56 public String getServletInfo() {
57 return getClass().getName();
58 }
59
60 public void init(ServletConfig servletConfig) throws ServletException {
61 atg.service.constante.AtgConstantesWF.init(new atg.service.constante.AtgConstantesWF());
62 AtgLogManager.setPathFileProperties(AtgConstantesWF
63 .getValue(AtgConstantes.ATG_LOG_LOGGING_PATH_FILE_NAME)
64 + AtgConstantes.ATG_LOG_DEFAULT_FILE_LOGGING);
65
66 logConfig("Chargement des constantes terminé");
67 logConfig("Initialisation des traces");
68
69 facesServlet.init(servletConfig);
70 }
71
72 public void service(ServletRequest request, ServletResponse response)
73 throws IOException, ServletException {
74 this.logFinest("Passage dans le service de ATGFacesServlet");
75 facesServlet.service(request, response);
76 }
77
78 /**
79 * Ecrit une trace de niveau 'severe'
80 *
81 * @param message
82 * Message d'information
83 */
84 public void logSevere(String message) {
85 getLogger().logp(java.util.logging.Level.SEVERE, getClass().getName(),
86 AtgLogFormatter.getCallerMethod(), message);
87 }
88
89 /**
90 * Ecrit une trace de niveau 'config'
91 *
92 * @param message
93 * Message d'information
94 */
95 public void logConfig(String message) {
96 getLogger().logp(java.util.logging.Level.CONFIG, getClass().getName(),
97 AtgLogFormatter.getCallerMethod(), message);
98 }
99
100 /**
101 * Ecrit une trace de niveau 'warning'
102 *
103 * @param message
104 * Message d'information
105 */
106 public void logWarning(String message) {
107 getLogger().logp(java.util.logging.Level.WARNING, getClass().getName(),
108 AtgLogFormatter.getCallerMethod(), message);
109 }
110
111 /**
112 * Ecrit une trace de niveau 'fine'
113 *
114 * @param message
115 * Message d'information
116 */
117 public void logFine(String message) {
118 getLogger().logp(java.util.logging.Level.FINE, getClass().getName(),
119 AtgLogFormatter.getCallerMethod(), message);
120 }
121
122 /**
123 * Ecrit une trace de niveau 'finer'
124 *
125 * @param message
126 * Message d'information
127 */
128 public void logFiner(String message) {
129 getLogger().logp(java.util.logging.Level.FINER, getClass().getName(),
130 AtgLogFormatter.getCallerMethod(), message);
131 }
132
133 /**
134 * Ecrit une trace de niveau 'finest'
135 *
136 * @param message
137 * Message d'information
138 */
139 public void logFinest(String message) {
140 getLogger().logp(java.util.logging.Level.FINEST, getClass().getName(),
141 AtgLogFormatter.getCallerMethod(), message);
142 }
143
144 /**
145 * Ecrit une trace de niveau 'info'
146 *
147 * @param message
148 * Message d'information
149 */
150 public void logInfo(String message) {
151 getLogger().logp(java.util.logging.Level.INFO, getClass().getName(),
152 AtgLogFormatter.getCallerMethod(), message);
153 }
154
155
156
157
158
159 /**
160 * Retourne le log associé
161 *
162 * @return java.util.logging.Logger Log associé
163 */
164 protected java.util.logging.Logger getLogger() {
165 if (logger_ == null)
166 logger_ = AtgLogManager
167 .getLog(AtgConstantes.ATG_LOG_CATEGORY_PRESENTATION_FACES_SERVLET);
168
169 return logger_;
170 }
171
172
173
174
175
176 /**
177 * Contient le log associé
178 * java.util.logging.Logger Log associé
179 */
180 protected static java.util.logging.Logger logger_ = null;
181
182 }