1 package org.ultramonkey.l7.view;
3 import java.io.IOException;
4 import java.util.Enumeration;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9 import javax.servlet.http.HttpSession;
11 import org.apache.log4j.Logger;
12 import org.ultramonkey.l7.controller.SnmpAgentData;
13 import org.ultramonkey.l7.model.ExecuteMode;
14 import org.ultramonkey.l7.model.L7guiFramework;
15 import org.ultramonkey.l7.model.LogCategorySet;
16 import org.ultramonkey.l7.model.Message;
17 import org.ultramonkey.l7.model.MessageView;
18 import org.ultramonkey.l7.model.SessionTransData;
25 * Copyright(c) NTT COMWARE 2008
30 public class SnmpAgentServlet extends org.ultramonkey.l7.view.L7guiServletBase {
31 static final long serialVersionUID = 1L;
33 private Logger logger = Logger.getLogger(LogCategorySet.GUI_IO);
38 * @see javax.servlet.http.HttpServlet#HttpServlet()
40 public SnmpAgentServlet() {
42 // --- debug log (constructor) ---
43 if (logger.isDebugEnabled()) {
44 logger.debug("11261 class SnmpAgentServlet created.");
46 // --- debug log (constructor) ---
52 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
53 * HttpServletResponse response)
55 protected void doGet(HttpServletRequest request,
56 HttpServletResponse response) throws ServletException, IOException {
57 // --- debug log (in method) ---
58 if (logger.isDebugEnabled()) {
59 StringBuffer buf = new StringBuffer();
60 buf.append("SnmpAgentServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
61 buf.append("request=(" + request + "), ");
62 buf.append("response=(" + response + ")");
63 logger.debug("11262 " + buf.toString());
64 request.setCharacterEncoding("UTF-8");
65 logger.debug("11263 QueryString=\"" + request.getQueryString() + "\"");
67 // --- debug log (in method) ---
69 response.sendRedirect(RedirectPages.LOGIN);
71 // --- debug log (out method) ---
72 if (logger.isDebugEnabled()) {
73 logger.debug("11264 SnmpAgentServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
75 // --- debug log (out method) ---
82 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
83 * HttpServletResponse response)
85 protected void doPost(HttpServletRequest request,
86 HttpServletResponse response) throws ServletException, IOException {
87 // --- debug log (in method) ---
88 if (logger.isDebugEnabled()) {
89 StringBuffer buf = new StringBuffer();
90 buf.append("SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
91 buf.append("request=(" + request + "), ");
92 buf.append("response=(" + response + ")");
93 logger.debug("11265 " + buf.toString());
94 request.setCharacterEncoding("UTF-8");
95 Enumeration keys = request.getParameterNames();
97 while (keys.hasMoreElements()) {
98 if (post.length() != 0)
100 String key = (String) keys.nextElement();
101 post += key + "=" + request.getParameter(key);
103 logger.debug("11266 PostData=\"" + post + "\"");
105 // --- debug log (in method) ---
107 // check login session
108 super.doPost(request, response);
110 HttpSession session = request.getSession(false);
111 if (login == false || session == null) {
112 if (session != null) {
113 MessageView error = new MessageView(41059,
114 LogCategorySet.GUI_USER_AUTHENTICATION,
115 Message.INVALID_SESSSION);
116 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
118 response.sendRedirect(RedirectPages.LOGIN);
119 // --- debug log (out method) ---
120 if (logger.isDebugEnabled()) {
121 logger.debug("11267 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
123 // --- debug log (out method) ---
130 request.setCharacterEncoding("UTF-8");
131 String str_snmpInterval = request.getParameter("snmp_interval");
132 if (str_snmpInterval == null) {
133 MessageView error = new MessageView(41060, LogCategorySet.GUI_SNMP,
134 Message.UNEXPECTED_ERROR);
135 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
136 response.sendRedirect(RedirectPages.LOGIN);
137 // --- debug log (out method) ---
138 if (logger.isDebugEnabled()) {
139 logger.debug("11268 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
141 // --- debug log (out method) ---
146 String unit_snmpInterval = request.getParameter("unit_interval");
147 if (unit_snmpInterval == null) {
148 MessageView error = new MessageView(41061, LogCategorySet.GUI_SNMP,
149 Message.UNEXPECTED_ERROR);
150 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
151 response.sendRedirect(RedirectPages.LOGIN);
152 // --- debug log (out method) ---
153 if (logger.isDebugEnabled()) {
154 logger.debug("11269 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
156 // --- debug log (out method) ---
161 L7guiFramework frameWork = new L7guiFramework();
162 SnmpAgentData snmp = frameWork.getSnmpAgentData();
164 MessageView error = new MessageView(41062, LogCategorySet.GUI_SNMP,
165 Message.UNEXPECTED_ERROR);
166 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
167 response.sendRedirect(RedirectPages.LOGIN);
168 // --- debug log (out method) ---
169 if (logger.isDebugEnabled()) {
170 logger.debug("11270 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
172 // --- debug log (out method) ---
179 boolean validationFlag = validationcheck(session, str_snmpInterval,
181 if (validationFlag == false) {
182 session.setAttribute(SessionKeys.INPUT_SNMP, snmp);
184 .setAttribute(SessionKeys.INPUT_SNMP_UNIT,
186 MessageView error = new MessageView(21037, LogCategorySet.GUI_SNMP,
187 Message.INVALID_VALUE);
188 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
189 response.sendRedirect(RedirectPages.SNMP_MODIFY);
190 // --- debug log (out method) ---
191 if (logger.isDebugEnabled()) {
192 logger.debug("11271 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
194 // --- debug log (out method) ---
199 * set unit_snmpInterval
201 if (unit_snmpInterval.equals("ms")) {
203 } else if (unit_snmpInterval.equals("s")) {
204 snmp.interval *= 1000;
206 session.setAttribute(SessionKeys.INPUT_SNMP, snmp);
208 .setAttribute(SessionKeys.INPUT_SNMP_UNIT,
210 MessageView error = new MessageView(21038, LogCategorySet.GUI_SNMP,
211 Message.INVALID_VALUE);
212 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
213 response.sendRedirect(RedirectPages.SNMP_MODIFY);
214 // --- debug log (out method) ---
215 if (logger.isDebugEnabled()) {
216 logger.debug("11272 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
218 // --- debug log (out method) ---
222 CommandExecuter thread = new CommandExecuter(session);
227 String button_mode = request.getParameter("button");
228 // button mode : null
229 if (button_mode == null) {
230 MessageView error = new MessageView(41063, LogCategorySet.GUI_SNMP,
231 Message.UNEXPECTED_ERROR);
232 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
233 response.sendRedirect(RedirectPages.LOGIN);
234 // --- debug log (out method) ---
235 if (logger.isDebugEnabled()) {
236 logger.debug("11273 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
238 // --- debug log (out method) ---
241 // button mode : save
242 else if (button_mode.equals(ButtonMode.SAVE)) {
243 mode = ExecuteMode.SNMP_INFO_SAVE;
244 redirectPage = RedirectPages.SNMP_MODIFY_EXECUTIVE;
246 // button mode : save and sync
247 else if (button_mode.equals(ButtonMode.SAVESYNC)) {
248 mode = ExecuteMode.SNMP_INFO_SAVESYNC;
249 redirectPage = RedirectPages.SAVE_SYNC_EXECUTIVE;
251 SessionTransData trans = new SessionTransData();
252 trans.sourceURI = RedirectPages.SNMP_MODIFY;
253 trans.destURI = RedirectPages.SNMP_MODIFY;
254 trans.errorURI = RedirectPages.SNMP_MODIFY_NG;
255 session.setAttribute(SessionKeys.PAGE_TRANSDATA, trans);
257 MessageView error = new MessageView(41064, LogCategorySet.GUI_SNMP,
258 Message.UNEXPECTED_ERROR);
259 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
260 response.sendRedirect(RedirectPages.LOGIN);
261 // --- debug log (out method) ---
262 if (logger.isDebugEnabled()) {
263 logger.debug("11274 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
265 // --- debug log (out method) ---
270 thread.setExecute(mode, snmp);
272 } catch (Exception e) {
273 MessageView error = new MessageView(41065, LogCategorySet.GUI_SNMP,
274 Message.UNEXPECTED_ERROR);
275 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
276 response.sendRedirect(RedirectPages.LOGIN);
277 // --- debug log (out method) ---
278 if (logger.isDebugEnabled()) {
279 logger.debug("11275 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
281 // --- debug log (out method) ---
284 response.sendRedirect(redirectPage);
285 // --- debug log (out method) ---
286 if (logger.isDebugEnabled()) {
287 logger.debug("11276 SnmpAgentServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
289 // --- debug log (out method) ---
296 * validationCheck method
300 * @param str_snmpInterval
305 private boolean validationcheck(HttpSession session,
306 String str_SnmpInterval, SnmpAgentData snmp) {
307 // --- debug log (in method) ---
308 if (logger.isDebugEnabled()) {
309 StringBuffer buf = new StringBuffer();
310 buf.append("SnmpAgentServlet::validationCheck(HttpSession session, String str_SnmpInterval, SnmpAgentData snmp) in ");
311 buf.append("session=(" + session + "), ");
312 buf.append("str_SnmpInterval=(" + str_SnmpInterval + "), ");
313 buf.append("snmp=(" + snmp + ")");
314 logger.debug("11277 " + buf.toString());
316 // --- debug log (in method) ---
318 boolean validationFlag = true;
320 int MIN_SNMP_INTERVAL = 1;
321 int MAX_SNMP_INTERVAL = 999;
322 int int_SnmpInterval = 1;
324 if (str_SnmpInterval.length() == 0) {
325 session.setAttribute(SessionKeys.INVALID_MESSAGE,
326 Message.REQUIED_ITEM);
327 validationFlag = false;
330 int_SnmpInterval = Integer.parseInt(str_SnmpInterval);
331 if ((int_SnmpInterval < MIN_SNMP_INTERVAL)
332 || (int_SnmpInterval > MAX_SNMP_INTERVAL)) {
333 session.setAttribute(SessionKeys.INVALID_MESSAGE,
334 Message.VALIDATION_ERROR);
335 validationFlag = false;
337 } catch (NumberFormatException e) {
338 session.setAttribute(SessionKeys.INVALID_MESSAGE,
339 Message.VALIDATION_ERROR);
340 validationFlag = false;
343 snmp.interval = int_SnmpInterval;
345 // --- debug log (out method) ---
346 if (logger.isDebugEnabled()) {
347 logger.debug("11278 SnmpAgentServlet::validationCheck(HttpSession session, String str_SnmpInterval, SnmpAgentData snmp) out return=" + validationFlag);
349 // --- debug log (out method) ---
350 return validationFlag;