/** * CopyRight by Chinamobile * * PageService.java */ package com.chinamobile.bcbsp.fault.browse; import java.util.*; import com.chinamobile.bcbsp.fault.browse.MessageService; import com.chinamobile.bcbsp.fault.storage.Fault; public class PageService { private int pageNumber = 1; private String type; private String level; private String time; private String worker; private String key; private String month; public String getMonth() { return month; } public void setMonth(String month) { if (month == null) { this.month = ""; } else if (month.equals("null")) { this.month = ""; } else { this.month = month; } } public String getLevel() { return level; } public void setLevel(String level) { this.level = level; } public String getTime() { return time; } public void setTime(String time) { if (time == null) { this.time = ""; } else if (time.equals("null")) { this.time = ""; } else { this.time = time; } } public String getWorker() { return worker; } public void setWorker(String worker) { if (worker == null) { this.worker = ""; } else if (worker.equals("null")) { this.worker = ""; } else { this.worker = worker; } } public String getKey() { return key; } public void setKey(String key) { if (key == null) { this.key = ""; } else if (key.equals("null")) { this.key = ""; } else { this.key = key; } } public String getType() { return type; } public void setType(String type) { this.type = type; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public int getPageNumber() { return this.pageNumber; } public String getPageByType(String path) { MessageService service = new MessageService(); String monthNum = getMonth(); List<Fault> res; if (monthNum == null || monthNum.equals("") || monthNum.equals("null")) { res = service.getPageByType(pageNumber, type); } else { int month = Integer.valueOf(monthNum); if (month < 0 || month > 20) { res = service.getPageByType(pageNumber, type); } else { res = service.getPageByType(pageNumber, type, month); } } StringBuffer html = new StringBuffer(); html.append("<font size = '3' >"); html.append("<table frame = 'box' >"); html.append("<tr><td width='59' bgcolor='#78A5D1'>TIME</td><td width='59' bgcolor='#78A5D1'>TYPE</td><td width='59' bgcolor='#78A5D1'>LEVEL</td><td width='59' bgcolor='#78A5D1'>WORKER</td>"); html.append("<td width='59' bgcolor='#78A5D1'>JOBNAME</td><td width='59' bgcolor='#78A5D1'>STAFFNAME</td><td width='59' bgcolor='#78A5D1'>STATUS</td><td width='59' bgcolor='#78A5D1'>EXCEPTIONMESSAGE</td></tr>"); if (res.size() == 0) { html.append("</table>"); html.append("<label>no such records</label>"); html.append("</font>"); return html.toString(); } for (int i = 0; i < res.size(); i++) { Fault fault = res.get(i); html.append("<tr>"); html.append("<td>" + fault.getTimeOfFailure() + "</td>"); html.append("<td>" + fault.getType() + "</td>"); html.append("<td>" + fault.getLevel() + "</td>"); html.append("<td>" + fault.getWorkerNodeName() + "</td>"); html.append("<td>" + fault.getJobName() + "</td>"); html.append("<td>" + fault.getStaffName() + "</td>"); html.append("<td>" + fault.isFaultStatus() + "</td>"); html.append("<td>" + fault.getExceptionMessage() + "</td>"); html.append("</tr>"); } int totalPages = service.getTotalPages(); html.append("<tr>"); if (pageNumber <= 1) { html.append("<td>first page</td>"); html.append("<td>previous page</td>"); html.append("<td><a href='" + path + "?pageNumber=" + 2 + "&type=" + getType() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&type=" + getType() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber > 1 && pageNumber < totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&type=" + getType() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&type=" + getType() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber + 1) + "&type=" + getType() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&type=" + getType() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber == totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&type=" + getType() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&type=" + getType() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td>next page</td>"); html.append("<td>last page</td>"); } html.append("<td>currentPage " + pageNumber + "</td>"); html.append("<td>TotalPage " + totalPages + "</td>"); html.append("</tr>"); html.append("</table>"); html.append("</font>"); return html.toString(); } public String getPageBykey(String path) { MessageService service = new MessageService(); String monthNum = getMonth(); List<Fault> res; if (monthNum == null || monthNum.equals("") || monthNum.equals("null")) { res = service.getPageByKey(pageNumber, key); } else { int month = Integer.valueOf(monthNum); if (month < 0 || month > 20) { res = service.getPageByKey(pageNumber, key); } else { res = service.getPageByKey(pageNumber, key, month); } } StringBuffer html = new StringBuffer(); html.append("<font size = '3' >"); html.append("<table frame = 'box' >"); html.append("<tr><td width='59' bgcolor='#78A5D1'>TIME</td><td width='59' bgcolor='#78A5D1'>TYPE</td><td width='59' bgcolor='#78A5D1'>LEVEL</td><td width='59' bgcolor='#78A5D1'>WORKER</td>"); html.append("<td width='59' bgcolor='#78A5D1'>JOBNAME</td><td width='59' bgcolor='#78A5D1'>STAFFNAME</td><td width='59' bgcolor='#78A5D1'>STATUS</td><td width='59' bgcolor='#78A5D1'>EXCEPTIONMESSAGE</td></tr>"); if (res.size() == 0) { html.append("</table>"); html.append("<label>no such records</label>"); html.append("</font>"); return html.toString(); } for (int i = 0; i < res.size(); i++) { Fault fault = res.get(i); html.append("<tr>"); html.append("<td>" + fault.getTimeOfFailure() + "</td>"); html.append("<td>" + fault.getType() + "</td>"); html.append("<td>" + fault.getLevel() + "</td>"); html.append("<td>" + fault.getWorkerNodeName() + "</td>"); html.append("<td>" + fault.getJobName() + "</td>"); html.append("<td>" + fault.getStaffName() + "</td>"); html.append("<td>" + fault.isFaultStatus() + "</td>"); html.append("<td>" + fault.getExceptionMessage() + "</td>"); html.append("</tr>"); } int totalPages = service.getTotalPages(); html.append("<tr>"); if (pageNumber <= 1) { html.append("<td>first page</td>"); html.append("<td>previous page</td>"); html.append("<td><a href='" + path + "?pageNumber=" + 2 + "&key=" + getKey() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&key=" + getKey() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber > 1 && pageNumber < totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&key=" + getKey() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&key=" + getKey() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber + 1) + "&key=" + getKey() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&key=" + getKey() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber == totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&key=" + getKey() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&key=" + getKey() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td>next page</td>"); html.append("<td>last page</td>"); } html.append("<td>currentPage " + pageNumber + "</td>"); html.append("<td>TotalPage " + totalPages + "</td>"); html.append("</tr>"); html.append("</table>"); html.append("</font>"); return html.toString(); } public String getFirstPage() { StringBuffer html = new StringBuffer(); html.append("<font size = '3' >"); html.append("<table frame = 'box' >"); html.append("<tr><td width='59' bgcolor='#78A5D1'>TIME</td><td width='59' bgcolor='#78A5D1'>TYPE</td><td width='59' bgcolor='#78A5D1'>LEVEL</td><td width='59' bgcolor='#78A5D1'>WORKER</td>"); html.append("<td width='59' bgcolor='#78A5D1'>JOBNAME</td><td width='59' bgcolor='#78A5D1'>STAFFNAME</td><td width='59' bgcolor='#78A5D1'>STATUS</td><td width='59' bgcolor='#78A5D1'>EXCEPTIONMESSAGE</td></tr>"); html.append("</table>"); html.append("</font>"); return html.toString(); } public String getPageByKeys(String path) { String[] keys = { getType(), getTime(), getLevel(), getWorker() }; MessageService service = new MessageService(); String monthNum = getMonth(); List<Fault> res; if (monthNum == null || monthNum.equals("") || monthNum.equals("null")) { res = service.getPageByKeys(pageNumber, keys); } else { int month = Integer.valueOf(monthNum); if (month < 0 || month > 20) { res = service.getPageByKeys(pageNumber, keys); } else { res = service.getPageByKeys(pageNumber, keys, month); } } StringBuffer html = new StringBuffer(); html.append("<font size = '3' >"); html.append("<table frame = 'box' >"); html.append("<tr><td width='59' bgcolor='#78A5D1'>TIME</td><td width='59' bgcolor='#78A5D1'>TYPE</td><td width='59' bgcolor='#78A5D1'>LEVEL</td><td width='59' bgcolor='#78A5D1'>WORKER</td>"); html.append("<td width='59' bgcolor='#78A5D1'>JOBNAME</td><td width='59' bgcolor='#78A5D1'>STAFFNAME</td><td width='59' bgcolor='#78A5D1'>STATUS</td><td width='59' bgcolor='#78A5D1'>EXCEPTIONMESSAGE</td></tr>"); if (res.size() == 0) { html.append("</table>"); html.append("<label>no such records</label>"); html.append("</font>"); return html.toString(); } for (int i = 0; i < res.size(); i++) { Fault fault = res.get(i); html.append("<tr>"); html.append("<td>" + fault.getTimeOfFailure() + "</td>"); html.append("<td>" + fault.getType() + "</td>"); html.append("<td>" + fault.getLevel() + "</td>"); html.append("<td>" + fault.getWorkerNodeName() + "</td>"); html.append("<td>" + fault.getJobName() + "</td>"); html.append("<td>" + fault.getStaffName() + "</td>"); html.append("<td>" + fault.isFaultStatus() + "</td>"); html.append("<td>" + fault.getExceptionMessage() + "</td>"); html.append("</tr>"); } int totalPages = service.getTotalPages(); html.append("<tr>"); if (pageNumber <= 1) { html.append("<td>first page</td>"); html.append("<td>previous page</td>"); html.append("<td><a href='" + path + "?pageNumber=" + 2 + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber > 1 && pageNumber < totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber + 1) + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>next page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + totalPages + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>last page</a></td>"); } else if (pageNumber == totalPages) { html.append("<td><a href='" + path + "?pageNumber=" + 1 + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>first page</a></td>"); html.append("<td><a href='" + path + "?pageNumber=" + (pageNumber - 1) + "&type=" + getType() + "&level=" + getLevel() + "&time=" + getTime() + "&worker=" + getWorker() + "&month=" + getMonth() + "'>previous page</a></td>"); html.append("<td>next page</td>"); html.append("<td>last page</td>"); } html.append("<td>currentPage " + pageNumber + "</td>"); html.append("<td>TotalPage " + totalPages + "</td>"); html.append("</tr>"); html.append("</table>"); html.append("</font>"); return html.toString(); } }