Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp Sat Jun 13 
20:28:32 2015
@@ -30,62 +30,62 @@ response.setContentType("text/html;chars
 <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(),"index.ApacheManifoldCFLogin")%>
-               </title>
-               <script type="text/javascript">
-                       <!--
-                       function login()
-                       {
-                               document.loginform.submit();
-                       }
-                       //-->
-               </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 colspan="2" class="window">
+  <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(),"index.ApacheManifoldCFLogin")%>
+    </title>
+    <script type="text/javascript">
+      <!--
+      function login()
+      {
+        document.loginform.submit();
+      }
+      //-->
+    </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 colspan="2" class="window">
 
-                                       <form class="standardform" 
name="loginform" action="setupAdminProfile.jsp" method="POST">
-                                               <table class="displaytable">
+          <form class="standardform" name="loginform" 
action="setupAdminProfile.jsp" method="POST">
+            <table class="displaytable">
 <%
 String value = variableContext.getParameter("loginfailed");
 if (value != null && value.equals("true"))
 {
 %>
-                                                       <tr><td class="message" 
colspan="2"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.LoginFailed")%></td></tr>
-                                                       <tr><td 
class="separator" colspan="2"><hr/></td></tr>
+              <tr><td class="message" 
colspan="2"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.LoginFailed")%></td></tr>
+              <tr><td class="separator" colspan="2"><hr/></td></tr>
 <%
 }
 %>
-                                                       <tr>
-                                                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.UserIDColon")%></nobr></td>
-                                                               <td 
class="value">
-                                                                       <input 
name="userID" type="text" size="32" value=""/>
-                                                               </td>
-                                                       </tr>
-                                                       <tr>
-                                                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.PasswordColon")%></nobr></td>
-                                                               <td 
class="value">
-                                                                       <input 
name="password" type="password" size="32" value=""/>
-                                                               </td>
-                                                       </tr>
-                                                       <tr><td 
class="separator" colspan="2"><hr/></td></tr>
-                                                       <tr>
-                                                               <td 
class="message" colspan="2">
-                                                                       <input 
type="button" onclick='Javascript:login();' 
value='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"index.Login")%>'
 
alt='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"index.Login")%>'/>
-                                                               </td>
-                                                       </tr>
-                                               </table>
-                                       </form>
-                               </td>
-                       </tr>
-               </table>
-       </body>
+              <tr>
+                <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.UserIDColon")%></nobr></td>
+                <td class="value">
+                  <input name="userID" type="text" size="32" value=""/>
+                </td>
+              </tr>
+              <tr>
+                <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"index.PasswordColon")%></nobr></td>
+                <td class="value">
+                  <input name="password" type="password" size="32" value=""/>
+                </td>
+              </tr>
+              <tr><td class="separator" colspan="2"><hr/></td></tr>
+              <tr>
+                <td class="message" colspan="2">
+                  <input type="button" onclick='Javascript:login();' 
value='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"index.Login")%>'
 
alt='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"index.Login")%>'/>
+                </td>
+              </tr>
+            </table>
+          </form>
+        </td>
+      </tr>
+    </table>
+  </body>
 </html>
 

Modified: 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp 
(original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp 
Sat Jun 13 20:28:32 2015
@@ -30,134 +30,134 @@ boolean maintenanceUnderway = org.apache
 
 <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(),"maxactivityreport.ApacheManifoldCFMaximumActivityReport")%>
