1 package org.ultramonkey.l7.view;
3 import java.io.IOException;
6 import javax.servlet.*;
7 import javax.servlet.http.*;
9 import org.apache.log4j.Logger;
10 import org.ultramonkey.l7.controller.*;
11 import org.ultramonkey.l7.model.*;
15 * <p>class LogLevelServlet</p>
16 * <p>Copyright(c) NTT COMWARE 2008</p>
19 public class LogLevelServlet extends L7guiServletBase {
20 static final long serialVersionUID = 1L;
22 private Logger logger = Logger.getLogger(LogCategorySet.GUI_IO);
25 * @see javax.servlet.http.HttpServlet#HttpServlet()
27 public LogLevelServlet() {
29 // --- debug log (constructor) ---
30 if (logger.isDebugEnabled()) {
31 logger.debug("11467 class LogLevelServlet created.");
33 // --- debug log (constructor) ---
37 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
39 protected void doGet(HttpServletRequest request, HttpServletResponse response)
40 throws ServletException, IOException {
41 // --- debug log (in method) ---
42 if (logger.isDebugEnabled()) {
43 StringBuffer buf = new StringBuffer();
44 buf.append("LogLevelServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
45 buf.append("request=(" + request + "), ");
46 buf.append("response=(" + response + ")");
47 logger.debug("11468 " + buf.toString());
48 request.setCharacterEncoding("UTF-8");
49 logger.debug("11469 QueryString=\"" + request.getQueryString() + "\"");
51 // --- debug log (in method) ---
53 response.sendRedirect(RedirectPages.LOGIN);
55 // --- debug log (out method) ---
56 if (logger.isDebugEnabled()) {
57 logger.debug("11470 LogLevelServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
59 // --- debug log (out method) ---
64 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
66 protected void doPost(HttpServletRequest request, HttpServletResponse response)
67 throws ServletException, IOException {
68 // --- debug log (in method) ---
69 if (logger.isDebugEnabled()) {
70 StringBuffer buf = new StringBuffer();
71 buf.append("LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
72 buf.append("request=(" + request + "), ");
73 buf.append("response=(" + response + ")");
74 logger.debug("11471 " + buf.toString());
75 request.setCharacterEncoding("UTF-8");
76 Enumeration keys = request.getParameterNames();
78 while (keys.hasMoreElements()) {
79 if (post.length() != 0)
81 String key = (String) keys.nextElement();
82 post += key + "=" + request.getParameter(key);
84 logger.debug("11472 PostData=\"" + post + "\"");
86 // --- debug log (in method) ---
91 super.doPost(request, response);
93 HttpSession session = request.getSession(false);
94 if (login == false || session == null) {
95 if (session != null) {
96 MessageView error = new MessageView(41203, LogCategorySet.GUI_USER_AUTHENTICATION, Message.INVALID_SESSSION);
97 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
99 response.sendRedirect(RedirectPages.LOGIN);
101 // --- debug log (out method) ---
102 if (logger.isDebugEnabled()) {
103 logger.debug("11473 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
105 // --- debug log (out method) ---
112 request.setCharacterEncoding("UTF-8");
113 HashMap<String, String[]> tmpMap = (HashMap<String, String[]>) request
115 if (tmpMap == null) {
116 MessageView error = new MessageView(41204, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
117 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
118 response.sendRedirect(RedirectPages.LOGIN);
119 // --- debug log (out method) ---
120 if (logger.isDebugEnabled()) {
121 logger.debug("11474 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
123 // --- debug log (out method) ---
127 HashMap<String, String> inputLogLevelMap = new HashMap<String, String>();
128 Iterator i = tmpMap.keySet().iterator();
129 while (i.hasNext()) {
130 String key = (String) i.next();
131 inputLogLevelMap.put(key, tmpMap.get(key)[0]);
134 String logType = (String) inputLogLevelMap.get("type");
135 if (logType == null) {
136 MessageView error = new MessageView(41205, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
137 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
138 response.sendRedirect(RedirectPages.LOGIN);
139 // --- debug log (out method) ---
140 if (logger.isDebugEnabled()) {
141 logger.debug("11475 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
143 // --- debug log (out method) ---
147 HashMap<LogData.LogCategory, LogData.LogLevel> logLevelList = null;
149 L7guiFramework frame = new L7guiFramework();
150 LogData logInfo = frame.getLogData();
151 if (logInfo == null) {
152 MessageView error = new MessageView(41206, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
153 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
154 response.sendRedirect(RedirectPages.LOGIN);
155 // --- debug log (out method) ---
156 if (logger.isDebugEnabled()) {
157 logger.debug("11476 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
159 // --- debug log (out method) ---
163 SessionTransData pagetrans = new SessionTransData();
165 LogData.LogLevel logLevel = null;
166 boolean levelCheckFlag = true;
169 if (logType.equals(LogCategorySet.L7VSD)) {
170 logLevelList = logInfo.lbLog.logLevel;
171 pagetrans.sourceURI = RedirectPages.LOG_L7VSD;
172 pagetrans.destURI = RedirectPages.LOG_L7VSD;
173 pagetrans.errorURI = RedirectPages.LOG_L7VSD;
174 session.setAttribute(SessionKeys.PAGE_TRANSDATA, pagetrans);
176 level = inputLogLevelMap.get("L7VSD_NETWORK");
177 logLevel = levelCheck(level);
178 if (logLevel != null) {
179 logLevelList.put(LogData.LogCategory.L7VSD_NETWORK, logLevel);
181 levelCheckFlag = false;
183 level = inputLogLevelMap.get("L7VSD_NETWORK_BANDWIDTH");
184 logLevel = levelCheck(level);
185 if (logLevel != null) {
186 logLevelList.put(LogData.LogCategory.L7VSD_NETWORK_BANDWIDTH,
189 levelCheckFlag = false;
191 level = inputLogLevelMap.get("L7VSD_NETWORK_NUM_CONNECTION");
192 logLevel = levelCheck(level);
193 if (logLevel != null) {
194 logLevelList.put(LogData.LogCategory.L7VSD_NETWORK_NUM_CONNECTION,
197 levelCheckFlag = false;
199 level = inputLogLevelMap.get("L7VSD_NETWORK_QOS");
200 logLevel = levelCheck(level);
201 if (logLevel != null) {
202 logLevelList.put(LogData.LogCategory.L7VSD_NETWORK_QOS, logLevel);
204 levelCheckFlag = false;
206 level = inputLogLevelMap.get("L7VSD_VIRTUAL_SERVICE");
207 logLevel = levelCheck(level);
208 if (logLevel != null) {
209 logLevelList.put(LogData.LogCategory.L7VSD_VIRTUAL_SERVICE, logLevel);
211 levelCheckFlag = false;
213 level = inputLogLevelMap.get("L7VSD_REAL_SERVER");
214 logLevel = levelCheck(level);
215 if (logLevel != null) {
216 logLevelList.put(LogData.LogCategory.L7VSD_REAL_SERVER, logLevel);
218 levelCheckFlag = false;
220 level = inputLogLevelMap.get("L7VSD_SORRY_SERVER");
221 logLevel = levelCheck(level);
222 if (logLevel != null) {
223 logLevelList.put(LogData.LogCategory.L7VSD_SORRY_SERVER, logLevel);
225 levelCheckFlag = false;
227 level = inputLogLevelMap.get("L7VSD_REAL_SERVER_BALANCING");
228 logLevel = levelCheck(level);
229 if (logLevel != null) {
230 logLevelList.put(LogData.LogCategory.L7VSD_REAL_SERVER_BALANCING,
233 levelCheckFlag = false;
235 level = inputLogLevelMap.get("L7VSD_REPLICATION");
236 logLevel = levelCheck(level);
237 if (logLevel != null) {
238 logLevelList.put(LogData.LogCategory.L7VSD_REPLICATION, logLevel);
240 levelCheckFlag = false;
242 level = inputLogLevelMap.get("L7VSD_START_STOP");
243 logLevel = levelCheck(level);
244 if (logLevel != null) {
245 logLevelList.put(LogData.LogCategory.L7VSD_START_STOP, logLevel);
247 levelCheckFlag = false;
249 level = inputLogLevelMap.get("L7VSD_SYSTEM");
250 logLevel = levelCheck(level);
251 if (logLevel != null) {
252 logLevelList.put(LogData.LogCategory.L7VSD_SYSTEM, logLevel);
254 levelCheckFlag = false;
256 level = inputLogLevelMap.get("L7VSD_SYSTEM_MEMORY");
257 logLevel = levelCheck(level);
258 if (logLevel != null) {
259 logLevelList.put(LogData.LogCategory.L7VSD_SYSTEM_MEMORY, logLevel);
261 levelCheckFlag = false;
263 level = inputLogLevelMap.get("L7VSD_SYSTEM_SOCKET");
264 logLevel = levelCheck(level);
265 if (logLevel != null) {
266 logLevelList.put(LogData.LogCategory.L7VSD_SYSTEM_SOCKET, logLevel);
268 levelCheckFlag = false;
270 level = inputLogLevelMap.get("L7VSD_SYSTEM_SIGNAL");
271 logLevel = levelCheck(level);
272 if (logLevel != null) {
273 logLevelList.put(LogData.LogCategory.L7VSD_SYSTEM_SIGNAL, logLevel);
275 levelCheckFlag = false;
277 level = inputLogLevelMap.get("L7VSD_ENVIRONMENT");
278 logLevel = levelCheck(level);
279 if (logLevel != null) {
280 logLevelList.put(LogData.LogCategory.L7VSD_ENVIRONMENT, logLevel);
282 levelCheckFlag = false;
284 level = inputLogLevelMap.get("L7VSD_ENVIRONMENT_PARAMETER");
285 logLevel = levelCheck(level);
286 if (logLevel != null) {
287 logLevelList.put(LogData.LogCategory.L7VSD_ENVIRONMENT_PARAMETER,
290 levelCheckFlag = false;
292 level = inputLogLevelMap.get("L7VSD_LOGGER");
293 logLevel = levelCheck(level);
294 if (logLevel != null) {
295 logLevelList.put(LogData.LogCategory.L7VSD_LOGGER, logLevel);
297 levelCheckFlag = false;
299 level = inputLogLevelMap.get("L7VSD_PARAMETER");
300 logLevel = levelCheck(level);
301 if (logLevel != null) {
302 logLevelList.put(LogData.LogCategory.L7VSD_PARAMETER, logLevel);
304 levelCheckFlag = false;
306 level = inputLogLevelMap.get("L7VSD_EVENT");
307 logLevel = levelCheck(level);
308 if (logLevel != null) {
309 logLevelList.put(LogData.LogCategory.L7VSD_EVENT, logLevel);
311 levelCheckFlag = false;
313 level = inputLogLevelMap.get("L7VSD_SCHEDULE");
314 logLevel = levelCheck(level);
315 if (logLevel != null) {
316 logLevelList.put(LogData.LogCategory.L7VSD_SCHEDULE, logLevel);
318 levelCheckFlag = false;
320 level = inputLogLevelMap.get("L7VSD_PROGRAM");
321 logLevel = levelCheck(level);
322 if (logLevel != null) {
323 logLevelList.put(LogData.LogCategory.L7VSD_PROGRAM, logLevel);
325 levelCheckFlag = false;
327 level = inputLogLevelMap.get("L7VSD_PROTOCOL");
328 logLevel = levelCheck(level);
329 if (logLevel != null) {
330 logLevelList.put(LogData.LogCategory.L7VSD_PROTOCOL, logLevel);
332 levelCheckFlag = false;
334 level = inputLogLevelMap.get("L7VSD_MODULE");
335 logLevel = levelCheck(level);
336 if (logLevel != null) {
337 logLevelList.put(LogData.LogCategory.L7VSD_MODULE, logLevel);
339 levelCheckFlag = false;
341 } else if (logType.equals(LogCategorySet.L7VSADM)) {
342 logLevelList = logInfo.admLog.logLevel;
343 pagetrans.sourceURI = RedirectPages.LOG_L7VSADM;
344 pagetrans.destURI = RedirectPages.LOG_L7VSADM;
345 pagetrans.errorURI = RedirectPages.LOG_L7VSADM;
346 session.setAttribute(SessionKeys.PAGE_TRANSDATA, pagetrans);
348 level = inputLogLevelMap.get("L7VSADM_PARSE");
349 logLevel = levelCheck(level);
350 if (logLevel != null) {
351 logLevelList.put(LogData.LogCategory.L7VSADM_PARSE, logLevel);
353 levelCheckFlag = false;
355 level = inputLogLevelMap.get("L7VSADM_OPERATE");
356 logLevel = levelCheck(level);
357 if (logLevel != null) {
358 logLevelList.put(LogData.LogCategory.L7VSADM_OPERATE, logLevel);
360 levelCheckFlag = false;
362 level = inputLogLevelMap.get("L7VSADM_COMMUNICATE");
363 logLevel = levelCheck(level);
364 if (logLevel != null) {
365 logLevelList.put(LogData.LogCategory.L7VSADM_COMMUNICATE, logLevel);
367 levelCheckFlag = false;
369 level = inputLogLevelMap.get("L7VSADM_CONFIG_RESULT");
370 logLevel = levelCheck(level);
371 if (logLevel != null) {
372 logLevelList.put(LogData.LogCategory.L7VSADM_CONFIG_RESULT, logLevel);
374 levelCheckFlag = false;
376 level = inputLogLevelMap.get("L7VSADM_COMMON");
377 logLevel = levelCheck(level);
378 if (logLevel != null) {
379 logLevelList.put(LogData.LogCategory.L7VSADM_COMMON, logLevel);
381 levelCheckFlag = false;
383 level = inputLogLevelMap.get("L7VSADM_LOGGER");
384 logLevel = levelCheck(level);
385 if (logLevel != null) {
386 logLevelList.put(LogData.LogCategory.L7VSADM_LOGGER, logLevel);
388 levelCheckFlag = false;
390 level = inputLogLevelMap.get("L7VSADM_PARAMETER");
391 logLevel = levelCheck(level);
392 if (logLevel != null) {
393 logLevelList.put(LogData.LogCategory.L7VSADM_PARAMETER, logLevel);
395 levelCheckFlag = false;
397 level = inputLogLevelMap.get("L7VSADM_PROTOCOL");
398 logLevel = levelCheck(level);
399 if (logLevel != null) {
400 logLevelList.put(LogData.LogCategory.L7VSADM_PROTOCOL, logLevel);
402 levelCheckFlag = false;
404 level = inputLogLevelMap.get("L7VSADM_MODULE");
405 logLevel = levelCheck(level);
406 if (logLevel != null) {
407 logLevelList.put(LogData.LogCategory.L7VSADM_MODULE, logLevel);
409 levelCheckFlag = false;
411 } else if (logType.equals(LogCategorySet.SNMPAGENT)) {
412 logLevelList = logInfo.snmpLog.logLevel;
413 pagetrans.sourceURI = RedirectPages.LOG_SNMPAGENT;
414 pagetrans.destURI = RedirectPages.LOG_SNMPAGENT;
415 pagetrans.errorURI = RedirectPages.LOG_SNMPAGENT;
416 session.setAttribute(SessionKeys.PAGE_TRANSDATA, pagetrans);
418 level = inputLogLevelMap.get("SNMPAGENT_START_STOP");
419 logLevel = levelCheck(level);
420 if (logLevel != null) {
421 logLevelList.put(LogData.LogCategory.SNMPAGENT_START_STOP, logLevel);
423 levelCheckFlag = false;
425 level = inputLogLevelMap.get("SNMPAGENT_MANAGER_RECEIVE");
426 logLevel = levelCheck(level);
427 if (logLevel != null) {
428 logLevelList.put(LogData.LogCategory.SNMPAGENT_MANAGER_RECEIVE,
431 levelCheckFlag = false;
433 level = inputLogLevelMap.get("SNMPAGENT_MANAGER_SEND");
434 logLevel = levelCheck(level);
435 if (logLevel != null) {
436 logLevelList.put(LogData.LogCategory.SNMPAGENT_MANAGER_SEND,
439 levelCheckFlag = false;
441 level = inputLogLevelMap.get("SNMPAGENT_L7VSD_RECEIVE");
442 logLevel = levelCheck(level);
443 if (logLevel != null) {
444 logLevelList.put(LogData.LogCategory.SNMPAGENT_L7VSD_RECEIVE,
447 levelCheckFlag = false;
449 level = inputLogLevelMap.get("SNMPAGENT_L7VSD_SEND");
450 logLevel = levelCheck(level);
451 if (logLevel != null) {
452 logLevelList.put(LogData.LogCategory.SNMPAGENT_L7VSD_SEND, logLevel);
454 levelCheckFlag = false;
456 level = inputLogLevelMap.get("SNMPAGENT_LOGGER");
457 logLevel = levelCheck(level);
458 if (logLevel != null) {
459 logLevelList.put(LogData.LogCategory.SNMPAGENT_LOGGER, logLevel);
461 levelCheckFlag = false;
463 level = inputLogLevelMap.get("SNMPAGENT_PARAMETER");
464 logLevel = levelCheck(level);
465 if (logLevel != null) {
466 logLevelList.put(LogData.LogCategory.SNMPAGENT_PARAMETER, logLevel);
468 levelCheckFlag = false;
470 } else if (logType.equals(LogCategorySet.L7GUI)) {
471 logLevelList = logInfo.guiLog.logLevel;
472 pagetrans.sourceURI = RedirectPages.LOG_L7GUI;
473 pagetrans.destURI = RedirectPages.LOG_L7GUI;
474 pagetrans.errorURI = RedirectPages.LOG_L7GUI;
475 session.setAttribute(SessionKeys.PAGE_TRANSDATA, pagetrans);
476 } else if (logType.equals(LogCategorySet.GUI_SYNC)) {
477 logLevelList = logInfo.syncLog.logLevel;
478 pagetrans.sourceURI = RedirectPages.LOG_SYNC;
479 pagetrans.destURI = RedirectPages.LOG_SYNC;
480 pagetrans.errorURI = RedirectPages.LOG_SYNC;
481 session.setAttribute(SessionKeys.PAGE_TRANSDATA, pagetrans);
483 MessageView error = new MessageView(41207, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
484 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
485 response.sendRedirect(RedirectPages.LOGIN);
486 // --- debug log (out method) ---
487 if (logger.isDebugEnabled()) {
488 logger.debug("11477 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
490 // --- debug log (out method) ---
493 } catch (NullPointerException e) {
494 MessageView error = new MessageView(41208, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
495 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
496 response.sendRedirect(RedirectPages.LOGIN);
497 // --- debug log (out method) ---
498 if (logger.isDebugEnabled()) {
499 logger.debug("11478 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
501 // --- debug log (out method) ---
505 if (levelCheckFlag == false) {
506 MessageView error = new MessageView(21090, LogCategorySet.GUI_LOG, Message.VALIDATION_ERROR);
507 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
508 session.setAttribute(SessionKeys.INPUT_LOGLEVEL, logInfo);
509 response.sendRedirect(pagetrans.sourceURI);
510 // --- debug log (out method) ---
511 if (logger.isDebugEnabled()) {
512 logger.debug("11479 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
514 // --- debug log (out method) ---
519 * choice button mode, commandExecute mode
521 CommandExecuter thread = new CommandExecuter(session);
525 String button_mode = inputLogLevelMap.get("button");
527 // button mode : apply
528 if (button_mode != null && button_mode.equals(ButtonMode.APPLY)) {
529 mode = ExecuteMode.LOGLEVEL_CHANGE_APPLY;
530 redirectPage = RedirectPages.LOG_LEVEL_EXECUTIVE;
533 // button mode : save
534 else if (button_mode != null && button_mode.equals(ButtonMode.SAVE)) {
535 mode = ExecuteMode.LOGLEVEL_CHANGE_SAVE;
536 redirectPage = RedirectPages.LOG_LEVEL_EXECUTIVE;
539 // button mode : save and sync
540 else if (button_mode != null && button_mode.equals(ButtonMode.SAVESYNC)) {
541 mode = ExecuteMode.LOGLEVEL_CHANGE_SAVESYNC;
542 redirectPage = RedirectPages.SAVE_SYNC_EXECUTIVE;
544 MessageView error = new MessageView(41209, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
545 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
546 response.sendRedirect(RedirectPages.LOGIN);
547 // --- debug log (out method) ---
548 if (logger.isDebugEnabled()) {
549 logger.debug("11480 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
551 // --- debug log (out method) ---
555 thread.setExecute(mode, logInfo);
557 } catch (Exception e) {
558 MessageView error = new MessageView(41210, LogCategorySet.GUI_LOG, Message.UNEXPECTED_ERROR);
559 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
560 response.sendRedirect(RedirectPages.LOGIN);
561 // --- debug log (out method) ---
562 if (logger.isDebugEnabled()) {
563 logger.debug("11481 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
565 // --- debug log (out method) ---
568 response.sendRedirect(redirectPage);
570 // --- debug log (out method) ---
571 if (logger.isDebugEnabled()) {
572 logger.debug("11482 LogLevelServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
574 // --- debug log (out method) ---
581 * <p> levelCheck method</p>
586 private LogData.LogLevel levelCheck(String level) {
587 // --- debug log (in method) ---
588 if (logger.isDebugEnabled()) {
589 logger.debug("11483 LogLevelServlet::levelCheck(String level) in level=\"" + level + "\"");
591 // --- debug log (in method) ---
593 LogData.LogLevel ret = null;
596 } else if (level.equals("NONE")) {
597 ret = LogData.LogLevel.NONE;
598 } else if (level.equals("DEBUG")) {
599 ret = LogData.LogLevel.DEBUG;
600 } else if (level.equals("ERROR")) {
601 ret = LogData.LogLevel.ERROR;
602 } else if (level.equals("WARN")) {
603 ret = LogData.LogLevel.WARN;
604 } else if (level.equals("FATAL")) {
605 ret = LogData.LogLevel.FATAL;
606 } else if (level.equals("INFO")) {
607 ret = LogData.LogLevel.INFO;
610 // --- debug log (out method) ---
611 if (logger.isDebugEnabled()) {
612 logger.debug("11484 LogLevelServlet::levelCheck(String level) out return=" + ret);
614 // --- debug log (out method) ---