Modified: 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp?rev=1685187&r1=1685186&r2=1685187&view=diff
==============================================================================
--- 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp 
(original)
+++ 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp 
Fri Jun 12 22:54:43 2015
@@ -2,25 +2,25 @@
 
 <%
 
-  /* $Id$ */
+/* $Id$ */
 
 /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-  boolean maintenanceUnderway = 
org.apache.manifoldcf.crawler.system.ManifoldCF.checkMaintenanceUnderway();
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+* 
+* http://www.apache.org/licenses/LICENSE-2.0
+* 
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+boolean maintenanceUnderway = 
org.apache.manifoldcf.crawler.system.ManifoldCF.checkMaintenanceUnderway();
 
 %>
 
@@ -30,876 +30,817 @@
 
 <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(), 
"maxbandwidthreport.ApacheManifoldCFMaximumBandwidthReport")%>
-  </title>
-
-  <script type="text/javascript">
-    <!--
-
-    function Go() {
-      if (!isInteger(report.rowcount.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EnterALegalNumberForRowsPerPage")%>");
-        report.rowcount.focus();
-        return;
-      }
-      if (!isInteger(report.reportinterval.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EnterALegalIntervalSizeInMinutes")%>");
-        report.reportinterval.focus();
-        return;
-      }
-      if (report.reportbucketdesc.value == "") {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionCannotBeEmpty")%>");
-        report.reportbucketdesc.focus();
-        return;
-      }
-      if (!isRegularExpression(report.reportbucketdesc.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
-        report.reportbucketdesc.focus();
-        return;
-      }
-      if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
-        report.reportbucketdesc.focus();
-        return;
-      }
-      if (!isRegularExpression(report.reportentitymatch.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EntityMatchMustBeAValidRegularExpression")%>");
-        report.reportentitymatch.focus();
-        return;
-      }
-      if (!isRegularExpression(report.reportresultcodematch.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.EntityMatchMustBeAValidRegularExpression")%>");
-        report.reportentitymatch.focus();
-        return;
-      }
-      if (!isRegularExpression(report.reportresultcodematch.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
-        report.reportresultcodematch.focus();
-        return;
-      }
-      if (!isRegularExpression(report.reportbucketdesc.value)) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
-        report.reportbucketdesc.focus();
-        return;
-      }
-      if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1) {
-        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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);
-    }
+       <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(),"maxbandwidthreport.ApacheManifoldCFMaximumBandwidthReport")%>
+       </title>
+
+       <script type="text/javascript">
+       <!--
+
+       function Go()
+       {
+               if (!isInteger(report.rowcount.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EnterALegalNumberForRowsPerPage")%>");
+                       report.rowcount.focus();
+                       return;
+               }
+               if (!isInteger(report.reportinterval.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EnterALegalIntervalSizeInMinutes")%>");
+                       report.reportinterval.focus();
+                       return;
+               }
+               if (report.reportbucketdesc.value == "")
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionCannotBeEmpty")%>");
+                       report.reportbucketdesc.focus();
+                       return;
+               }
+               if (!isRegularExpression(report.reportbucketdesc.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+                       report.reportbucketdesc.focus();
+                       return;
+               }
+               if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
+                       report.reportbucketdesc.focus();
+                       return;
+               }
+               if (!isRegularExpression(report.reportentitymatch.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.EntityMatchMustBeAValidRegularExpression")%>");
+                       report.reportentitymatch.focus();
+                       return;
+               }
+               if (!isRegularExpression(report.reportresultcodematch.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.EntityMatchMustBeAValidRegularExpression")%>");
+                       report.reportentitymatch.focus();
+                       return;
+               }
+               if (!isRegularExpression(report.reportresultcodematch.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+                       report.reportresultcodematch.focus();
+                       return;
+               }
+               if (!isRegularExpression(report.reportbucketdesc.value))
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+                       report.reportbucketdesc.focus();
+                       return;
+               }
+               if (report.reportbucketdesc.value.indexOf("(") == -1 || 
report.reportbucketdesc.value.indexOf(")") == -1)
+               {
+                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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);
+       }
 