-       </title>
-
-       <script type="text/javascript">
-       <!--
-
-       function Go()
-       {
-               if (!isInteger(report.rowcount.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalNumberForRowsPerPage")%>");
-                       report.rowcount.focus();
-                       return;
-               }
-               if (!isInteger(report.reportinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalIntervalSizeInMinutes")%>");
-                       report.reportinterval.focus();
-                       return;
-               }
-               if (report.reportbucketdesc.value == "")
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionCannotBeEmpty")%>");
-                       report.reportbucketdesc.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportbucketdesc.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
-                       report.reportbucketdesc.focus();
-                       return;
-               }
-               if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
-                       report.reportbucketdesc.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportentitymatch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
-                       report.reportentitymatch.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportresultcodematch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
-                       report.reportentitymatch.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportresultcodematch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
-                       report.reportresultcodematch.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.reportbucketdesc.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
-                       report.reportbucketdesc.focus();
-                       return;
-               }
-               if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
-                       report.reportbucketdesc.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";
+  <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(),"maxactivityreport.ApacheManifoldCFMaximumActivityReport")%>
+  </title>
+
+  <script type="text/javascript">
+  <!--
+
+  function Go()
+  {
+    if (!isInteger(report.rowcount.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalNumberForRowsPerPage")%>");
+      report.rowcount.focus();
+      return;
+    }
+    if (!isInteger(report.reportinterval.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalIntervalSizeInMinutes")%>");
+      report.reportinterval.focus();
+      return;
+    }
+    if (report.reportbucketdesc.value == "")
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionCannotBeEmpty")%>");
+      report.reportbucketdesc.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportbucketdesc.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+      report.reportbucketdesc.focus();
+      return;
+    }
+    if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
+      report.reportbucketdesc.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportentitymatch.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
+      report.reportentitymatch.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportresultcodematch.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
+      report.reportentitymatch.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportresultcodematch.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+      report.reportresultcodematch.focus();
+      return;
+    }
+    if (!isRegularExpression(report.reportbucketdesc.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+      report.reportbucketdesc.focus();
+      return;
+    }
+    if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
+      report.reportbucketdesc.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);
-       }
+      return true;
+    }
+    catch (e)
+    {
+      return false;
+    }
+
+  }
+
+  function isInteger(value)
+  {
+    var anum=/(^\d+$)/;
+    return anum.test(value);
+  }
 
-       //-->
-       </script>
+  //-->
+  </script>
 
 
 </head>
@@ -168,674 +168,674 @@ boolean maintenanceUnderway = org.apache
       <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(),"maxactivityreport.MaximumActivityReport")%></p>
