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.model.ExecuteMode;
13 import org.ultramonkey.l7.model.L7guiFramework;
14 import org.ultramonkey.l7.model.LogCategorySet;
15 import org.ultramonkey.l7.model.Message;
16 import org.ultramonkey.l7.model.MessageView;
17 import org.ultramonkey.l7.model.SessionTransData;
18 import org.ultramonkey.l7.controller.*;
23 * <p>class ReplicationInfoChangeServlet</p>
24 * <p>Copyright(c) NTT COMWARE 2008</p>
28 public class ReplicationInfoChangeServlet extends org.ultramonkey.l7.view.L7guiServletBase{
29 static final long serialVersionUID = 1L;
31 private Logger logger = Logger.getLogger(LogCategorySet.GUI_IO);
34 * @see javax.servlet.http.HttpServlet#HttpServlet()
36 public ReplicationInfoChangeServlet() {
38 // --- debug log (constructor) ---
39 if (logger.isDebugEnabled()) {
40 logger.debug("11297 class ReplicationInfoChangeServlet created.");
42 // --- debug log (constructor) ---
46 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
49 protected void doGet(HttpServletRequest request, HttpServletResponse response)
50 throws ServletException, IOException {
51 // --- debug log (in method) ---
52 if (logger.isDebugEnabled()) {
53 StringBuffer buf = new StringBuffer();
54 buf.append("ReplicationInfoChangeServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
55 buf.append("request=(" + request + "), ");
56 buf.append("response=(" + response + ")");
57 logger.debug("11298 " + buf.toString());
58 request.setCharacterEncoding("UTF-8");
59 logger.debug("11299 QueryString=\"" + request.getQueryString() + "\"");
61 // --- debug log (in method) ---
63 response.sendRedirect(RedirectPages.LOGIN);
65 // --- debug log (out method) ---
66 if (logger.isDebugEnabled()) {
67 logger.debug("11300 ReplicationInfoChangeServlet::doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
69 // --- debug log (out method) ---
75 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
77 protected void doPost(HttpServletRequest request, HttpServletResponse response)
78 throws ServletException, IOException {
79 // --- debug log (in method) ---
80 if (logger.isDebugEnabled()) {
81 StringBuffer buf = new StringBuffer();
82 buf.append("ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in ");
83 buf.append("request=(" + request + "), ");
84 buf.append("response=(" + response + ")");
85 logger.debug("11301 " + buf.toString());
86 request.setCharacterEncoding("UTF-8");
87 Enumeration keys = request.getParameterNames();
89 while (keys.hasMoreElements()) {
90 if (post.length() != 0)
92 String key = (String) keys.nextElement();
93 post += key + "=" + request.getParameter(key);
95 logger.debug("11302 PostData=\"" + post + "\"");
97 // --- debug log (in method) ---
99 // check login session
100 super.doPost(request, response);
102 HttpSession session = request.getSession(false);
103 if (login == false || session == null) {
104 if (session != null) {
105 MessageView error = new MessageView(41073, LogCategorySet.GUI_USER_AUTHENTICATION,
106 Message.INVALID_SESSSION);
107 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
109 response.sendRedirect(RedirectPages.LOGIN);
110 // --- debug log (out method) ---
111 if (logger.isDebugEnabled()) {
112 logger.debug("11303 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
114 // --- debug log (out method) ---
118 L7guiFramework framework = new L7guiFramework();
119 ReplicationData rep = framework.getReplicationData();
121 MessageView error = new MessageView(41074, LogCategorySet.GUI_IO_FILE,
122 Message.UNEXPECTED_ERROR);
123 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
124 response.sendRedirect(RedirectPages.LOGIN);
125 // --- debug log (out method) ---
126 if (logger.isDebugEnabled()) {
127 logger.debug("11304 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
129 // --- debug log (out method) ---
133 request.setCharacterEncoding("UTF-8");
134 String str_repInterval = request.getParameter("rep_interval");
135 String str_beforeRepData = Integer.toString(rep.interval);
137 boolean validationFrag = validationCheck(session, str_repInterval, rep);
138 if (validationFrag == false ){
139 session.setAttribute(SessionKeys.INPUT_REP, rep);
140 MessageView error = new MessageView(21040, LogCategorySet.GUI_REPLICATION,
141 Message.INVALID_VALUE);
142 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
143 response.sendRedirect(RedirectPages.REPLICATION_MODIFY);
144 // --- debug log (out method) ---
145 if (logger.isDebugEnabled()) {
146 logger.debug("11305 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
148 // --- debug log (out method) ---
152 CommandExecuter thread = new CommandExecuter(session);
157 String button_mode = request.getParameter("button");
159 // button mode : save
160 if (button_mode != null && button_mode.equals(ButtonMode.SAVE)) {
161 mode = ExecuteMode.REP_INFO_SAVE;
162 redirectPage = RedirectPages.REPLICATION_INFO_EXECUTIVE;
164 // button mode : save and sync
165 else if (button_mode != null && button_mode.equals(ButtonMode.SAVESYNC)) {
166 mode = ExecuteMode.REP_INFO_SAVESYNC;
167 redirectPage = RedirectPages.SAVE_SYNC_EXECUTIVE;
169 SessionTransData trans = new SessionTransData();
170 trans.sourceURI = RedirectPages.REPLICATION_MODIFY;
171 trans.destURI = RedirectPages.REPLICATION_INFO;
172 trans.errorURI = RedirectPages.REPLICATION_MODIFY_NG;
173 session.setAttribute(SessionKeys.PAGE_TRANSDATA, trans);
176 MessageView error = new MessageView(41075, LogCategorySet.GUI_REPLICATION,
177 Message.UNEXPECTED_ERROR);
178 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
179 response.sendRedirect(RedirectPages.LOGIN);
180 // --- debug log (out method) ---
181 if (logger.isDebugEnabled()) {
182 logger.debug("11306 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
184 // --- debug log (out method) ---
189 thread.setExecute(mode, rep);
194 MessageView error = new MessageView(41076, LogCategorySet.GUI_REPLICATION,
195 Message.UNEXPECTED_ERROR);
196 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
197 response.sendRedirect(RedirectPages.LOGIN);
198 // --- debug log (out method) ---
199 if (logger.isDebugEnabled()) {
200 logger.debug("11307 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
202 // --- debug log (out method) ---
206 session.setAttribute(SessionKeys.BEFORE_REP_TIME, str_beforeRepData);
207 String str_afterRepData = Integer.toString(rep.interval);
208 session.setAttribute(SessionKeys.AFTER_REP_TIME, str_afterRepData);
209 response.sendRedirect(redirectPage);
210 // --- debug log (out method) ---
211 if (logger.isDebugEnabled()) {
212 logger.debug("11308 ReplicationInfoChangeServlet::doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException out");
214 // --- debug log (out method) ---
220 * <p> validationCheck method</p>
223 * @param str_repInterval
227 protected boolean validationCheck(HttpSession session, String str_repInterval, ReplicationData rep ){
228 // --- debug log (in method) ---
229 if (logger.isDebugEnabled()) {
230 StringBuffer buf = new StringBuffer();
231 buf.append("ReplicationInfoChangeServlet::validationCheck(HttpSession session, String str_repInterval, ReplicationData rep) in ");
232 buf.append("session=(" + session + "), ");
233 buf.append("str_repInterval=(" + str_repInterval + "), ");
234 buf.append("rep=(" + rep + ")");
235 logger.debug("11309 " + buf.toString());
237 // --- debug log (in method) ---
239 boolean validationFlag = true;
241 final int MIN_REP_INTERVAL = 10;
242 final int MAX_REP_INTERVAL = 10000;
245 if (session == null || rep == null) {
246 validationFlag = false;
247 } else if ( (str_repInterval == null) || str_repInterval.length() == 0){
248 session.setAttribute(SessionKeys.INVALID_MESSAGE, Message.REQUIED_ITEM);
249 validationFlag = false;
253 repInterval = Integer.parseInt(str_repInterval);
254 if ( (repInterval < MIN_REP_INTERVAL) || (repInterval > MAX_REP_INTERVAL) ) {
255 session.setAttribute(SessionKeys.INVALID_MESSAGE, Message.VALIDATION_ERROR);
256 validationFlag = false;
258 rep.interval = repInterval;
261 catch (NumberFormatException e) {
262 session.setAttribute(SessionKeys.INVALID_MESSAGE, Message.VALIDATION_ERROR);
263 validationFlag = false;
267 // --- debug log (out method) ---
268 if (logger.isDebugEnabled()) {
269 logger.debug("11310 ReplicationInfoChangeServlet::validationCheck(HttpSession session, String str_repInterval, ReplicationData rep) out return=" + validationFlag);
271 // --- debug log (out method) ---
272 return validationFlag;