--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1" ?>\r
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"\r
+ pageEncoding="ISO-8859-1"%>\r
+<%--\r
+Author: Peter Troshin\r
+Date: May 2011\r
+--%>\r
+\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>\r
+<%@ taglib uri="http://displaytag.sf.net" prefix="dt" %>\r
+\r
+ \r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />\r
+<title>Cluster usage per user</title>\r
+<style type="text/css" media="all">\r
+ @import url("${pageContext.request.contextPath}/statpages/screen.css");\r
+</style>\r
+<link rel="stylesheet" href="${pageContext.request.contextPath}/statpages/print.css" type="text/css" media="print" />\r
+\r
+</head>\r
+<body>\r
+\r
+\r
+<dt:table class="its" id="job" name="${stat.jobs}" export="true" sort="list" pagesize="100" \r
+defaultsort="0" defaultorder="descending">\r
+ <dt:column title="JobID" sortable="true">\r
+ <c:choose>\r
+ <c:when test="${fn:startsWith(job.jobname,'@')}">\r
+ <a href="${pageContext.request.contextPath}/${clusterTemp}/${job.escJobname}">${job.jobname}</a>\r
+ </c:when>\r
+ <c:otherwise>\r
+ <a href="${pageContext.request.contextPath}/${localTemp}/${job.escJobname}">${job.jobname}</a>\r
+ </c:otherwise>\r
+ </c:choose>\r
+ </dt:column>\r
+ <dt:column property="clusterJobId" title="Cluster JobID" sortable="true"></dt:column>\r
+ <dt:column property="inputSize" title="Input Size (Kb)" sortable="true"></dt:column>\r
+ <dt:column property="resultSize" title="Result Size (Kb)" sortable="true"></dt:column>\r
+ <dt:column property="runtime" title="Runtime (s)" sortable="true"></dt:column>\r
+ <dt:column property="start" title="Start time" sortable="true"></dt:column>\r
+ <dt:column property="finish" title="Finish time" sortable="true"></dt:column> \r
+ \r
+ <dt:column title="isCancelled" sortable="true">\r
+ ${job.isCancelled}\r
+ </dt:column> \r
+ <dt:column title="isCollected" sortable="true">\r
+ ${job.isCollected} \r
+ </dt:column>\r
+ <dt:column property="isFinished" title="isFinished?" sortable="true"></dt:column> \r
+\r
+ \r
+ <dt:setProperty name="export.pdf" value="true"/>\r
+ <dt:setProperty name="paging.banner.group_size" value="15" />\r
+ <dt:setProperty name="export.decorated" value="false" />\r
+ <dt:setProperty name="export.pdf.include_header" value="true" />\r
+ <dt:setProperty name="export.excel.include_header" value="true" />\r
+ <dt:setProperty name="export.csv.include_header" value="true" />\r
+ <dt:setProperty name="export.amount" value="list" /> <!-- set list if want to export all -->\r
+ <dt:setProperty name="paging.banner.item_name" value="Job" />\r
+ <dt:setProperty name="paging.banner.items_name" value="Jobs" />\r
+ <dt:setProperty name="sort.amount" value="list" /> <!-- set page if want to sort only first page before viewing -->\r
+\r
+</dt:table>\r
+\r
+<%--\r
+\r
+<form action="" method="post">\r
+ <input name="field1" maxlength="" title="" type="text"/>\r
+ <input name="field2" maxlength="" title="" type="text"/>\r
+ <textarea name="field3" cols="10" rows="10" title="" />\r
+ <input type="submit" name="Submit"/>\r
+</form>\r
+ --%>\r
+ \r
+</body>\r
+</html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1" ?>\r
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"\r
+ pageEncoding="ISO-8859-1"%>\r
+<%--\r
+Author: Peter Troshin\r
+Date: May 2011\r
+--%>\r
+\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>\r
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>\r
+<%@ taglib uri="http://displaytag.sf.net" prefix="dt" %>\r
+\r
+ \r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />\r
+<title>Cluster usage per user</title>\r
+<style type="text/css" media="all">\r
+ @import url("statpages/screen.css");\r
+</style>\r
+<link rel="stylesheet" href="statpages/print.css" type="text/css" media="print" />\r
+\r
+</head>\r
+<body>\r
+\r
+<div id="wrapper">\r
+<h2>All jobs</h2>\r
+<table style="border: 1px solid red; border-collapse: separate;"> \r
+<tr>\r
+<th rowspan="2">Web Service</th>\r
+<th colspan="3" style="text-align: center">Number of Jobs</th>\r
+</tr>\r
+<tr>\r
+<th>Total</th>\r
+<th>Incomplete</th>\r
+<th>Cancelled</th>\r
+<th>Failed</th>\r
+<th>Abandoned</th>\r
+</tr>\r
+<c:set var="count"></c:set>\r
+<c:forEach items="${stat}" var="ws" >\r
+<tr>\r
+<td>${ws.key}</td>\r
+<td><a href="Joblist?ws=${ws.key}&where=everywhere&type=all&from=${startDate}&to=${stopDate}">${ws.value.jobNumber}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=everywhere&type=incomplete&from=${startDate}&to=${stopDate}">${fn:length(ws.value.incompleteJobs)}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=everywhere&type=cancelled&from=${startDate}&to=${stopDate}">${fn:length(ws.value.cancelledJobs)}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=everywhere&type=failed&from=${startDate}&to=${stopDate}">${fn:length(ws.value.failedJobs)}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=everywhere&type=abandoned&from=${startDate}&to=${stopDate}">${fn:length(ws.value.abandonedJobs)}</a></td>\r
+</tr>\r
+</c:forEach>\r
+<tr>\r
+<td>Total:</td>\r
+<td>${statTotal.total}</td>\r
+<td>${statTotal.incomplete}</td>\r
+<td>${statTotal.cancelled}</td>\r
+<td>${statTotal.failed}</td>\r
+<td>${statTotal.abandoned}</td>\r
+</tr>\r
+\r
+</table>\r
+\r
+<h2>Local jobs</h2>\r
+<table style="border: 1px solid red; border-collapse: separate;"> \r
+<tr>\r
+<th rowspan="2">Web Service</th>\r
+<th colspan="3" style="text-align: center">Number of Jobs</th>\r
+</tr>\r
+<tr>\r
+<th>OK </th>\r
+<th>Unfinished</th>\r
+<th>Cancelled</th>\r
+</tr>\r
+\r
+<c:forEach items="${statLocal}" var="ws" >\r
+<tr>\r
+<td>${ws.key}</td>\r
+<td><a href="Joblist?ws=${ws.key}&where=local&type=all&from=${startDate}&to=${stopDate}">${ws.value.jobNumber}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=local&type=incomplete&from=${startDate}&to=${stopDate}">${fn:length(ws.value.incompleteJobs)}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=local&type=cancelled&from=${startDate}&to=${stopDate}">${fn:length(ws.value.cancelledJobs)}</a></td>\r
+</tr>\r
+</c:forEach>\r
+</table>\r
+\r
+<h2>Cluster jobs</h2>\r
+<table style="border: 1px solid red; border-collapse: separate;"> \r
+<tr>\r
+<th rowspan="2">Web Service</th>\r
+<th colspan="3" style="text-align: center">Number of Jobs</th>\r
+</tr>\r
+<tr>\r
+<th>OK </th>\r
+<th>Unfinished</th>\r
+<th>Cancelled</th>\r
+</tr>\r
+\r
+<c:forEach items="${statCluster}" var="ws" >\r
+<tr>\r
+<td>${ws.key}</td>\r
+<td><a href="Joblist?ws=${ws.key}&where=cluster&type=all&from=${startDate}&to=${stopDate}">${ws.value.jobNumber}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=cluster&type=incomplete&from=${startDate}&to=${stopDate}">${fn:length(ws.value.incompleteJobs)}</a></td>\r
+<td><a href="Joblist?ws=${ws.key}&where=cluster&type=cancelled&from=${startDate}&to=${stopDate}">${fn:length(ws.value.cancelledJobs)}</a></td>\r
+</tr>\r
+</c:forEach>\r
+</table>\r
+\r
+</div><!-- Wrapper end -->\r
+\r
+<%--\r
+<dt:table class="its" id="order" name="${stat.abandonedJobs}" export="true" sort="list" pagesize="-1" \r
+defaultsort="2" defaultorder="descending">\r
+ <dt:column property="jobname" sortable="true"></dt:column>\r
+</dt:table>\r
+\r
+<form action="" method="post">\r
+ <input name="field1" maxlength="" title="" type="text"/>\r
+ <input name="field2" maxlength="" title="" type="text"/>\r
+ <textarea name="field3" cols="10" rows="10" title="" />\r
+ <input type="submit" name="Submit"/>\r
+</form>\r
+ --%>\r
+</body>\r
+</html>
\ No newline at end of file
--- /dev/null
+/* alternative styles */
+table.its thead tr {
+ background-color: #69c;
+}
+
+table.its tr.even {
+ background-color: #def;
+}
+
+table.mars thead tr {
+ background-color: #9c9;
+}
+
+table.mars tr.even {
+ background-color: #ccb;
+}
+
+table.mars tr.odd {
+ background-color: #eec;
+}
+
+table.simple thead tr th {
+ background-color: #eee;
+}
+
+table.simple tr.even {
+ background-color: #fff;
+}
+
+table.simple {
+ border: 1px solid #ccc;
+ border-collapse: collapse;
+}
+
+table.simple td,table.simple th {
+ border: 1px solid #ccc;
+}
+
+table.nocol tbody td,table.nocol tbody th {
+ border-left: none;
+ border-right: none;
+}
+
+table.report td,table.report th {
+ font: menu;
+}
+
+table.report th {
+ background: buttonface;
+ border-width: 1px;
+ border-style: solid;
+ border-color: threedhighlight threedshadow threedshadow threedhighlight;
+ cursor: hand;
+}
+
+table.report idcol {
+ background: buttonface;
+}
+
+table.report tr.even {
+ background-color: #399;
+}
+
+table.report tbody {
+ height: 100px;
+ overflow: auto;
+}
+
+table.report {
+ height: 120px;
+ overflow: auto;
+}
+
+table.report tbody tr {
+ height: 10px;
+}
+
+table.mark td.tableCellError {
+ background-color: #d00;
+ color: #fff;
+}
+
+table.simple td.textRed {
+ color: #b11;
+}
\ No newline at end of file
--- /dev/null
+table {
+ border: 1px solid #666;
+ width: 80%;
+ margin: 20px 0 20px 0 !important;
+}
+
+th,td {
+ padding: 2px 4px 2px 4px !important;
+ text-align: left;
+ vertical-align: top;
+}
+
+thead tr {
+ background-color: #fc0;
+}
+
+th.sorted {
+ background-color: orange;
+}
+
+th a,th a:visited {
+ color: black;
+}
+
+th a:hover {
+ text-decoration: underline;
+ color: black;
+}
+
+th.sorted a,th.sortable a {
+ background-position: right;
+ display: block;
+ width: 100%;
+}
+
+th.sortable a {
+ background-image: url(img/arrow_off.png);
+}
+
+th.order1 a {
+ background-image: url(img/arrow_down.png);
+}
+
+th.order2 a {
+ background-image: url(img/arrow_up.png);
+}
+
+tr.odd {
+ background-color: #fff
+}
+
+tr.tableRowEven,tr.even {
+ background-color: #fea
+}
+
+div.exportlinks {
+ background-color: #eee;
+ border: 1px dotted #999;
+ padding: 2px 4px 2px 4px;
+ margin: 2px 0 10px 0;
+ width: 79%;
+}
+
+span.export {
+ padding: 0 4px 1px 20px;
+ display: inline;
+ display: inline-block;
+ cursor: pointer;
+}
+
+span.excel {
+ background-image: url(img/ico_file_excel.png);
+}
+
+span.csv {
+ background-image: url(img/ico_file_csv.png);
+}
+
+span.xml {
+ background-image: url(img/ico_file_xml.png);
+}
+
+span.pdf {
+ background-image: url(img/ico_file_pdf.png);
+}
+
+span.rtf {
+ background-image: url(img/ico_file_rtf.png);
+}
+
+span.pagebanner {
+ background-color: #eee;
+ border: 1px dotted #999;
+ padding: 2px 4px 2px 4px;
+ width: 79%;
+ margin-top: 10px;
+ display: block;
+ border-bottom: none;
+}
+
+span.pagelinks {
+ background-color: #eee;
+ border: 1px dotted #999;
+ padding: 2px 4px 2px 4px;
+ width: 79%;
+ display: block;
+ border-top: none;
+ margin-bottom: -5px;
+}
+
+
+.group-1 {
+ font-weight:bold;
+ padding-bottom:10px;
+ border-top:1px solid black;
+}
+.group-2 {
+ font-style:italic;
+ border-top: 1px solid black;
+
+}
+.subtotal-sum, .grandtotal-sum {
+ font-weight:bold;
+ text-align:right;
+}
+.subtotal-header {
+ padding-bottom: 0px;
+ border-top: 1px solid white;
+}
+.subtotal-label, .grandtotal-label {
+ border-top: 1px solid white;
+ font-weight: bold;
+}
+.grouped-table tr.even {
+ background-color: #fff;
+}
+.grouped-table tr.odd {
+ background-color: #fff;
+}
+.grandtotal-row {
+ border-top: 2px solid black;
+}
--- /dev/null
+<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page">
+ <jsp:text>
+ <![CDATA[</div></div></div>]]>
+ </jsp:text>
+
+
+ <div class="clear">
+ <hr />
+ </div>
+ <div id="footer">
+
+
+ <div class="xright">© 2002-2006 the Displaytag team</div>
+ <div class="clear">
+ <hr />
+ </div>
+ </div>
+
+
+
+ <jsp:text>
+ <![CDATA[</body></html>]]>
+ </jsp:text>
+</jsp:root>
--- /dev/null
+<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="urn:jsptld:http://java.sun.com/jstl/core">
+ <jsp:directive.page contentType="text/html; charset=UTF-8" />
+ <jsp:text>
+ <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">]]>
+ </jsp:text>
+ <jsp:text>
+ <![CDATA[<html xmlns="http://www.w3.org/1999/xhtml" lang="en">]]>
+ </jsp:text>
+ <head>
+ <title>
+ The
+ <![CDATA[<display:*>]]>
+ tag library
+ </title>
+ <meta http-equiv="Expires" content="-1" />
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Cache-Control" content="no-cache" />
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <style type="text/css" media="all">
+ @import url("css/maven-base.css"); @import url("css/maven-theme.css"); @import url("css/site.css"); @import
+ url("css/screen.css");
+ </style>
+ <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+ </head>
+ <jsp:text>
+ <![CDATA[<body class="composite">]]>
+ </jsp:text>
+ <div id="banner">
+ <a href="index.jsp" id="bannerRight">
+ <img src="img/displaytag.png" alt="" />
+ </a>
+ <div class="clear">
+ <hr />
+ </div>
+ </div>
+ <div id="breadcrumbs">
+ <div class="xright">
+ <a href="http://displaytag.sf.net">Documentation</a>
+ |
+ <a href="index.jsp">Examples</a>
+ </div>
+ <div class="clear">
+ <hr />
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+ <h5>Examples</h5>
+ <ul>
+ <li>
+ <a href="example-nocolumns.jsp">Simplest case, no columns</a>
+ </li>
+ <li>
+ <a href="example-columns.jsp">Columns</a>
+ </li>
+ <li>
+ <a href="example-styles.jsp">Styles</a>
+ </li>
+ <li>
+ <a href="example-datasource.jsp">Acquiring your List of data</a>
+ </li>
+ <li>
+ <a href="example-imp-objects.jsp">Implicit objects</a>
+ </li>
+ <li>
+ <a href="example-subsets.jsp">Showing subsets of data</a>
+ </li>
+ <li>
+ <a href="example-autolink.jsp">Smart linking</a>
+ </li>
+ <li>
+ <a href="example-decorator.jsp">Using decorators</a>
+ </li>
+ <li>
+ <a href="example-decorator-link.jsp">Creating dynamic links</a>
+ </li>
+ <li>
+ <a href="example-paging.jsp">Auto-paging of long lists</a>
+ </li>
+ <li>
+ <a href="example-sorting.jsp">Auto-sorting by columns</a>
+ </li>
+ <li>
+ <a href="example-grouping.jsp">Column grouping</a>
+ </li>
+ <li>
+ <a href="example-callbacks.jsp">Using callbacks for totals</a>
+ </li>
+ <li>
+ <a href="example-export.jsp">Data exporting</a>
+ </li>
+ <li>
+ <a href="example-config.jsp">Config, overriding default</a>
+ </li>
+ <li>
+ <a href="example-pse.jsp">All the features together</a>
+ </li>
+ <li>
+ <a href="example-twotables.jsp">More tables on one page</a>
+ </li>
+ <li>
+ <a href="example-nestedtables.jsp">Nested tables</a>
+ </li>
+ <li>
+ <a href="example-caption-footer.jsp">Caption and footer</a>
+ </li>
+ <li>
+ <a href="example-misc.jsp">Misc, odds and ends</a>
+ </li>
+ <li>
+ <a href="example-new-export.jsp">WYSIWYG data exporting</a>
+ </li>
+ <li>
+ <a href="example-format.jsp">Using format</a>
+ </li>
+ <li>
+ <a href="example-columnlist.jsp">Dynamic Column Creation</a>
+ </li>
+ <li>
+ <a href="example-rowclass.jsp">Row highlighting</a>
+ </li>
+ <li>
+ <a href="example-columnsummation.jsp">Column Summation</a>
+ </li>
+ <li>
+ <a href="example-keepstatus.jsp">Preserve pagination status</a>
+ </li>
+ <li>
+ <a href="example-checkboxes.jsp">Posting forms (checkboxes)</a>
+ </li>
+ </ul>
+ <a href="http://validator.w3.org/check?uri=referer" id="poweredBy">
+ <img src="img/valid-xhtml10.png" alt="Valid XHTML 1.0!" height="31" width="88" style="border:none" />
+ </a>
+ </div>
+ </div>
+ <jsp:scriptlet>if (request.getRequestURI().indexOf("example-") != -1) {</jsp:scriptlet>
+ <ul id="showsource">
+ <li><![CDATA[<a href="]]><c:out value="${pageContext.request.requestURI}" />
+ <![CDATA[.source">View source</a>]]></li>
+ </ul>
+ <jsp:scriptlet>}</jsp:scriptlet>
+ <jsp:text>
+ <![CDATA[<div id="bodyColumn">
+ <div id="contentBox">
+ <div class="section">]]>
+ </jsp:text>
+</jsp:root>
--- /dev/null
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+ display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+ margin: 0 !important;
+ border: none !important
+}
--- /dev/null
+@import url("displaytag.css");
+
+@import url("alternative.css");
+
+
+body,input,select,td,textarea {
+ font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+}
+
+h4,h5,h6,p,strong,div,form,acronym,label,table,td,th,span,a,hr,code,pre,hr
+ {
+ margin: 0;
+ padding: 0;
+ font-size: 1em;
+ background-repeat: no-repeat;
+ list-style-type: none;
+}
+
+a,a:visited,a:hover {
+ color: #666;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+img {
+ border: none;
+}
+
+table hr {
+ height: 1px;
+ clear: both;
+ margin: none;
+ width: 100%;
+}
+
+textarea {
+ width: 80%;
+ height: 200px;
+}
+
+dt {
+ font-weight: bold;
+}
+
+acronym {
+ border-bottom: 1px dashed #000;
+ cursor: help;
+}
+
+ul#stylelist {
+ margin: 0 0 20px 0;
+ height: 20px;
+ padding: 0;
+}
+
+ul#stylelist li {
+ list-style-type: none;
+ float: left;
+ width: 100px;
+ border: 1px solid #ccc;
+ background-color: #eee;
+ padding: 2px;;
+ float: left;
+ width: 100px;
+ border: 1px solid #ccc;
+ background-color: #eee;
+ padding: 2px;
+ margin: 0 2px 0 0;
+}
+
+ul#showsource {
+ float: right;
+ padding: 0;
+ margin: 15px 20px 0 0;
+ width: 100px;
+ height: 33px;
+ list-style-type: none;
+ background-image: url("/img/viewsource.png");
+ background-repeat: no-repeat;
+ margin-bottom: -30px;
+ text-align: center;
+ line-height: 30px;
+ font-weight: bold;
+}
+
+ul#showsource a,ul#showsource a:visited {
+ font-size: 11px;
+ font-family: verdana;
+ color: #fff;
+}
+
+table.sublist {
+ margin: 0 0 0 0;
+ width: 100%;
+}
+
+table.sublist td,table.sublist th {
+ width: 50%;
+}
+
+code {
+ background-color: #eee;
+ padding: 0 2px 0 2px;
+}
+
+hr {
+ height: 1px;
+ color: #fff;
+ border: none;
+ border-top: 1px dotted #ccc;
+ margin: 20px 0 20px 0;
+ width: 50%;
+}
\ No newline at end of file