+  <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.MaximumActivityReport")%></p>
 <%
 if (maintenanceUnderway == false)
 {
-       int k;
+  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 = "";
-
-       String reportBucketDesc = 
variableContext.getParameter("reportbucketdesc");
-       if (reportBucketDesc == null)
-               reportBucketDesc = "(.*)";
-       String intervalString = variableContext.getParameter("reportinterval");
-       int interval = 5;
-       if (intervalString != null && intervalString.length() > 0)
-               interval = Integer.parseInt(intervalString);
-       long intervalMilliseconds = ((long)interval) * 60L * 1000L;
-
-       // 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="maxactivityreport"/>
-               <table class="displaytable">
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Connection")%></td><td
 class="value" colspan="1">
-                                       <select name="reportconnection" 
size="3">
-                                               <option 
<%=(reportConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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;
+  // 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 = "";
+
+  String reportBucketDesc = variableContext.getParameter("reportbucketdesc");
+  if (reportBucketDesc == null)
+    reportBucketDesc = "(.*)";
+  String intervalString = variableContext.getParameter("reportinterval");
+  int interval = 5;
+  if (intervalString != null && intervalString.length() > 0)
+    interval = Integer.parseInt(intervalString);
+  long intervalMilliseconds = ((long)interval) * 60L * 1000L;
+
+  // 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="maxactivityreport"/>
+    <table class="displaytable">
+      <tr>
+        <td class="separator" colspan="4"><hr/></td>
+      </tr>
+      <tr>
+        <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Connection")%></td><td
 class="value" colspan="1">
+          <select name="reportconnection" size="3">
+            <option 
<%=(reportConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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>
+            <option value='<%=k%>' 
<%=(startHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
 <%                                             
-                                               k++;
-                                       }
+            k++;
+          }
 %>
-                                   </select><nobr/>:<nobr/> 
-                                   <select class="schedulepulldown" 
name='reportstartminute' size="3">
-                                       <option value="" 
<%=(startMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.on")%>
 
-                                   <select class="schedulepulldown" 
name='reportstartmonth' size="3">
-                                       <option value="" 
<%=(startMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%>
 --</option>
-                                       <option value="0" 
<%=(startMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
-                                       <option value="1" 
<%=(startMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
-                                       <option value="2" 
<%=(startMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
-                                       <option value="3" 
<%=(startMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
-                                       <option value="4" 
<%=(startMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
-                                       <option value="5" 
<%=(startMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
-                                       <option value="6" 
<%=(startMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
-                                       <option value="7" 
<%=(startMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
-                                       <option value="8" 
<%=(startMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
-                                       <option value="9" 
<%=(startMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
-                                       <option value="10" 
<%=(startMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
-                                       <option value="11" 
<%=(startMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
-                                   </select><nobr/>
-                                   <select class="schedulepulldown" 
name='reportstartday' size="3">
-                                       <option value="" 
<%=(startDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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;
+            </select><nobr/>:<nobr/>
+            <select class="schedulepulldown" name='reportstartminute' size="3">
+          <option value="" 
<%=(startMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.on")%>
+            <select class="schedulepulldown" name='reportstartmonth' size="3">
+          <option value="" 
<%=(startMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%>
 --</option>
+          <option value="0" 
<%=(startMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
+          <option value="1" 
<%=(startMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
+          <option value="2" 
<%=(startMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
+          <option value="3" 
<%=(startMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
+          <option value="4" 
<%=(startMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
+          <option value="5" 
<%=(startMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
+          <option value="6" 
<%=(startMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
+          <option value="7" 
<%=(startMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
+          <option value="8" 
<%=(startMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
+          <option value="9" 
<%=(startMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
+          <option value="10" 
<%=(startMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
+          <option value="11" 
<%=(startMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
+            </select><nobr/>
+            <select class="schedulepulldown" name='reportstartday' size="3">
+          <option value="" 
<%=(startDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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>
+            <option value='<%=k%>' 
<%=(endHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
 <%                                             
-                                               k++;
-                                       }
+            k++;
+          }
 %>
-                                   </select><nobr/>:<nobr/> 
-                                   <select class="schedulepulldown" 
name='reportendminute' size="3">
-                                       <option value="" 
<%=(endMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.on")%>
 
-                                   <select class="schedulepulldown" 
name='reportendmonth' size="3">
-                                       <option value="" 
<%=(endMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%>
 --</option>
-                                       <option value="0" 
<%=(endMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
-                                       <option value="1" 
<%=(endMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
-                                       <option value="2" 
<%=(endMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
-                                       <option value="3" 
<%=(endMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
-                                       <option value="4" 
<%=(endMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
-                                       <option value="5" 
<%=(endMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
-                                       <option value="6" 
<%=(endMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
-                                       <option value="7" 
<%=(endMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
-                                       <option value="8" 
<%=(endMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
-                                       <option value="9" 
<%=(endMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
-                                       <option value="10" 
<%=(endMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
-                                       <option value="11" 
<%=(endMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
-                                   </select><nobr/>
-                                   <select class="schedulepulldown" 
name='reportendday' size="3">
-                                       <option value="" 
<%=(endDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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>
-
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescription")%></nobr></td>
-                               <td class="value"><input type="text" 
name="reportbucketdesc" size="20" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(reportBucketDesc)%>'/></td>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.SlidingWindowSize")%></nobr></td>
-                               <td class="value"><input type="text" 
name="reportinterval" size="5" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(Integer.toString(interval))%>'/></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(),"maxactivityreport.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.ExecuteThisQuery")%>"/></a>
-<%
-       }
-       else
-       {
-%>
-                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.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);
-%>
-               <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())%>'/>
-<%
-               long count = 
connMgr.countHistoryRows(reportConnection,criteria);
-               long maxCount = connMgr.getMaxRows();
-               boolean hasMoreRows;
-               if (count > maxCount)
-               {
-                       hasMoreRows = false;
-%>
-               <table class="displaytable"><tr><td class="message">You have 
selected <%=new Long(count).toString()%> rows.  Maximum allowed is <%=new 
Long(maxCount).toString()%>.</td></tr></table>
-<%
-               }
-               else
-               {
-                       BucketDescription idBucket = new 
BucketDescription(reportBucketDesc,false);
-
-                       IResultSet set = 
connMgr.genHistoryActivityCount(reportConnection,criteria,sortOrder,idBucket,
-                               intervalMilliseconds,startRow,rowCount+1);
-
-%>
-
-               <table class="displaytable">
-                   <tr class="headerrow">
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("idbucket");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClass")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("activitycount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.HighestActivityRate")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("starttime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.StartTime")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("endtime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.EndTime")%></nobr></a></td>
-                   </tr>
-<%
-                       zz = 0;
-                       hasMoreRows = (set.getRowCount() > rowCount);
-                       int iterCount = hasMoreRows?rowCount:set.getRowCount();
-                       while (zz < iterCount)
-                       {
-                           IResultRow row = set.getRow(zz);
-                           Object idBucketObject = row.getValue("idbucket");
-                           String idBucketString;
-                           if (idBucketObject == null)
-                               idBucketString = "";
-                           else
-                               idBucketString = idBucketObject.toString();
-
-                           String startTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
-                           String endTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("endtime")));
-                           double activityCount = 
Converter.asDouble(row.getValue("activitycount"));
-                           double activityRate = activityCount * 60000.0 / 
intervalMilliseconds;
-
-%>
-                   <tr 
<%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
-                       <td 
class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(idBucketString)%></nobr></td>
-                       <td class="reportcolumncell"><%=new 
Double(activityRate).toString()%></td>
-                       <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(endTimeString)%></nobr></td>
-                   </tr>
-<%
-                               zz++;
-                       }
-%>
-               </table>
-<%
-               }
-%>
-               <table class="reportfootertable">
-                   <tr class="reportfooterrow">
-                       <td class="reportfootercell">
-                               <nobr>
-<%
-               if (startRow == 0)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%></a>
-<%
-               }
-%>
-                               </nobr>
-                               <nobr>
-<%
-               if (hasMoreRows == false)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%></a>
-<%
-               }
-%>
-                               </nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Rows")%></nobr>
-                               
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.RowsPerPage")%></nobr>
-                               <nobr><input type="text" name="rowcount" 
size="5" value='<%=Integer.toString(rowCount)%>'/></nobr>
-                       </td>
-                   </tr>
-               </table>
-
-<%
-       }
-       else
-       {
+            </select><nobr/>:<nobr/>
+            <select class="schedulepulldown" name='reportendminute' size="3">
+          <option value="" 
<%=(endMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.on")%>
+            <select class="schedulepulldown" name='reportendmonth' size="3">
+          <option value="" 
<%=(endMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%>
 --</option>
+          <option value="0" 
<%=(endMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
+          <option value="1" 
<%=(endMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
+          <option value="2" 
<%=(endMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
+          <option value="3" 
<%=(endMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
+          <option value="4" 
<%=(endMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
+          <option value="5" 
<%=(endMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
+          <option value="6" 
<%=(endMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
+          <option value="7" 
<%=(endMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
+          <option value="8" 
<%=(endMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
+          <option value="9" 
<%=(endMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
+          <option value="10" 
<%=(endMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
+          <option value="11" 
<%=(endMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
+            </select><nobr/>
+            <select class="schedulepulldown" name='reportendday' size="3">
+          <option value="" 
<%=(endDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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(),"maxactivityreport.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>
+
+      <tr>
+        <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescription")%></nobr></td>
+        <td class="value"><input type="text" name="reportbucketdesc" size="20" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(reportBucketDesc)%>'/></td>
+        <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.SlidingWindowSize")%></nobr></td>
+        <td class="value"><input type="text" name="reportinterval" size="5" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(Integer.toString(interval))%>'/></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(),"maxactivityreport.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.ExecuteThisQuery")%>"/></a>
+<%
+  }
+  else
+  {
+%>
+          <a name="MainButton"><input type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.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);
+%>
+    <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())%>'/>
+<%
+    long count = connMgr.countHistoryRows(reportConnection,criteria);
+    long maxCount = connMgr.getMaxRows();
+    boolean hasMoreRows;
+    if (count > maxCount)
+    {
+      hasMoreRows = false;
+%>
+    <table class="displaytable"><tr><td class="message">You have selected 
<%=new Long(count).toString()%> rows.  Maximum allowed is <%=new 
Long(maxCount).toString()%>.</td></tr></table>
+<%
+    }
+    else
+    {
+      BucketDescription idBucket = new 
BucketDescription(reportBucketDesc,false);
+
+      IResultSet set = 
connMgr.genHistoryActivityCount(reportConnection,criteria,sortOrder,idBucket,
+        intervalMilliseconds,startRow,rowCount+1);
+
+%>
+
+    <table class="displaytable">
+        <tr class="headerrow">
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("idbucket");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClass")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("activitycount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.HighestActivityRate")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("starttime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.StartTime")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("endtime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.EndTime")%></nobr></a></td>
+        </tr>
+<%
+      zz = 0;
+      hasMoreRows = (set.getRowCount() > rowCount);
+      int iterCount = hasMoreRows?rowCount:set.getRowCount();
+      while (zz < iterCount)
+      {
+          IResultRow row = set.getRow(zz);
+          Object idBucketObject = row.getValue("idbucket");
+          String idBucketString;
+          if (idBucketObject == null)
+        idBucketString = "";
+          else
+        idBucketString = idBucketObject.toString();
+
+          String startTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
+          String endTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("endtime")));
+          double activityCount = 
Converter.asDouble(row.getValue("activitycount"));
+          double activityRate = activityCount * 60000.0 / intervalMilliseconds;
+
+%>
+        <tr <%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
+            <td 
class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(idBucketString)%></nobr></td>
+            <td class="reportcolumncell"><%=new 
Double(activityRate).toString()%></td>
+            <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(endTimeString)%></nobr></td>
+        </tr>
+<%
+        zz++;
+      }
+%>
+    </table>
+<%
+    }
+%>
+    <table class="reportfootertable">
+        <tr class="reportfooterrow">
+      <td class="reportfootercell">
+        <nobr>
+<%
+    if (startRow == 0)
+    {
+%>
+          
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%>
+<%
+    }
+    else
+    {
+%>
+          <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%></a>
+<%
+    }
+%>
+        </nobr>
+        <nobr>
+<%
+    if (hasMoreRows == false)
+    {
+%>
+          
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%>
+<%
+    }
+    else
+    {
+%>
+          <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%></a>
+<%
+    }
+%>
+        </nobr>
+      </td>
+      <td class="reportfootercell">
+        
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Rows")%></nobr>
+        
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
+      </td>
+      <td class="reportfootercell">
+        
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.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(),"maxactivityreport.PleaseSelectAConnection")%></td></tr></table>
+    <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.PleaseSelectAConnection")%></td></tr></table>
 <%
-       }
+  }
 %>
-       </form>
+  </form>
 <%
 }
 else
 {
 %>
-               <table class="displaytable">
-                       <tr><td class="separator" colspan="1"><hr/></td></tr>
-                       <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.PleaseTryAgainLater")%></td></tr>
-               </table>
+    <table class="displaytable">
+      <tr><td class="separator" colspan="1"><hr/></td></tr>
+      <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.PleaseTryAgainLater")%></td></tr>
+    </table>
 <%
 }
 %>


Reply via email to