-    //-->
-  </script>
+       //-->
+       </script>
 
 
 </head>
 
 <body class="standardbody">
 
-<table class="page">
-  <tr>
-    <td colspan="2" class="banner">
-      <jsp:include page="banner.jsp" flush="true"/>
-    </td>
-  </tr>
-  <tr>
-    <td class="navigation">
-      <jsp:include page="navigation.jsp" flush="true"/>
-    </td>
-    <td class="window">
-      <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "maxbandwidthreport.MaximumBandwidthReport")%>
-      </p>
-      <%
-        if (maintenanceUnderway == false) {
-          int k;
-
-          // Read the parameters.
-          String reportConnection = 
variableContext.getParameter("reportconnection");
-          if (reportConnection == null)
-            reportConnection = "";
-          String[] reportActivities;
-          if (variableContext.getParameter("reportactivities_posted") != null) 
{
-            reportActivities = 
variableContext.getParameterValues("reportactivities");
-            if (reportActivities == null)
-              reportActivities = new String[0];
-          } else
-            reportActivities = null;
-
-          // Get the current time, so we can fill in default values where 
possible.
-          long currentTime = System.currentTimeMillis();
-
-          Long startTime = null;
-          Long endTime = null;
-
-          // Get start time, if selected
-          String startYear = variableContext.getParameter("reportstartyear");
-          String startMonth = variableContext.getParameter("reportstartmonth");
-          String startDay = variableContext.getParameter("reportstartday");
-          String startHour = variableContext.getParameter("reportstarthour");
-          String startMinute = 
variableContext.getParameter("reportstartminute");
-
-          // Get end time, if selected.
-          String endYear = variableContext.getParameter("reportendyear");
-          String endMonth = variableContext.getParameter("reportendmonth");
-          String endDay = variableContext.getParameter("reportendday");
-          String endHour = variableContext.getParameter("reportendhour");
-          String endMinute = variableContext.getParameter("reportendminute");
-
-          if (startYear == null && startMonth == null && startDay == null && 
startHour == null && startMinute == null &&
-              endYear == null && endMonth == null && endDay == null && endHour 
== null && endMinute == null) {
-            // Nobody has selected a time range yet.  Pick the last hour.
-            endTime = null;
-            startTime = new Long(currentTime - 1000L * 60L * 60L);
-          } else {
-            // Get start time, if selected
-            if (startYear == null)
-              startYear = "";
-            if (startMonth == null)
-              startMonth = "";
-            if (startDay == null)
-              startDay = "";
-            if (startHour == null)
-              startHour = "";
-            if (startMinute == null)
-              startMinute = "";
-
-            // Get end time, if selected.
-            if (endYear == null)
-              endYear = "";
-            if (endMonth == null)
-              endMonth = "";
-            if (endDay == null)
-              endDay = "";
-            if (endHour == null)
-              endHour = "";
-            if (endMinute == null)
-              endMinute = "";
-
-            if (startYear.length() == 0 || startMonth.length() == 0 || 
startDay.length() == 0 || startHour.length() == 0 || startMinute.length() == 0) 
{
-              // Undetermined start
-              startTime = null;
-            } else {
-              // Convert the specified times to a long.
-              Calendar c = new GregorianCalendar();
-              c.set(Calendar.YEAR, Integer.parseInt(startYear));
-              c.set(Calendar.MONTH, Integer.parseInt(startMonth));
-              c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(startDay) + 1);
-              c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(startHour));
-              c.set(Calendar.MINUTE, Integer.parseInt(startMinute));
-              startTime = new Long(c.getTimeInMillis());
-            }
-            if (endYear.length() == 0 || endMonth.length() == 0 || 
endDay.length() == 0 || endHour.length() == 0 || endMinute.length() == 0) {
-              // Undetermined end
-              endTime = null;
-            } else {
-              // Convert the specified times to a long.
-              Calendar c = new GregorianCalendar();
-              c.set(Calendar.YEAR, Integer.parseInt(endYear));
-              c.set(Calendar.MONTH, Integer.parseInt(endMonth));
-              c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(endDay) + 1);
-              c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(endHour));
-              c.set(Calendar.MINUTE, Integer.parseInt(endMinute));
-              endTime = new Long(c.getTimeInMillis());
-            }
-          }
-
-          // Now, turn the startTime and endTime back into fielded values.  
The values will be blank where there is no limit.
-          if (startTime == null) {
-            startYear = "";
-            startMonth = "";
-            startDay = "";
-            startHour = "";
-            startMinute = "";
-          } else {
-            // Do the conversion
-            Calendar c = new GregorianCalendar();
-            c.setTimeInMillis(startTime.longValue());
-            startYear = Integer.toString(c.get(Calendar.YEAR));
-            startMonth = Integer.toString(c.get(Calendar.MONTH));
-            startDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH) - 1);
-            startHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
-            startMinute = Integer.toString(c.get(Calendar.MINUTE));
-          }
-
-          if (endTime == null) {
-            endYear = "";
-            endMonth = "";
-            endDay = "";
-            endHour = "";
-            endMinute = "";
-
-          } else {
-            // Do the conversion
-            Calendar c = new GregorianCalendar();
-            c.setTimeInMillis(endTime.longValue());
-            endYear = Integer.toString(c.get(Calendar.YEAR));
-            endMonth = Integer.toString(c.get(Calendar.MONTH));
-            endDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH) - 1);
-            endHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
-            endMinute = Integer.toString(c.get(Calendar.MINUTE));
-          }
-
-          // Get the entity match string.
-          String entityMatch = 
variableContext.getParameter("reportentitymatch");
-          if (entityMatch == null)
-            entityMatch = "";
-
-          // Get the resultcode match string.
-          String resultCodeMatch = 
variableContext.getParameter("reportresultcodematch");
-          if (resultCodeMatch == null)
-            resultCodeMatch = "";
-
-          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="maxbandwidthreport"/>
-        <table class="displaytable">
-          <tr>
-            <td class="separator" colspan="4">
-              <hr/>
-            </td>
-          </tr>
-          <tr>
-            <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.Connection")%>
-            </td>
-            <td class="value" colspan="1">
-              <select name="reportconnection" size="3">
-                <option <%=(reportConnection.length() == 0) ? 
"selected=\"selected\"" : ""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(),
 "maxbandwidthreport.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(), 
