1 <%@ page import="org.ultramonkey.l7.model.*,org.ultramonkey.l7.controller.*,org.ultramonkey.l7.view.*,java.util.*"
2 language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
7 L7guiServletBase base = new L7guiServletBase();
8 if (session.isNew() || base.checkSession(session) == false) {
9 MessageView error = new MessageView(41407, LogCategorySet.GUI_USER_AUTHENTICATION,
10 Message.INVALID_SESSSION);
11 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
12 response.sendRedirect(RedirectPages.LOGIN);
18 * get l7vsadm data from L7guiFramework
20 L7guiFramework framework = new L7guiFramework();
21 L7vsAdmData admDataList = framework.getAdmData();
22 if (admDataList == null) {
23 MessageView error = new MessageView(41408, LogCategorySet.GUI_VIRTUALSERVICE,
24 Message.UNEXPECTED_ERROR);
25 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
26 response.sendRedirect(RedirectPages.LOGIN);
32 * get l7directrod.cf data
34 DirectorData dd = framework.getDirectorData();
36 MessageView error = new MessageView(41409, LogCategorySet.GUI_IO_FILE,
37 Message.DIRECTOR_DATA_ERROR);
38 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
39 response.sendRedirect(RedirectPages.LOGIN);
46 ClusterData cd = framework.getClusterData();
48 MessageView error = new MessageView(41410, LogCategorySet.GUI_IO_COMMAND,
49 Message.CLUSTER_DATA_ERROR);
50 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
51 response.sendRedirect(RedirectPages.LOGIN);
58 String cssSeat = "l7gui_single_style.css";
59 if ( cd.self_status == ClusterStatus.ACTIVE ){
60 cssSeat = "l7gui_act_style.css";
62 else if ( cd.self_status == ClusterStatus.STANDBY ){
63 cssSeat = "l7gui_sby_style.css";
66 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
69 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
70 <meta http-equiv="Pragma" content="no-cache">
71 <meta http-equiv="Cache-Control" content="no-cache">
72 <meta http-equiv="Expires" content="0">
73 <meta http-equiv="Content-Script-Type" content="text/javascript" />
74 <meta http-equiv="Content-Style-Type" content="text/css" />
75 <script src="l7gui.js" type="text/javascript"></script>
77 <meta http-equiv="refresh" content="<%= RedirectPages.NOSCRIPT_TIME %>; url=<%= RedirectPages.LOGIN %>"/>
79 <link rel="stylesheet" type="text/css" href="<%= cssSeat %>" />
80 <link rel="shortcut icon" href="images/favicon.ico"/>
82 <title>UltraMonkey-L7 Current Status</title>
89 <h1>VirtualService Current Status</h1>
91 if ( (cd.self_status.equals(ClusterStatus.ACTIVE)) || (cd.self_status.equals(ClusterStatus.SINGLE) )){
93 MessageView mv = (MessageView) session.getAttribute(SessionKeys.RESULT_MESSAGE);
94 String message = null;
96 String category = null;
99 message = mv.getMessage();
100 errno = mv.getErrno();
101 category = mv.getCategory();
102 if ( message != null){
103 out.println("<p class=\"error\">[" + category + "-" + errno + "] </p>" );
104 out.println("<p class=\"error\">" + message + "</p>");
106 session.setAttribute(SessionKeys.RESULT_MESSAGE,null);
112 MessageView mvCommand = (MessageView) session.getAttribute(SessionKeys.COMMAND_MESSAGE);
113 String commandMessage = null;
114 int commandErrno = 0;
115 String commandCategory = null;
116 if (mvCommand != null) {
117 commandMessage = mvCommand.getMessage();
118 commandErrno = mvCommand.getErrno();
119 commandCategory = mvCommand.getCategory();
120 if ( commandMessage != null ){
121 out.println("<p class=\"success\">[" + commandCategory + "-" + commandErrno + "] </p>" );
122 out.println("<p class=\"success\">" + commandMessage + "</p>");
124 session.setAttribute(SessionKeys.COMMAND_MESSAGE,null);
128 <form method="post" action="VSRemoveServlet" name="vs_info" id="vs_info">
131 * get VirtualService data from L7guiFramework
133 Vector<VirtualSetting> vsList = new Vector<VirtualSetting>();
134 vsList = admDataList.virtualSettings;
135 ArrayList<String> vsNameList = new ArrayList<String>();
139 String vsPort = null;
140 String vsProtomod = null;
141 String vsOption = null;
142 String vsSchedule = null;
144 String rsPort = null;
146 long activeConnections = 0;
147 long inactiveConnections = 0;
148 String vsSorryFlag = null;
150 if (vsList.size() > 0) {
153 <legend>Virtual Service List</legend>
154 <table class="infotable" cellspacing="0">
156 <th class="point" rowspan="2">
157 <label for="Remove Modify Check">Remove/<br />Modify CHECK</label>
159 <th class="head" colspan="5">
160 <label for="VirtualService">VirtualService</label>
162 <th class="head" colspan="5">
163 <label for="RealServices">RealServer</label>
166 <label for="SorryFlag">Sorry Flag</label>
171 <label for="VirtualIP Address">VirtualIP Address</label>
174 <label for="Port Number">Port Number</label>
177 <label for="Persistence Type">Persistence Type</label>
180 <label for="Module option">Module Option</label>
183 <label for="Scheduler Type">Scheduler Type</label>
186 <label for="RealServer IP Address">IP Address</label>
189 <label for="RealServer Port Number">Port Number</label>
192 <label for="RealServer weight">Weight</label>
195 <label for="ActiveConnections">Active Connections</label>
198 <label for="InactiveConnections">Inactive Connections</label>
202 for (int i = 0; i < vsList.size(); i++) {
204 VirtualSetting getVirtualSetting = vsList.get(i);
206 vsIp = getVirtualSetting.virtual.host;
207 vsPort = getVirtualSetting.virtual.port;
208 vsProtomod = getVirtualSetting.protomod;
209 vsOption = getVirtualSetting.option;
210 vsSchedule = getVirtualSetting.sched;
212 Vector<EndPoint> getRsList =getVirtualSetting.real;
213 int rsNumber = getRsList.size();
218 boolean vsSorry = getVirtualSetting.sorryflag;
220 if ( (vsIp == null) || (vsProtomod == null) || (vsOption == null) ){
221 MessageView error = new MessageView(41411, LogCategorySet.GUI_VIRTUALSERVICE,
222 Message.UNEXPECTED_ERROR);
223 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
224 response.sendRedirect(RedirectPages.LOGIN);
227 vsNameList.add(vsIp + ":" + vsPort + ":" + vsProtomod + ":" + vsOption);
231 <td class="point" rowspan="<%=rsNumber %>"><input type="radio" name= "vs" value="<%=vsNameList.get(i) %>" /></td>
232 <td class="center" rowspan="<%=rsNumber %>"><%=vsIp%></td>
233 <td class="center" rowspan="<%=rsNumber %>"><%=vsPort%></td>
234 <td class="center" rowspan="<%=rsNumber %>"><%=vsProtomod%></td>
235 <td class="center" rowspan="<%=rsNumber %>"><%=vsOption%></td>
236 <td class="point" rowspan="<%=rsNumber %>"><%=vsSchedule%></td>
240 <td class="center">-</td>
241 <td class="center">-</td>
242 <td class="center">-</td>
243 <td class="center">-</td>
244 <td class="point">-</td>
248 EndPoint getRs = getRsList.get(0);
251 rsWeight = getRs.weight;
252 activeConnections = getRs.actConn;
253 inactiveConnections = getRs.inActConn;
255 <td class="center"><%=rsIP%></td>
256 <td class="center"><%=rsPort%></td>
257 <td class="center"><%=rsWeight%></td>
258 <td class="center"><%=activeConnections%></td>
259 <td class="point"><%=inactiveConnections%></td>
269 <td class="center" rowspan="<%=rsNumber %>"><%=vsSorryFlag %></td>
272 for ( int j = 1; j < rsNumber; j++ ){
273 EndPoint addedGetRs = getRsList.get(j);
274 rsIP = addedGetRs.host;
275 rsPort = addedGetRs.port;
276 rsWeight = addedGetRs.weight;
277 activeConnections = addedGetRs.actConn;
278 inactiveConnections = addedGetRs.inActConn;
281 <td class="center"><%=rsIP%></td>
282 <td class="center"><%=rsPort%></td>
283 <td class="center"><%=rsWeight%></td>
284 <td class="center"><%=activeConnections%></td>
285 <td class="point"><%=inactiveConnections%></td>
292 }catch(NullPointerException e){
293 MessageView error = new MessageView(41412, LogCategorySet.GUI_VIRTUALSERVICE,
294 Message.UNEXPECTED_ERROR);
295 session.setAttribute(SessionKeys.RESULT_MESSAGE, error);
296 response.sendRedirect(RedirectPages.LOGIN);
307 <h2>Add a New VirtualService</h2>
308 <h4>Please push the following button, if you would like to add a new virtualService.</h4><br />
310 <input type="button" value="<%= ButtonMode.ADD %>" onclick="location.href='<%=RedirectPages.VS_ADD %>'" />
313 if (vsList.size() > 0) {
315 <h2>Modify a VirtualService</h2>
316 <h4>Please select and push the following button, if you would like to modify a virtualService.</h4><br />
318 <input type="button" value="<%= ButtonMode.MODIFY %>" onClick="vs_modify('<%=RedirectPages.VS_MODIFY %>')" />
320 <h2>Remove a VirtualService</h2>
321 <h4>Please select and push the following button, if you would like to remove a virtualService.</h4><br />
323 <input type="submit" name="button_remove" value="<%=ButtonMode.APPLY %>" onClick="return confirm(remove_vs_apply)" />
325 if (dd.autoreload == true) {
327 <input type="submit" name="button_remove" value="<%=ButtonMode.SAVE %>" onClick="return confirm(remove_vs_save)" />
329 if (cd.self_status == ClusterStatus.ACTIVE || cd.self_status == ClusterStatus.STANDBY) {
331 <input type="submit" name="button_remove" value="<%=ButtonMode.SAVESYNC %>" onClick="return confirm(remove_vs_savesync)" />
342 response.sendRedirect(RedirectPages.TOPMENU);
348 <jsp:include page="menu.jsp" flush="false"/>