Modified: 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/simplereport.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/simplereport.jsp?rev=1684303&r1=1684302&r2=1684303&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/simplereport.jsp
 (original)
+++ 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/simplereport.jsp
 Tue Jun  9 01:30:36 2015
@@ -2,789 +2,874 @@
 
 <%
 
-/* $Id$ */
+  /* $Id$ */
 
 /**
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-* 
-* http://www.apache.org/licenses/LICENSE-2.0
-* 
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-boolean maintenanceUnderway = 
org.apache.manifoldcf.crawler.system.ManifoldCF.checkMaintenanceUnderway();
-
-%>
-
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html>
-<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
-
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-       <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/>
-       <title>
-               
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.ApacheManifoldCFSimpleHistoryReport")%>
-       </title>
-
-       <script type="text/javascript">
-       <!--
-
-       function Go()
-       {
-               if (!isInteger(report.rowcount.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EnterALegalNumberForRowsPerPage")%>");
-                       report.rowcount.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportentitymatch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EntityMatchMustBeAValidRegularExpression")%>");
-                       report.reportentitymatch.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportresultcodematch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.ResultCodeMatchMustBeAValidRegularExpression")%>");
-                       report.reportresultcodematch.focus();
-                       return;
-               }
-               
-               document.report.op.value="Report";
-               document.report.action = document.report.action + "#MainButton";
-               document.report.submit();
-       }
-
-       function Continue()
-       {
-               if (!isRegularExpression(report.reportentitymatch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EntityMatchMustBeAValidRegularExpression")%>");
-                       report.reportentitymatch.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportresultcodematch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.ResultCodeMatchMustBeAValidRegularExpression")%>");
-                       report.reportresultcodematch.focus();
-                       return;
-               }
-               document.report.op.value="Continue";
-               document.report.action = document.report.action + "#MainButton";
-               document.report.submit();
-       }
-
-       function ColumnClick(colname)
-       {
-               document.report.clickcolumn.value = colname;
-               Go();
-       }
-
-       function SetPosition(amt)
-       {
-               if (amt < 0)
-                       amt = 0;
-               document.report.startrow.value = amt;
-               Go();
-       }
-
-       function isRegularExpression(value)
-       {
-               try
-               {
-                       var foo = "teststring";
-                       foo.search(value.replace(/\(\?i\)/,""));
-                       return true;
-               }
-               catch (e)
-               {
-                       return false;
-               }
-
-       }
-
-       function isInteger(value)
-       {
-               var anum=/(^\d+$)/;
-               return anum.test(value);
-       }
-
-       //-->
-       </script>
-
-
-</head>
-
-<body class="standardbody">
-
-    <table class="page">
-      <tr><td colspan="2" class="banner"><jsp:include page="banner.jsp" 
flush="true"/></td></tr>
-      <tr><td class="navigation"><jsp:include page="navigation.jsp" 
flush="true"/></td>
-       <td class="window">
-       <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.SimpleHistoryReport")%></p>
-<%
-if (maintenanceUnderway == false)
-{
-       int k;
-
-       // Read the parameters.
-       String reportConnection = 
variableContext.getParameter("reportconnection");
-       if (reportConnection == null)
-               reportConnection = "";
-       String[] reportActivities;
-       if (variableContext.getParameter("reportactivities_posted") != null)
-       {
-               reportActivities = 
variableContext.getParameterValues("reportactivities");
-               if (reportActivities == null)
-                       reportActivities = new String[0];
-       }
-       else
-               reportActivities = null;
-
-       // Get the current time, so we can fill in default values where 
possible.
-       long currentTime = System.currentTimeMillis();
-
-       Long startTime = null;
-       Long endTime = null;
-
-       // Get start time, if selected
-       String startYear = variableContext.getParameter("reportstartyear");
-       String startMonth = variableContext.getParameter("reportstartmonth");
-       String startDay = variableContext.getParameter("reportstartday");
-       String startHour = variableContext.getParameter("reportstarthour");
-       String startMinute = variableContext.getParameter("reportstartminute");
-
-       // Get end time, if selected.
-       String endYear = variableContext.getParameter("reportendyear");
-       String endMonth = variableContext.getParameter("reportendmonth");
-       String endDay = variableContext.getParameter("reportendday");
-       String endHour = variableContext.getParameter("reportendhour");
-       String endMinute = variableContext.getParameter("reportendminute");
-
-       if (startYear == null && startMonth == null && startDay == null && 
startHour == null && startMinute == null &&
-           endYear == null && endMonth == null && endDay == null && endHour == 
null && endMinute == null)
-       {
-               // Nobody has selected a time range yet.  Pick the last hour.
-               endTime = null;
-               startTime = new Long(currentTime - 1000L * 60L * 60L);
-       }
-       else
-       {
-               // Get start time, if selected
-               if (startYear == null)
-                       startYear = "";
-               if (startMonth == null)
-                       startMonth = "";
-               if (startDay == null)
-                       startDay = "";
-               if (startHour == null)
-                       startHour = "";
-               if (startMinute == null)
-                       startMinute = "";
-
-               // Get end time, if selected.
-               if (endYear == null)
-                       endYear = "";
-               if (endMonth == null)
-                       endMonth = "";
-               if (endDay == null)
-                       endDay = "";
-               if (endHour == null)
-                       endHour = "";
-               if (endMinute == null)
-                       endMinute = "";
-
-               if (startYear.length() == 0 || startMonth.length() == 0 || 
startDay.length() == 0 || startHour.length() == 0 || startMinute.length() == 0)
-               {
-                       // Undetermined start
-                       startTime = null;
-               }
-               else
-               {
-                       // Convert the specified times to a long.
-                       Calendar c = new GregorianCalendar();
-                       c.set(Calendar.YEAR,Integer.parseInt(startYear));
-                       c.set(Calendar.MONTH,Integer.parseInt(startMonth));
-                       c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(startDay) 
+ 1);
-                       c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(startHour));
-                       c.set(Calendar.MINUTE,Integer.parseInt(startMinute));
-                       startTime = new Long(c.getTimeInMillis());
-               }
-               if (endYear.length() == 0 || endMonth.length() == 0 || 
endDay.length() == 0 || endHour.length() == 0 || endMinute.length() == 0)
-               {
-                       // Undetermined end
-                       endTime = null;
-               }
-               else
-               {
-                       // Convert the specified times to a long.
-                       Calendar c = new GregorianCalendar();
-                       c.set(Calendar.YEAR,Integer.parseInt(endYear));
-                       c.set(Calendar.MONTH,Integer.parseInt(endMonth));
-                       c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(endDay) + 
1);
-                       c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(endHour));
-                       c.set(Calendar.MINUTE,Integer.parseInt(endMinute));
-                       endTime = new Long(c.getTimeInMillis());
-               }
-       }
-
-       // Now, turn the startTime and endTime back into fielded values.  The 
values will be blank where there is no limit.
-       if (startTime == null)
-       {
-               startYear = "";
-               startMonth = "";
-               startDay = "";
-               startHour = "";
-               startMinute = "";
-       }
-       else
-       {
-               // Do the conversion
-               Calendar c = new GregorianCalendar();
-               c.setTimeInMillis(startTime.longValue());
-               startYear = Integer.toString(c.get(Calendar.YEAR));
-               startMonth = Integer.toString(c.get(Calendar.MONTH));
-               startDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1);
-               startHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
-               startMinute = Integer.toString(c.get(Calendar.MINUTE));
-       }
-
-       if (endTime == null)
-       {
-               endYear = "";
-               endMonth = "";
-               endDay = "";
-               endHour = "";
-               endMinute = "";
-       }
-       else
-       {
-               // Do the conversion
-               Calendar c = new GregorianCalendar();
-               c.setTimeInMillis(endTime.longValue());
-               endYear = Integer.toString(c.get(Calendar.YEAR));
-               endMonth = Integer.toString(c.get(Calendar.MONTH));
-               endDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1);
-               endHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
-               endMinute = Integer.toString(c.get(Calendar.MINUTE));
-       }
-
-       // Get the entity match string.
-       String entityMatch = variableContext.getParameter("reportentitymatch");
-       if (entityMatch == null)
-               entityMatch = "";
-
-       // Get the resultcode match string.
-       String resultCodeMatch = 
variableContext.getParameter("reportresultcodematch");
-       if (resultCodeMatch == null)
-               resultCodeMatch = "";
-
-
-       // Read the other data we need.
-       IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
-       IRepositoryConnection[] connList = connMgr.getAllConnections();
-
-       // Query the legal list of activities.  This will depend on the 
connection has been chosen, if any.
-       Map selectedActivities = null;
-       String[] activityList = null;
-       if (reportConnection.length() > 0)
-       {
-               activityList = 
org.apache.manifoldcf.crawler.system.ManifoldCF.getActivitiesList(threadContext,reportConnection);
-               if (activityList == null)
-                       reportConnection = "";
-               else
-               {
-                       selectedActivities = new HashMap();
-                       String[] activitiesToNote;
-                       int j = 0;
-                       if (reportActivities == null)
-                               activitiesToNote = activityList;
-                       else
-                               activitiesToNote = reportActivities;
-
-                       while (j < activitiesToNote.length)
-                       {
-                               String activity = activitiesToNote[j++];
-                               selectedActivities.put(activity,activity);
-                       }
-               }
-       }
-
-%>
-
-       <form class="standardform" name="report" action="execute.jsp" 
method="POST">
-               <input type="hidden" name="op" value="Continue"/>
-               <input type="hidden" name="type" value="simplereport"/>
-               <table class="displaytable">
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Connection")%></td><td
 class="value" colspan="1">
-                                       <select name="reportconnection" 
size="3">
-                                               <option 
<%=(reportConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-       int i = 0;
-       while (i < connList.length)
-       {
-               IRepositoryConnection conn = connList[i++];
-               String thisConnectionName = conn.getName();
-               String thisDescription = conn.getDescription();
-               if (thisDescription == null || thisDescription.length() == 0)
-                       thisDescription = thisConnectionName;
-%>
-                                               <option 
<%=(thisConnectionName.equals(reportConnection))?"selected=\"selected\"":""%> 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%></option>
-<%
-       }
-%>
-                                       </select>
-                               </td>
-<%
-       if (reportConnection.length() > 0)
-       {
-%>
-                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Activities")%></td><td
 class="value" colspan="1">
-                                       <input type="hidden" 
name="reportactivities_posted" value="true"/>
-                                       <select multiple="true" 
name="reportactivities" size="3">
-<%
-           i = 0;
-           while (i < activityList.length)
-           {
-               String activity = activityList[i++];
-%>
-                                               <option 
<%=((selectedActivities.get(activity)==null)?"":"selected=\"selected\"")%> 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(activity)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(activity)%></option>
-<%
-           }
-%>
-                                       </select>
-                               </td>
-<%
-       }
-       else
-       {
-%>
-                               <td class="value" colspan="2"></td>
-<%
-       }
-%>
-
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.StartTime")%></td>
-                               <td class="value" colspan="3">
-                                   <select class="schedulepulldown" 
name='reportstarthour' size="3">
-                                       <option value="" 
<%=(startHour.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 24)
-                                       {
-                                               int q = k;
-                                               String ampm;
-                                               if (k < 12)
-                                                       ampm = "am";
-                                               else
-                                               {
-                                                       ampm = "pm";
-                                                       q -= 12;
-                                               }
-                                               String hour;
-                                               if (q == 0)
-                                                       q = 12;
-%>
-                                               <option value='<%=k%>' 
<%=(startHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
-<%                                             
-                                               k++;
-                                       }
-%>
-                                   </select><nobr/>:<nobr/> 
-                                   <select class="schedulepulldown" 
name='reportstartminute' size="3">
-                                       <option value="" 
<%=(startMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 60)
-                                       {
-%>
-                                               <option value='<%=k%>' 
<%=(startMinute.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k)%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   
</select><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.on")%>
-                                   <select class="schedulepulldown" 
name='reportstartmonth' size="3">
-                                       <option value="" 
<%=(startMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-                                       <option value="0" 
<%=(startMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.January")%></option>
-                                       <option value="1" 
<%=(startMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.February")%></option>
-                                       <option value="2" 
<%=(startMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.March")%></option>
-                                       <option value="3" 
<%=(startMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.April")%></option>
-                                       <option value="4" 
<%=(startMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.May")%></option>
-                                       <option value="5" 
<%=(startMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.June")%></option>
-                                       <option value="6" 
<%=(startMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.July")%></option>
-                                       <option value="7" 
<%=(startMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.August")%></option>
-                                       <option value="8" 
<%=(startMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.September")%></option>
-                                       <option value="9" 
<%=(startMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.October")%></option>
-                                       <option value="10" 
<%=(startMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.November")%></option>
-                                       <option value="11" 
<%=(startMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.December")%></option>
-                                   </select><nobr/>
-                                   <select class="schedulepulldown" 
name='reportstartday' size="3">
-                                       <option value="" 
<%=(startDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 31)
-                                       {
-                                               int value = (k+1) % 10;
-                                               String suffix;
-                                               if (value == 1 && k != 10)
-                                                       suffix = "st";
-                                               else if (value == 2 && k != 11)
-                                                       suffix = "nd";
-                                               else if (value == 3 && k != 12)
-                                                       suffix = "rd";
-                                               else
-                                                       suffix = "th";
-%>
-                                               <option 
value='<%=Integer.toString(k)%>' 
<%=(startDay.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k+1)+suffix%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   </select><nobr/>,<nobr/>
-                                   <select class="schedulepulldown" 
name='reportstartyear' size="3">
-                                       <option value="" 
<%=(startYear.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-                                       <option value="2005" 
<%=(startYear.equals("2005"))?"selected=\"selected\"":""%>>2005</option>
-                                       <option value="2006" 
<%=(startYear.equals("2006"))?"selected=\"selected\"":""%>>2006</option>
-                                       <option value="2007" 
<%=(startYear.equals("2007"))?"selected=\"selected\"":""%>>2007</option>
-                                       <option value="2008" 
<%=(startYear.equals("2008"))?"selected=\"selected\"":""%>>2008</option>
-                                       <option value="2009" 
<%=(startYear.equals("2009"))?"selected=\"selected\"":""%>>2009</option>
-                                       <option value="2010" 
<%=(startYear.equals("2010"))?"selected=\"selected\"":""%>>2010</option>
-                                       <option value="2011" 
<%=(startYear.equals("2011"))?"selected=\"selected\"":""%>>2011</option>
-                                       <option value="2012" 
<%=(startYear.equals("2012"))?"selected=\"selected\"":""%>>2012</option>
-                                       <option value="2013" 
<%=(startYear.equals("2013"))?"selected=\"selected\"":""%>>2013</option>
-                                       <option value="2014" 
<%=(startYear.equals("2014"))?"selected=\"selected\"":""%>>2014</option>
-                                       <option value="2015" 
<%=(startYear.equals("2015"))?"selected=\"selected\"":""%>>2015</option>
-                                   </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.EndTime")%></td>
-                               <td class="value" colspan="3">
-                                   <select class="schedulepulldown" 
name='reportendhour' size="3">
-                                       <option value="" 
<%=(endHour.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 24)
-                                       {
-                                               int q = k;
-                                               String ampm;
-                                               if (k < 12)
-                                                       ampm = "am";
-                                               else
-                                               {
-                                                       ampm = "pm";
-                                                       q -= 12;
-                                               }
-                                               String hour;
-                                               if (q == 0)
-                                                       q = 12;
-%>
-                                               <option value='<%=k%>' 
<%=(endHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
-<%                                             
-                                               k++;
-                                       }
-%>
-                                   </select><nobr/>:<nobr/> 
-                                   <select class="schedulepulldown" 
name='reportendminute' size="3">
-                                       <option value="" 
<%=(endMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 60)
-                                       {
-%>
-                                               <option value='<%=k%>' 
<%=(endMinute.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k)%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   
</select><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.on")%>
-                                   <select class="schedulepulldown" 
name='reportendmonth' size="3">
-                                       <option value="" 
<%=(endMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-                                       <option value="0" 
<%=(endMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.January")%></option>
-                                       <option value="1" 
<%=(endMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.February")%></option>
-                                       <option value="2" 
<%=(endMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.March")%></option>
-                                       <option value="3" 
<%=(endMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.April")%></option>
-                                       <option value="4" 
<%=(endMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.May")%></option>
-                                       <option value="5" 
<%=(endMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.June")%></option>
-                                       <option value="6" 
<%=(endMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.July")%></option>
-                                       <option value="7" 
<%=(endMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.August")%></option>
-                                       <option value="8" 
<%=(endMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.September")%></option>
-                                       <option value="9" 
<%=(endMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.October")%></option>
-                                       <option value="10" 
<%=(endMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.November")%></option>
-                                       <option value="11" 
<%=(endMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.December")%></option>
-                                   </select><nobr/>
-                                   <select class="schedulepulldown" 
name='reportendday' size="3">
-                                       <option value="" 
<%=(endDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-<%
-                                       k = 0;
-                                       while (k < 31)
-                                       {
-                                               int value = (k+1) % 10;
-                                               String suffix;
-                                               if (value == 1 && k != 10)
-                                                       suffix = "st";
-                                               else if (value == 2 && k != 11)
-                                                       suffix = "nd";
-                                               else if (value == 3 && k != 12)
-                                                       suffix = "rd";
-                                               else
-                                                       suffix = "th";
-%>
-                                               <option 
value='<%=Integer.toString(k)%>' 
<%=(endDay.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k+1)+suffix%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   </select><nobr/>,<nobr/>
-                                   <select class="schedulepulldown" 
name='reportendyear' size="3">
-                                       <option value="" 
<%=(endYear.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.NotSpecified")%>
 --</option>
-                                       <option value="2005" 
<%=(endYear.equals("2005"))?"selected=\"selected\"":""%>>2005</option>
-                                       <option value="2006" 
<%=(endYear.equals("2006"))?"selected=\"selected\"":""%>>2006</option>
-                                       <option value="2007" 
<%=(endYear.equals("2007"))?"selected=\"selected\"":""%>>2007</option>
-                                       <option value="2008" 
<%=(endYear.equals("2008"))?"selected=\"selected\"":""%>>2008</option>
-                                       <option value="2009" 
<%=(endYear.equals("2009"))?"selected=\"selected\"":""%>>2009</option>
-                                       <option value="2010" 
<%=(endYear.equals("2010"))?"selected=\"selected\"":""%>>2010</option>
-                                       <option value="2011" 
<%=(endYear.equals("2011"))?"selected=\"selected\"":""%>>2011</option>
-                                       <option value="2012" 
<%=(endYear.equals("2012"))?"selected=\"selected\"":""%>>2012</option>
-                                       <option value="2013" 
<%=(endYear.equals("2013"))?"selected=\"selected\"":""%>>2013</option>
-                                       <option value="2014" 
<%=(endYear.equals("2014"))?"selected=\"selected\"":""%>>2014</option>
-                                       <option value="2015" 
<%=(endYear.equals("2015"))?"selected=\"selected\"":""%>>2015</option>
-                                   </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.EntityMatch")%></nobr></td>
-                               <td class="value"><input type="text" 
name="reportentitymatch" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(entityMatch)%>'/></td>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.ResultCodeMatch")%></nobr></td>
-                               <td class="value"><input type="text" 
name="reportresultcodematch" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(resultCodeMatch)%>'/></td>
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                               <td class="message" colspan="4">
-<%
-       if (reportConnection.length() > 0)
-       {
-%>
-                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.ExecuteThisQuery")%>"/></a>
-<%
-       }
-       else
-       {
-%>
-                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Continue")%>"/></a>
-<%
-       }
-%>
-                               </td>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-
-               </table>
-<%
-       if (reportConnection.length() > 0)
-       {
-               // Run the report.
-
-               // First, we need to gather the sort order object.
-               String sortOrderString = 
variableContext.getParameter("sortorder");
-               SortOrder sortOrder;
-               if (sortOrderString == null || sortOrderString.length() == 0)
-                       sortOrder = new SortOrder();
-               else
-                       sortOrder = new SortOrder(sortOrderString);
-
-               // Now, gather the column header that was clicked on (if any)
-               String clickedColumn = 
variableContext.getParameter("clickcolumn");
-               if (clickedColumn != null && clickedColumn.length() > 0)
-                       sortOrder.clickColumn(clickedColumn);
-
-               // Gather the start
-               String startRowString = 
variableContext.getParameter("startrow");
-               int startRow = 0;
-               if (startRowString != null && startRowString.length() > 0)
-                       startRow = Integer.parseInt(startRowString);
-
-               // Gather the max
-               String maxRowCountString = 
variableContext.getParameter("rowcount");
-               int rowCount = 20;
-               if (maxRowCountString != null && maxRowCountString.length() > 0)
-                       rowCount = Integer.parseInt(maxRowCountString);
-
-               String[] ourActivities = new String[selectedActivities.size()];
-               Iterator iter = selectedActivities.keySet().iterator();
-               int zz = 0;
-               while (iter.hasNext())
-               {
-                       ourActivities[zz++] = (String)iter.next();
-               }
-
-               RegExpCriteria entityMatchObject = null;
-               if (entityMatch.length() > 0)
-                       entityMatchObject = new 
RegExpCriteria(entityMatch,true);
-               RegExpCriteria resultCodeMatchObject = null;
-               if (resultCodeMatch.length() > 0)
-                       resultCodeMatchObject = new 
RegExpCriteria(resultCodeMatch,true);
-               FilterCriteria criteria = new 
FilterCriteria(ourActivities,startTime,endTime,entityMatchObject,resultCodeMatchObject);
-
-               IResultSet set = 
connMgr.genHistorySimple(reportConnection,criteria,sortOrder,startRow,rowCount+1);
-
-%>
-               <input type="hidden" name="clickcolumn" value=""/>
-               <input type="hidden" name="startrow" 
value='<%=Integer.toString(startRow)%>'/>
-               <input type="hidden" name="sortorder" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
-
-               <table class="displaytable">
-                   <tr class="headerrow">
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("starttime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.StartTime")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("activity");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Activity")%></nobr></a></td>
-                       <td 
class="reportcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Identifier")%></nobr></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("resultcode");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.ResultCode")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("bytes");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Bytes")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("elapsedtime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Time")%></nobr></a></td>
-                       <td 
class="reportcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.ResultDescription")%></nobr></td>
-                   </tr>
-<%
-               zz = 0;
-
-               boolean hasMoreRows = (set.getRowCount() > rowCount);
-               int iterCount = hasMoreRows?rowCount:set.getRowCount();
-               while (zz < iterCount)
-               {
-                   IResultRow row = set.getRow(zz);
-                   String startTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
-                   String resultCode = "";
-                   Object resultCodeObject = row.getValue("resultcode");
-                   if (resultCodeObject != null)
-                       resultCode = resultCodeObject.toString();
-                   String resultDescription = "";
-                   Object resultDescriptionObject = row.getValue("resultdesc");
-                   resultDescriptionObject = row.getValue("resultdesc");
-                   if (resultDescriptionObject != null)
-                       resultDescription = resultDescriptionObject.toString();
-                   String[] identifierBreakdown = 
org.apache.manifoldcf.ui.util.Formatter.formatString(row.getValue("identifier").toString(),64,true,true);
-%>
-                   <tr 
<%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
-                       <td 
class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(startTimeString)%></nobr></td>
-                       <td 
class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("activity").toString())%></nobr></td>
-                       <td class="reportcolumncell">
-<%
-                   int q = 0;
-                   while (q < identifierBreakdown.length)
-                   {
-%>
-                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(identifierBreakdown[q++])%></nobr><br/>
-<%
-                   }
-%>
-                       </td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(resultCode)%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("bytes").toString())%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("elapsedtime").toString())%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(resultDescription)%></td>
-                   </tr>
-<%
-                       zz++;
-               }
-%>
-               </table>
-               <table class="reportfootertable">
-                   <tr class="reportfooterrow">
-                       <td class="reportfootercell">
-                               <nobr>
-<%
-               if (startRow == 0)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Previous")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Previous")%></a>
-<%
-               }
-%>
-                               </nobr>
-                               <nobr>
-<%
-               if (hasMoreRows == false)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Next")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Next")%></a>
-<%
-               }
-%>
-                               </nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.Rows")%></nobr>
-                               
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.RowsPerPage")%></nobr>
-                               <nobr><input type="text" name="rowcount" 
size="5" value='<%=Integer.toString(rowCount)%>'/></nobr>
-                       </td>
-                   </tr>
-               </table>
-
-<%
-       }
-       else
-       {
-%>
-               <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.PleaseSelectAConnection")%></td></tr></table>
-<%
-       }
-%>
-       </form>
-<%
-}
-else
-{
-%>
-               <table class="displaytable">
-                       <tr><td class="separator" colspan="1"><hr/></td></tr>
-                       <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"simplereport.PleaseTryAgainLater")%></td></tr>
-               </table>
-<%
-}
-%>
-       </td>
-      </tr>
-    </table>
-
-</body>
-
-</html>
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+  boolean maintenanceUnderway = 
org.apache.manifoldcf.crawler.system.ManifoldCF.checkMaintenanceUnderway();
+
+%>
+<script type="text/javascript">
+  <!--
+
+  
$.ManifoldCF.setTitle('<%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "simplereport.ApacheManifoldCFSimpleHistoryReport")%>',
+      '<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.SimpleHistoryReport")%>',
+      'historyreports'
+  );
+
+  function Go() {
+    if (!isInteger(report.rowcount.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EnterALegalNumberForRowsPerPage")%>");
+      report.rowcount.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportentitymatch.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EntityMatchMustBeAValidRegularExpression")%>");
+      report.reportentitymatch.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportresultcodematch.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+      report.reportresultcodematch.focus();
+      return;
+    }
+
+    document.report.op.value = "Report";
+    document.report.action = document.report.action + "#MainButton";
+    $.ManifoldCF.submit(document.report);
+  }
+
+  function Continue() {
+    if (!isRegularExpression(report.reportentitymatch.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.EntityMatchMustBeAValidRegularExpression")%>");
+      report.reportentitymatch.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportresultcodematch.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"simplereport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+      report.reportresultcodematch.focus();
+      return;
+    }
+    document.report.op.value = "Continue";
+    document.report.action = document.report.action + "#MainButton";
+    $.ManifoldCF.submit(document.report);
+  }
+
+  function ColumnClick(colname) {
+    document.report.clickcolumn.value = colname;
+    Go();
+  }
+
+  function SetPosition(amt) {
+    if (amt < 0)
+      amt = 0;
+    document.report.startrow.value = amt;
+    Go();
+  }
+
+  function isRegularExpression(value) {
+    try {
+      var foo = "teststring";
+      foo.search(value.replace(/\(\?i\)/, ""));
+      return true;
+    }
+    catch (e) {
+      return false;
+    }
+
+  }
+
+  function isInteger(value) {
+    var anum = /(^\d+$)/;
+    return anum.test(value);
+  }
+
+  //-->
+</script>
+
+<div class="row">
+  <div class="col-md-12">
+    <%
+      if (maintenanceUnderway == false) {
+        int k;
+
+        // Read the parameters.
+        String reportConnection = 
variableContext.getParameter("reportconnection");
+        if (reportConnection == null)
+          reportConnection = "";
+        String[] reportActivities;
+        if (variableContext.getParameter("reportactivities_posted") != null) {
+          reportActivities = 
variableContext.getParameterValues("reportactivities");
+          if (reportActivities == null)
+            reportActivities = new String[0];
+        } else
+          reportActivities = null;
+
+        // Get the current time, so we can fill in default values where 
possible.
+        long currentTime = System.currentTimeMillis();
+
+        Long startTime = null;
+        Long endTime = null;
+
+        // Get start time, if selected
+        String startYear = variableContext.getParameter("reportstartyear");
+        String startMonth = variableContext.getParameter("reportstartmonth");
+        String startDay = variableContext.getParameter("reportstartday");
+        String startHour = variableContext.getParameter("reportstarthour");
+        String startMinute = variableContext.getParameter("reportstartminute");
+
+        // Get end time, if selected.
+        String endYear = variableContext.getParameter("reportendyear");
+        String endMonth = variableContext.getParameter("reportendmonth");
+        String endDay = variableContext.getParameter("reportendday");
+        String endHour = variableContext.getParameter("reportendhour");
+        String endMinute = variableContext.getParameter("reportendminute");
+
+        if (startYear == null && startMonth == null && startDay == null && 
startHour == null && startMinute == null &&
+            endYear == null && endMonth == null && endDay == null && endHour 
== null && endMinute == null) {
+          // Nobody has selected a time range yet.  Pick the last hour.
+          endTime = null;
+          startTime = new Long(currentTime - 1000L * 60L * 60L);
+        } else {
+          // Get start time, if selected
+          if (startYear == null)
+            startYear = "";
+          if (startMonth == null)
+            startMonth = "";
+          if (startDay == null)
+            startDay = "";
+          if (startHour == null)
+            startHour = "";
+          if (startMinute == null)
+            startMinute = "";
+
+          // Get end time, if selected.
+          if (endYear == null)
+            endYear = "";
+          if (endMonth == null)
+            endMonth = "";
+          if (endDay == null)
+            endDay = "";
+          if (endHour == null)
+            endHour = "";
+          if (endMinute == null)
+            endMinute = "";
+
+          if (startYear.length() == 0 || startMonth.length() == 0 || 
startDay.length() == 0 || startHour.length() == 0 || startMinute.length() == 0) 
{
+            // Undetermined start
+            startTime = null;
+          } else {
+            // Convert the specified times to a long.
+            Calendar c = new GregorianCalendar();
+            c.set(Calendar.YEAR, Integer.parseInt(startYear));
+            c.set(Calendar.MONTH, Integer.parseInt(startMonth));
+            c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(startDay) + 1);
+            c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(startHour));
+            c.set(Calendar.MINUTE, Integer.parseInt(startMinute));
+            startTime = new Long(c.getTimeInMillis());
+          }
+          if (endYear.length() == 0 || endMonth.length() == 0 || 
endDay.length() == 0 || endHour.length() == 0 || endMinute.length() == 0) {
+            // Undetermined end
+            endTime = null;
+          } else {
+            // Convert the specified times to a long.
+            Calendar c = new GregorianCalendar();
+            c.set(Calendar.YEAR, Integer.parseInt(endYear));
+            c.set(Calendar.MONTH, Integer.parseInt(endMonth));
+            c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(endDay) + 1);
+            c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(endHour));
+            c.set(Calendar.MINUTE, Integer.parseInt(endMinute));
+            endTime = new Long(c.getTimeInMillis());
+          }
+        }
+
+        // Now, turn the startTime and endTime back into fielded values.  The 
values will be blank where there is no limit.
+        if (startTime == null) {
+          startYear = "";
+          startMonth = "";
+          startDay = "";
+          startHour = "";
+          startMinute = "";
+        } else {
+          // Do the conversion
+          Calendar c = new GregorianCalendar();
+          c.setTimeInMillis(startTime.longValue());
+          startYear = Integer.toString(c.get(Calendar.YEAR));
+          startMonth = Integer.toString(c.get(Calendar.MONTH));
+          startDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH) - 1);
+          startHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
+          startMinute = Integer.toString(c.get(Calendar.MINUTE));
+        }
+
+        if (endTime == null) {
+          endYear = "";
+          endMonth = "";
+          endDay = "";
+          endHour = "";
+          endMinute = "";
+        } else {
+          // Do the conversion
+          Calendar c = new GregorianCalendar();
+          c.setTimeInMillis(endTime.longValue());
+          endYear = Integer.toString(c.get(Calendar.YEAR));
+          endMonth = Integer.toString(c.get(Calendar.MONTH));
+          endDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH) - 1);
+          endHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
+          endMinute = Integer.toString(c.get(Calendar.MINUTE));
+        }
+
+        // Get the entity match string.
+        String entityMatch = variableContext.getParameter("reportentitymatch");
+        if (entityMatch == null)
+          entityMatch = "";
+
+        // Get the resultcode match string.
+        String resultCodeMatch = 
variableContext.getParameter("reportresultcodematch");
+        if (resultCodeMatch == null)
+          resultCodeMatch = "";
+
+
+        // Read the other data we need.
+        IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
+        IRepositoryConnection[] connList = connMgr.getAllConnections();
+
+        // Query the legal list of activities.  This will depend on the 
connection has been chosen, if any.
+        Map selectedActivities = null;
+        String[] activityList = null;
+        if (reportConnection.length() > 0) {
+          activityList = 
org.apache.manifoldcf.crawler.system.ManifoldCF.getActivitiesList(threadContext,
 reportConnection);
+          if (activityList == null)
+            reportConnection = "";
+          else {
+            selectedActivities = new HashMap();
+            String[] activitiesToNote;
+            int j = 0;
+            if (reportActivities == null)
+              activitiesToNote = activityList;
+            else
+              activitiesToNote = reportActivities;
+
+            while (j < activitiesToNote.length) {
+              String activity = activitiesToNote[j++];
+              selectedActivities.put(activity, activity);
+            }
+          }
+        }
+
+    %>
+
+    <form class="standardform" name="report" action="execute.jsp" 
method="POST">
+      <input type="hidden" name="op" value="Continue"/>
+      <input type="hidden" name="type" value="simplereport"/>
+
+      <div class="box box-primary">
+        <div class="box-body">
+          <table class="table table-bordered">
+            <tr>
+              
<th><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Connection")%>
+              </th>
+              <td colspan="1">
+                <select name="reportconnection" class="form-control">
+                  <option <%=(reportConnection.length() == 0) ? 
"selected=\"selected\"" : ""%> value="">
+                    -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                  </option>
+                  <%
+                    int i = 0;
+                    while (i < connList.length) {
+                      IRepositoryConnection conn = connList[i++];
+                      String thisConnectionName = conn.getName();
+                      String thisDescription = conn.getDescription();
+                      if (thisDescription == null || thisDescription.length() 
== 0)
+                        thisDescription = thisConnectionName;
+                  %>
+                  <option <%=(thisConnectionName.equals(reportConnection)) ? 
"selected=\"selected\"" : ""%>
+                      
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%>
+                  </option>
+                  <%
+                    }
+                  %>
+                </select>
+              </td>
+              <%
+                if (reportConnection.length() > 0) {
+              %>
+              
<th><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Activities")%>
+              </th>
+              <td colspan="1">
+                <input type="hidden" name="reportactivities_posted" 
value="true"/>
+
+                <select multiple="true" class="selectpicker" 
name="reportactivities">
+                  <%
+                    i = 0;
+                    while (i < activityList.length) {
+                      String activity = activityList[i++];
+                  %>
+                  <option <%=((selectedActivities.get(activity) == null) ? "" 
: "selected=\"selected\"")%>
+                      
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(activity)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(activity)%>
+                  </option>
+                  <%
+                    }
+                  %>
+                </select>
+              </td>
+              <%
+              } else {
+              %>
+              <td colspan="2"></td>
+              <%
+                }
+              %>
+
+            </tr>
+            <tr>
+              
<th><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.StartTime")%>
+              </th>
+              <td colspan="3">
+                <div class="input-group">
+                  <select class="schedulepulldown" name='reportstarthour'>
+                    <option value="" <%=(startHour.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%>
+                      --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 24) {
+                        int q = k;
+                        String ampm;
+                        if (k < 12)
+                          ampm = "am";
+                        else {
+                          ampm = "pm";
+                          q -= 12;
+                        }
+                        String hour;
+                        if (q == 0)
+                          q = 12;
+                    %>
+                    <option
+                        value='<%=k%>' 
<%=(startHour.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(q) + " " + ampm%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span class="label">:</span>
+                  <select class="schedulepulldown" name='reportstartminute'>
+                    <option value="" <%=(startMinute.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%>
+                      --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 60) {
+                    %>
+                    <option
+                        value='<%=k%>' 
<%=(startMinute.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(k)%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span 
class="label"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.on")%></span>
+                  <select class="schedulepulldown" name='reportstartmonth'>
+                    <option value="" <%=(startMonth.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%>
+                      --
+                    </option>
+                    <option
+                        value="0" <%=(startMonth.equals("0")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.January")%>
+                    </option>
+                    <option
+                        value="1" <%=(startMonth.equals("1")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.February")%>
+                    </option>
+                    <option
+                        value="2" <%=(startMonth.equals("2")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.March")%>
+                    </option>
+                    <option
+                        value="3" <%=(startMonth.equals("3")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.April")%>
+                    </option>
+                    <option
+                        value="4" <%=(startMonth.equals("4")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.May")%>
+                    </option>
+                    <option
+                        value="5" <%=(startMonth.equals("5")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.June")%>
+                    </option>
+                    <option
+                        value="6" <%=(startMonth.equals("6")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.July")%>
+                    </option>
+                    <option
+                        value="7" <%=(startMonth.equals("7")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.August")%>
+                    </option>
+                    <option
+                        value="8" <%=(startMonth.equals("8")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.September")%>
+                    </option>
+                    <option
+                        value="9" <%=(startMonth.equals("9")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.October")%>
+                    </option>
+                    <option
+                        value="10" <%=(startMonth.equals("10")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.November")%>
+                    </option>
+                    <option
+                        value="11" <%=(startMonth.equals("11")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.December")%>
+                    </option>
+                  </select>
+                  <span class="label">-</span>
+                  <select class="schedulepulldown" name='reportstartday'>
+                    <option value="" <%=(startDay.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%>
+                      --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 31) {
+                        int value = (k + 1) % 10;
+                        String suffix;
+                        if (value == 1 && k != 10)
+                          suffix = "st";
+                        else if (value == 2 && k != 11)
+                          suffix = "nd";
+                        else if (value == 3 && k != 12)
+                          suffix = "rd";
+                        else
+                          suffix = "th";
+                    %>
+                    <option
+                        value='<%=Integer.toString(k)%>' 
<%=(startDay.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(k + 1) + suffix%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span class="label">,</span>
+                  <select class="schedulepulldown" name='reportstartyear'>
+                    <option value="" <%=(startYear.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%>
+                      --
+                    </option>
+                    <option value="2005" <%=(startYear.equals("2005")) ? 
"selected=\"selected\"" : ""%>>2005</option>
+                    <option value="2006" <%=(startYear.equals("2006")) ? 
"selected=\"selected\"" : ""%>>2006</option>
+                    <option value="2007" <%=(startYear.equals("2007")) ? 
"selected=\"selected\"" : ""%>>2007</option>
+                    <option value="2008" <%=(startYear.equals("2008")) ? 
"selected=\"selected\"" : ""%>>2008</option>
+                    <option value="2009" <%=(startYear.equals("2009")) ? 
"selected=\"selected\"" : ""%>>2009</option>
+                    <option value="2010" <%=(startYear.equals("2010")) ? 
"selected=\"selected\"" : ""%>>2010</option>
+                    <option value="2011" <%=(startYear.equals("2011")) ? 
"selected=\"selected\"" : ""%>>2011</option>
+                    <option value="2012" <%=(startYear.equals("2012")) ? 
"selected=\"selected\"" : ""%>>2012</option>
+                    <option value="2013" <%=(startYear.equals("2013")) ? 
"selected=\"selected\"" : ""%>>2013</option>
+                    <option value="2014" <%=(startYear.equals("2014")) ? 
"selected=\"selected\"" : ""%>>2014</option>
+                    <option value="2015" <%=(startYear.equals("2015")) ? 
"selected=\"selected\"" : ""%>>2015</option>
+                  </select>
+                </div>
+              </td>
+            </tr>
+            <tr>
+              
<th><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.EndTime")%>
+              </th>
+              <td colspan="3">
+                <div class="input-group">
+                  <select class="schedulepulldown" name='reportendhour'>
+                    <option value="" <%=(endHour.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 24) {
+                        int q = k;
+                        String ampm;
+                        if (k < 12)
+                          ampm = "am";
+                        else {
+                          ampm = "pm";
+                          q -= 12;
+                        }
+                        String hour;
+                        if (q == 0)
+                          q = 12;
+                    %>
+                    <option
+                        value='<%=k%>' 
<%=(endHour.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(q) + " " + ampm%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span class="label">:</span>
+                  <select class="schedulepulldown" name='reportendminute'>
+                    <option value="" <%=(endMinute.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 60) {
+                    %>
+                    <option
+                        value='<%=k%>' 
<%=(endMinute.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(k)%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span 
class="label"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.on")%></span>
+                  <select class="schedulepulldown" name='reportendmonth'>
+                    <option value="" <%=(endMonth.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                    </option>
+                    <option
+                        value="0" <%=(endMonth.equals("0")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.January")%>
+                    </option>
+                    <option
+                        value="1" <%=(endMonth.equals("1")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.February")%>
+                    </option>
+                    <option
+                        value="2" <%=(endMonth.equals("2")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.March")%>
+                    </option>
+                    <option
+                        value="3" <%=(endMonth.equals("3")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.April")%>
+                    </option>
+                    <option
+                        value="4" <%=(endMonth.equals("4")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.May")%>
+                    </option>
+                    <option
+                        value="5" <%=(endMonth.equals("5")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.June")%>
+                    </option>
+                    <option
+                        value="6" <%=(endMonth.equals("6")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.July")%>
+                    </option>
+                    <option
+                        value="7" <%=(endMonth.equals("7")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.August")%>
+                    </option>
+                    <option
+                        value="8" <%=(endMonth.equals("8")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.September")%>
+                    </option>
+                    <option
+                        value="9" <%=(endMonth.equals("9")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.October")%>
+                    </option>
+                    <option
+                        value="10" <%=(endMonth.equals("10")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.November")%>
+                    </option>
+                    <option
+                        value="11" <%=(endMonth.equals("11")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.December")%>
+                    </option>
+                  </select>
+                  <span class="label">-</span>
+                  <select class="schedulepulldown" name='reportendday'>
+                    <option value="" <%=(endDay.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                    </option>
+                    <%
+                      k = 0;
+                      while (k < 31) {
+                        int value = (k + 1) % 10;
+                        String suffix;
+                        if (value == 1 && k != 10)
+                          suffix = "st";
+                        else if (value == 2 && k != 11)
+                          suffix = "nd";
+                        else if (value == 3 && k != 12)
+                          suffix = "rd";
+                        else
+                          suffix = "th";
+                    %>
+                    <option
+                        value='<%=Integer.toString(k)%>' 
<%=(endDay.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(k + 1) + suffix%>
+                    </option>
+                    <%
+                        k++;
+                      }
+                    %>
+                  </select>
+                  <span class="label">,</span>
+                  <select class="schedulepulldown" name='reportendyear'>
+                    <option value="" <%=(endYear.length() == 0) ? 
"selected=\"selected\"" : ""%>>
+                      -- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.NotSpecified")%> --
+                    </option>
+                    <option value="2005" <%=(endYear.equals("2005")) ? 
"selected=\"selected\"" : ""%>>2005</option>
+                    <option value="2006" <%=(endYear.equals("2006")) ? 
"selected=\"selected\"" : ""%>>2006</option>
+                    <option value="2007" <%=(endYear.equals("2007")) ? 
"selected=\"selected\"" : ""%>>2007</option>
+                    <option value="2008" <%=(endYear.equals("2008")) ? 
"selected=\"selected\"" : ""%>>2008</option>
+                    <option value="2009" <%=(endYear.equals("2009")) ? 
"selected=\"selected\"" : ""%>>2009</option>
+                    <option value="2010" <%=(endYear.equals("2010")) ? 
"selected=\"selected\"" : ""%>>2010</option>
+                    <option value="2011" <%=(endYear.equals("2011")) ? 
"selected=\"selected\"" : ""%>>2011</option>
+                    <option value="2012" <%=(endYear.equals("2012")) ? 
"selected=\"selected\"" : ""%>>2012</option>
+                    <option value="2013" <%=(endYear.equals("2013")) ? 
"selected=\"selected\"" : ""%>>2013</option>
+                    <option value="2014" <%=(endYear.equals("2014")) ? 
"selected=\"selected\"" : ""%>>2014</option>
+                    <option value="2015" <%=(endYear.equals("2015")) ? 
"selected=\"selected\"" : ""%>>2015</option>
+                  </select>
+                </div>
+              </td>
+            </tr>
+            <tr>
+              <th>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.EntityMatch")%>
+                </nobr>
+              </td>
+              <td><input type="text" name="reportentitymatch" 
class="form-control"
+                         
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(entityMatch)%>'/></td>
+              <th>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.ResultCodeMatch")%>
+                </nobr>
+              </td>
+              <td><input type="text" class="form-control" 
name="reportresultcodematch"
+                         
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(resultCodeMatch)%>'/></td>
+            </tr>
+          </table>
+        </div>
+        <div class="box-footer clearfix">
+          <div class="btn-group">
+
+            <%
+              if (reportConnection.length() > 0) {
+            %>
+            <a name="MainButton"><input class="btn btn-primary" type="button"
+                                        
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Go")%>"
+                                        onClick="javascript:Go()"
+                                        
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.ExecuteThisQuery")%>"/></a>
+            <%
+            } else {
+            %>
+            <a name="MainButton"><input class="btn btn-primary" type="button"
+                                        
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Continue")%>"
+                                        onClick="javascript:Continue()"
+                                        
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.Continue")%>"/></a>
+            <%
+              }
+            %>
+          </div>
+        </div>
+      </div>
+      <%
+        if (reportConnection.length() > 0) {
+          // Run the report.
+
+          // First, we need to gather the sort order object.
+          String sortOrderString = variableContext.getParameter("sortorder");
+          SortOrder sortOrder;
+          if (sortOrderString == null || sortOrderString.length() == 0)
+            sortOrder = new SortOrder();
+          else
+            sortOrder = new SortOrder(sortOrderString);
+
+          // Now, gather the column header that was clicked on (if any)
+          String clickedColumn = variableContext.getParameter("clickcolumn");
+          if (clickedColumn != null && clickedColumn.length() > 0)
+            sortOrder.clickColumn(clickedColumn);
+
+          // Gather the start
+          String startRowString = variableContext.getParameter("startrow");
+          int startRow = 0;
+          if (startRowString != null && startRowString.length() > 0)
+            startRow = Integer.parseInt(startRowString);
+
+          // Gather the max
+          String maxRowCountString = variableContext.getParameter("rowcount");
+          int rowCount = 20;
+          if (maxRowCountString != null && maxRowCountString.length() > 0)
+            rowCount = Integer.parseInt(maxRowCountString);
+
+          String[] ourActivities = new String[selectedActivities.size()];
+          Iterator iter = selectedActivities.keySet().iterator();
+          int zz = 0;
+          while (iter.hasNext()) {
+            ourActivities[zz++] = (String) iter.next();
+          }
+
+          RegExpCriteria entityMatchObject = null;
+          if (entityMatch.length() > 0)
+            entityMatchObject = new RegExpCriteria(entityMatch, true);
+          RegExpCriteria resultCodeMatchObject = null;
+          if (resultCodeMatch.length() > 0)
+            resultCodeMatchObject = new RegExpCriteria(resultCodeMatch, true);
+          FilterCriteria criteria = new FilterCriteria(ourActivities, 
startTime, endTime, entityMatchObject, resultCodeMatchObject);
+
+          IResultSet set = connMgr.genHistorySimple(reportConnection, 
criteria, sortOrder, startRow, rowCount + 1);
+
+      %>
+      <input type="hidden" name="clickcolumn" value=""/>
+      <input type="hidden" name="startrow" 
value='<%=Integer.toString(startRow)%>'/>
+      <input type="hidden" name="sortorder"
+             
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
+
+      <div class="box box-primary">
+        <div class="box-body">
+          <table class="table table-bordered">
+            <tr>
+              <th><a href="javascript:void(0);"
+                     onclick='javascript:ColumnClick("starttime");'>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.StartTime")%>
+                </nobr>
+              </a></th>
+              <th><a href="javascript:void(0);"
+                     onclick='javascript:ColumnClick("activity");'>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Activity")%>
+                </nobr>
+              </a></th>
+              <th>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Identifier")%>
+                </nobr>
+              </th>
+              <th><a href="javascript:void(0);"
+                     onclick='javascript:ColumnClick("resultcode");'>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.ResultCode")%>
+                </nobr>
+              </a></th>
+              <th><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("bytes");'>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Bytes")%>
+                </nobr>
+              </a></th>
+              <th><a href="javascript:void(0);"
+                     onclick='javascript:ColumnClick("elapsedtime");'>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Time")%>
+                </nobr>
+              </a></th>
+              <th>
+                
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.ResultDescription")%>
+                </nobr>
+              </th>
+            </tr>
+            <%
+              zz = 0;
+
+              boolean hasMoreRows = (set.getRowCount() > rowCount);
+              int iterCount = hasMoreRows ? rowCount : set.getRowCount();
+              while (zz < iterCount) {
+                IResultRow row = set.getRow(zz);
+                String startTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
+                String resultCode = "";
+                Object resultCodeObject = row.getValue("resultcode");
+                if (resultCodeObject != null)
+                  resultCode = resultCodeObject.toString();
+                String resultDescription = "";
+                Object resultDescriptionObject = row.getValue("resultdesc");
+                resultDescriptionObject = row.getValue("resultdesc");
+                if (resultDescriptionObject != null)
+                  resultDescription = resultDescriptionObject.toString();
+                String[] identifierBreakdown = 
org.apache.manifoldcf.ui.util.Formatter.formatString(row.getValue("identifier").toString(),
 64, true, true);
+            %>
+            <tr>
+              <td>
+                
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(startTimeString)%>
+                </nobr>
+              </td>
+              <td>
+                
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("activity").toString())%>
+                </nobr>
+              </td>
+              <td>
+                <%
+                  int q = 0;
+                  while (q < identifierBreakdown.length) {
+                %>
+                
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(identifierBreakdown[q++])%>
+                </nobr>
+                <br/>
+                <%
+                  }
+                %>
+              </td>
+              
<td><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(resultCode)%>
+              </td>
+              
<td><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("bytes").toString())%>
+              </td>
+              
<td><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("elapsedtime").toString())%>
+              </td>
+              
<td><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(resultDescription)%>
+              </td>
+            </tr>
+            <%
+                zz++;
+              }
+            %>
+          </table>
+        </div>
+        <div class="box-footer clearfix">
+          <ul class="pagination pagination-sm no-margin pull-left">
+            <%
+              if (startRow == 0) {
+            %>
+            <li><a 
href="#"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Previous")%>
+            </a></li>
+            <%
+            } else {
+            %>
+            <li>
+              <a href="javascript:void(0);"
+                 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
+                 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "simplereport.Previous")%>
+              </a></li>
+            <%
+              }
+              if (hasMoreRows == false) {
+            %>
+            <li><a href="#">
+              <%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Next")%>
+            </a></li>
+            <%
+            } else {
+            %>
+            <li>
+              <a href="javascript:void(0);"
+                 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
+                 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"simplereport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "simplereport.Next")%>
+              </a>
+            </li>
+            <%
+              }
+            %>
+          </ul>
+          <ul class="pagination pagination-sm no-margin pull-right">
+            <li class="pad">
+              <span class="label label-primary">
+                  
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.Rows")%>
+                <%=Integer.toString(startRow)%>
+                  -<%=(hasMoreRows ? Integer.toString(startRow + rowCount - 1) 
: "END")%>
+                </span>
+            </li>
+            <li class="form-inline">
+              <div class="input-group input-group-sm">
+                <span 
class="input-group-addon"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "simplereport.RowsPerPage")%></span>
+                <input type="text" class="form-control" name="rowcount" 
size="5" value='<%=Integer.toString(rowCount)%>'/>
+              </div>
+            </li>
+          </ul>
+        </div>
+      </div>
+      <%
+      } else {
+      %>
+      <div class="callout callout-info">
+        <%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.PleaseSelectAConnection")%>
+      </div>
+      <%
+        }
+      %>
+
+    </form>
+    <%
+    } else {
+    %>
+    <div class="callout callout-warning">
+      <%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"simplereport.PleaseTryAgainLater")%>
+    </div>
+    <%
+      }
+    %>
+  </div>
+</div>
\ No newline at end of file


Reply via email to