"maxbandwidthreport.NotSpecified")%> --</option>
-                <%
-                  k = 0;
-                  while (k < 24) {
-                    int q = k;
-                    String ampm;
-                    if (k < 12)
-                      ampm = "am";
-                    else {
-                      ampm = "pm";
-                      q -= 12;
-                    }
-                    String hour;
-                    if (q == 0)
-                      q = 12;
-                %>
-                <option value='<%=k%>' 
<%=(startHour.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(q) + " " + ampm%>
-                </option>
-                <%
-                    k++;
-                  }
-                %>
-              </select>
-              <nobr/>
-              :
-              <nobr/>
-              <select class="schedulepulldown" name='reportstartminute' 
size="3">
-                <option value="" <%=(startMinute.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.on")%>
-              <select class="schedulepulldown" name='reportstartmonth' 
size="3">
-                <option value="" <%=(startMonth.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.NotSpecified")%> --</option>
-                <option value="0" <%=(startMonth.equals("0")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.January")%>
-                </option>
-                <option value="1" <%=(startMonth.equals("1")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.February")%>
-                </option>
-                <option value="2" <%=(startMonth.equals("2")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.March")%>
-                </option>
-                <option value="3" <%=(startMonth.equals("3")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.April")%>
-                </option>
-                <option value="4" <%=(startMonth.equals("4")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.May")%>
-                </option>
-                <option value="5" <%=(startMonth.equals("5")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.June")%>
-                </option>
-                <option value="6" <%=(startMonth.equals("6")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.July")%>
-                </option>
-                <option value="7" <%=(startMonth.equals("7")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.August")%>
-                </option>
-                <option value="8" <%=(startMonth.equals("8")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.September")%>
-                </option>
-                <option value="9" <%=(startMonth.equals("9")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.October")%>
-                </option>
-                <option value="10" <%=(startMonth.equals("10")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.November")%>
-                </option>
-                <option value="11" <%=(startMonth.equals("11")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.December")%>
-                </option>
-              </select>
-              <nobr/>
-              <select class="schedulepulldown" name='reportstartday' size="3">
-                <option value="" <%=(startDay.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(),
 "maxbandwidthreport.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(), 
"maxbandwidthreport.NotSpecified")%> --</option>
-                <%
-                  k = 0;
-                  while (k < 24) {
-                    int q = k;
-                    String ampm;
-                    if (k < 12)
-                      ampm = "am";
-                    else {
-                      ampm = "pm";
-                      q -= 12;
-                    }
-                    String hour;
-                    if (q == 0)
-                      q = 12;
-                %>
-                <option value='<%=k%>' 
<%=(endHour.equals(Integer.toString(k))) ? "selected=\"selected\"" : 
""%>><%=Integer.toString(q) + " " + ampm%>
-                </option>
-                <%
-                    k++;
-                  }
-                %>
-              </select>
-              <nobr/>
-              :
-              <nobr/>
-              <select class="schedulepulldown" name='reportendminute' size="3">
-                <option value="" <%=(endMinute.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.on")%>
-              <select class="schedulepulldown" name='reportendmonth' size="3">
-                <option value="" <%=(endMonth.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.NotSpecified")%> --</option>
-                <option value="0" <%=(endMonth.equals("0")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.January")%>
-                </option>
-                <option value="1" <%=(endMonth.equals("1")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.February")%>
-                </option>
-                <option value="2" <%=(endMonth.equals("2")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.March")%>
-                </option>
-                <option value="3" <%=(endMonth.equals("3")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.April")%>
-                </option>
-                <option value="4" <%=(endMonth.equals("4")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.May")%>
-                </option>
-                <option value="5" <%=(endMonth.equals("5")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.June")%>
-                </option>
-                <option value="6" <%=(endMonth.equals("6")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.July")%>
-                </option>
-                <option value="7" <%=(endMonth.equals("7")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.August")%>
-                </option>
-                <option value="8" <%=(endMonth.equals("8")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.September")%>
-                </option>
-                <option value="9" <%=(endMonth.equals("9")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.October")%>
-                </option>
-                <option value="10" <%=(endMonth.equals("10")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.November")%>
-                </option>
-                <option value="11" <%=(endMonth.equals("11")) ? 
"selected=\"selected\"" : 
""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.December")%>
-                </option>
-              </select>
-              <nobr/>
-              <select class="schedulepulldown" name='reportendday' size="3">
-                <option value="" <%=(endDay.length() == 0) ? 
"selected=\"selected\"" : ""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.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(),"maxbandwidthreport.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.ExecuteThisQuery")%>"/></a>
-            <%
-            } else {
-            %>
-            <a name="MainButton"><input type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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.genHistoryByteCount(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(), 
"maxbandwidthreport.IdentifierClass")%>
-              </nobr>
-            </a></td>
-            <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("bytecount");'>
-              
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.HighestBandwidth")%>
-              </nobr>
-            </a></td>
-            <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("starttime");'>
-              
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.StartTime")%>
-              </nobr>
-            </a></td>
-            <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("endtime");'>
-              
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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").toString()));
-              double byteCount = Converter.asDouble(row.getValue("bytecount"));
-              double bandwidth = byteCount * 1000.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(bandwidth).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(), 
"maxbandwidthreport.Previous")%>
-                <%
-                } else {
-                %>
-                <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "maxbandwidthreport.Previous")%>
-                </a>
-                <%
-                  }
-                %>
-              </nobr>
-              <nobr>
-                <%
-                  if (hasMoreRows == false) {
-                %>
-                
<%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.Next")%>
-                <%
-                } else {
-                %>
-                <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "maxbandwidthreport.Next")%>
-                </a>
-                <%
-                  }
-                %>
-              </nobr>
-            </td>
-            <td class="reportfootercell">
-              
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.Rows")%>
-              </nobr>
-              <nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows ? 
Integer.toString(startRow + rowCount - 1) : "END")%>
-              </nobr>
-            </td>
-            <td class="reportfootercell">
-              
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.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(), 
"maxbandwidthreport.PleaseSelectAConnection")%>
-            </td>
-          </tr>
-        </table>
-        <%
-          }
-        %>
-      </form>
-      <%
-      } else {
-      %>
-      <table class="displaytable">
-        <tr>
-          <td class="separator" colspan="1">
-            <hr/>
-          </td>
-        </tr>
-        <tr>
-          <td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), 
"maxbandwidthreport.PleaseTryAgainLater")%>
-          </td>
-        </tr>
-      </table>
-      <%
-        }
-      %>
-    </td>
-  </tr>
-</table>
+    <table class="page">
+      <tr><td colspan="2" class="banner"><jsp:include page="banner.jsp" 
flush="true"/></td></tr>
+      <tr><td class="navigation"><jsp:include page="navigation.jsp" 
flush="true"/></td>
+       <td class="window">
+       <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.MaximumBandwidthReport")%></p>
+<%
+if (maintenanceUnderway == false)
+{
+       int k;
+
+       // Read the parameters.
+       String reportConnection = 
variableContext.getParameter("reportconnection");
+       if (reportConnection == null)
+               reportConnection = "";
+       String[] reportActivities;
+       if (variableContext.getParameter("reportactivities_posted") != null)
+       {
+               reportActivities = 
variableContext.getParameterValues("reportactivities");
+               if (reportActivities == null)
+                       reportActivities = new String[0];
+       }
+       else
+               reportActivities = null;
+
+       // Get the current time, so we can fill in default values where 
possible.
+       long currentTime = System.currentTimeMillis();
+
+       Long startTime = null;
+       Long endTime = null;
+
+       // Get start time, if selected
+       String startYear = variableContext.getParameter("reportstartyear");
+       String startMonth = variableContext.getParameter("reportstartmonth");
+       String startDay = variableContext.getParameter("reportstartday");
+       String startHour = variableContext.getParameter("reportstarthour");
+       String startMinute = variableContext.getParameter("reportstartminute");
+
+       // Get end time, if selected.
+       String endYear = variableContext.getParameter("reportendyear");
+       String endMonth = variableContext.getParameter("reportendmonth");
+       String endDay = variableContext.getParameter("reportendday");
+       String endHour = variableContext.getParameter("reportendhour");
+       String endMinute = variableContext.getParameter("reportendminute");
+
+       if (startYear == null && startMonth == null && startDay == null && 
startHour == null && startMinute == null &&
+           endYear == null && endMonth == null && endDay == null && endHour == 
null && endMinute == null)
+       {
+               // Nobody has selected a time range yet.  Pick the last hour.
+               endTime = null;
+               startTime = new Long(currentTime - 1000L * 60L * 60L);
+       }
+       else
+       {
+               // Get start time, if selected
+               if (startYear == null)
+                       startYear = "";
+               if (startMonth == null)
+                       startMonth = "";
+               if (startDay == null)
+                       startDay = "";
+               if (startHour == null)
+                       startHour = "";
+               if (startMinute == null)
+                       startMinute = "";
+
+               // Get end time, if selected.
+               if (endYear == null)
+                       endYear = "";
+               if (endMonth == null)
+                       endMonth = "";
+               if (endDay == null)
+                       endDay = "";
+               if (endHour == null)
+                       endHour = "";
+               if (endMinute == null)
+                       endMinute = "";
+
+               if (startYear.length() == 0 || startMonth.length() == 0 || 
startDay.length() == 0 || startHour.length() == 0 || startMinute.length() == 0)
+               {
+                       // Undetermined start
+                       startTime = null;
+               }
+               else
+               {
+                       // Convert the specified times to a long.
+                       Calendar c = new GregorianCalendar();
+                       c.set(Calendar.YEAR,Integer.parseInt(startYear));
+                       c.set(Calendar.MONTH,Integer.parseInt(startMonth));
+                       c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(startDay) 
+ 1);
+                       c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(startHour));
+                       c.set(Calendar.MINUTE,Integer.parseInt(startMinute));
+                       startTime = new Long(c.getTimeInMillis());
+               }
+               if (endYear.length() == 0 || endMonth.length() == 0 || 
endDay.length() == 0 || endHour.length() == 0 || endMinute.length() == 0)
+               {
+                       // Undetermined end
+                       endTime = null;
+               }
+               else
+               {
+                       // Convert the specified times to a long.
+                       Calendar c = new GregorianCalendar();
+                       c.set(Calendar.YEAR,Integer.parseInt(endYear));
+                       c.set(Calendar.MONTH,Integer.parseInt(endMonth));
+                       c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(endDay) + 
1);
+                       c.set(Calendar.HOUR_OF_DAY,Integer.parseInt(endHour));
+                       c.set(Calendar.MINUTE,Integer.parseInt(endMinute));
+                       endTime = new Long(c.getTimeInMillis());
+               }
+       }
+
+       // Now, turn the startTime and endTime back into fielded values.  The 
values will be blank where there is no limit.
+       if (startTime == null)
+       {
+               startYear = "";
+               startMonth = "";
+               startDay = "";
+               startHour = "";
+               startMinute = "";
+       }
+       else
+       {
+               // Do the conversion
+               Calendar c = new GregorianCalendar();
+               c.setTimeInMillis(startTime.longValue());
+               startYear = Integer.toString(c.get(Calendar.YEAR));
+               startMonth = Integer.toString(c.get(Calendar.MONTH));
+               startDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1);
+               startHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
+               startMinute = Integer.toString(c.get(Calendar.MINUTE));
+       }
+
+       if (endTime == null)
+       {
+               endYear = "";
+               endMonth = "";
+               endDay = "";
+               endHour = "";
+               endMinute = "";
+
+       }
+       else
+       {
+               // Do the conversion
+               Calendar c = new GregorianCalendar();
+               c.setTimeInMillis(endTime.longValue());
+               endYear = Integer.toString(c.get(Calendar.YEAR));
+               endMonth = Integer.toString(c.get(Calendar.MONTH));
+               endDay = Integer.toString(c.get(Calendar.DAY_OF_MONTH)-1);
+               endHour = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
+               endMinute = Integer.toString(c.get(Calendar.MINUTE));
+       }
+
+       // Get the entity match string.
+       String entityMatch = variableContext.getParameter("reportentitymatch");
+       if (entityMatch == null)
+               entityMatch = "";
+
+       // Get the resultcode match string.
+       String resultCodeMatch = 
variableContext.getParameter("reportresultcodematch");
+       if (resultCodeMatch == null)
+               resultCodeMatch = "";
+
+       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="maxbandwidthreport"/>
+               <table class="displaytable">
+                       <tr>
+                               <td class="separator" colspan="4"><hr/></td>
+                       </tr>
+                       <tr>
+                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Connection")%></td><td
 class="value" colspan="1">
+                                       <select name="reportconnection" 
size="3">
+                                               <option 
<%=(reportConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.NotSpecified")%>
 --</option>
+<%
+                                       k = 0;
+                                       while (k < 24)
+                                       {
+                                               int q = k;
+                                               String ampm;
+                                               if (k < 12)
+                                                       ampm = "am";
+                                               else
+                                               {
+                                                       ampm = "pm";
+                                                       q -= 12;
+                                               }
+                                               String hour;
+                                               if (q == 0)
+                                                       q = 12;
+%>
+                                               <option value='<%=k%>' 
<%=(startHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
+<%                                             
+                                               k++;
+                                       }
+%>
+                                   </select><nobr/>:<nobr/> 
+                                   <select class="schedulepulldown" 
name='reportstartminute' size="3">
+                                       <option value="" 
<%=(startMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.on")%>
 
+                                   <select class="schedulepulldown" 
name='reportstartmonth' size="3">
+                                       <option value="" 
<%=(startMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.NotSpecified")%>
 --</option>
+                                       <option value="0" 
<%=(startMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.January")%></option>
+                                       <option value="1" 
<%=(startMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.February")%></option>
+                                       <option value="2" 
<%=(startMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.March")%></option>
+                                       <option value="3" 
<%=(startMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.April")%></option>
+                                       <option value="4" 
<%=(startMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.May")%></option>
+                                       <option value="5" 
<%=(startMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.June")%></option>
+                                       <option value="6" 
<%=(startMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.July")%></option>
+                                       <option value="7" 
<%=(startMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.August")%></option>
+                                       <option value="8" 
<%=(startMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.September")%></option>
+                                       <option value="9" 
<%=(startMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.October")%></option>
+                                       <option value="10" 
<%=(startMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.November")%></option>
+                                       <option value="11" 
<%=(startMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.December")%></option>
+                                   </select><nobr/>
+                                   <select class="schedulepulldown" 
name='reportstartday' size="3">
+                                       <option value="" 
<%=(startDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.NotSpecified")%>
 --</option>
+<%
+                                       k = 0;
+                                       while (k < 24)
+                                       {
+                                               int q = k;
+                                               String ampm;
+                                               if (k < 12)
+                                                       ampm = "am";
+                                               else
+                                               {
+                                                       ampm = "pm";
+                                                       q -= 12;
+                                               }
+                                               String hour;
+                                               if (q == 0)
+                                                       q = 12;
+%>
+                                               <option value='<%=k%>' 
<%=(endHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
+<%                                             
+                                               k++;
+                                       }
+%>
+                                   </select><nobr/>:<nobr/> 
+                                   <select class="schedulepulldown" 
name='reportendminute' size="3">
+                                       <option value="" 
<%=(endMinute.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.on")%>
 
+                                   <select class="schedulepulldown" 
name='reportendmonth' size="3">
+                                       <option value="" 
<%=(endMonth.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.NotSpecified")%>
 --</option>
+                                       <option value="0" 
<%=(endMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.January")%></option>
+                                       <option value="1" 
<%=(endMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.February")%></option>
+                                       <option value="2" 
<%=(endMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.March")%></option>
+                                       <option value="3" 
<%=(endMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.April")%></option>
+                                       <option value="4" 
<%=(endMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.May")%></option>
+                                       <option value="5" 
<%=(endMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.June")%></option>
+                                       <option value="6" 
<%=(endMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.July")%></option>
+                                       <option value="7" 
<%=(endMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.August")%></option>
+                                       <option value="8" 
<%=(endMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.September")%></option>
+                                       <option value="9" 
<%=(endMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.October")%></option>
+                                       <option value="10" 
<%=(endMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.November")%></option>
+                                       <option value="11" 
<%=(endMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.December")%></option>
+                                   </select><nobr/>
+                                   <select class="schedulepulldown" 
name='reportendday' size="3">
+                                       <option value="" 
<%=(endDay.length()==0)?"selected=\"selected\"":""%>>-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.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(),"maxbandwidthreport.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.ExecuteThisQuery")%>"/></a>
+<%
+       }
+       else
+       {
+%>
+                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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.genHistoryByteCount(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(),"maxbandwidthreport.IdentifierClass")%></nobr></a></td>
+                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("bytecount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.HighestBandwidth")%></nobr></a></td>
+                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("starttime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.StartTime")%></nobr></a></td>
+                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("endtime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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").toString()));
+                           double byteCount = 
Converter.asDouble(row.getValue("bytecount"));
+                               double bandwidth = byteCount * 1000.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(bandwidth).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(),"maxbandwidthreport.Previous")%>
+<%
+               }
+               else
+               {
+%>
+                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Previous")%></a>
+<%
+               }
+%>
+                               </nobr>
+                               <nobr>
+<%
+               if (hasMoreRows == false)
+               {
+%>
+                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Next")%>
+<%
+               }
+               else
+               {
+%>
+                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxbandwidthreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Next")%></a>
+<%
+               }
+%>
+                               </nobr>
+                       </td>
+                       <td class="reportfootercell">
+                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.Rows")%></nobr>
+                               
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
+                       </td>
+                       <td class="reportfootercell">
+                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.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(),"maxbandwidthreport.PleaseSelectAConnection")%></td></tr></table>
+<%
+       }
+%>
+       </form>
+<%
+}
+else
+{
+%>
+               <table class="displaytable">
+                       <tr><td class="separator" colspan="1"><hr/></td></tr>
+                       <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxbandwidthreport.PleaseTryAgainLater")%></td></tr>
+               </table>
+<%
+}
+%>
+       </td>
+      </tr>
+    </table>
 
 </body>
 


Reply via email to