You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by ki...@apache.org on 2015/06/12 02:55:36 UTC
svn commit: r1685010 [10/18] -
/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/
Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp?rev=1685010&r1=1685009&r2=1685010&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp Fri Jun 12 00:55:35 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,818 +30,877 @@ boolean maintenanceUnderway = org.apache
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/>
- <title>
- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.ApacheManifoldCFMaximumActivityReport")%>
- </title>
-
- <script type="text/javascript">
- <!--
-
- function Go()
- {
- if (!isInteger(report.rowcount.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalNumberForRowsPerPage")%>");
- report.rowcount.focus();
- return;
- }
- if (!isInteger(report.reportinterval.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalIntervalSizeInMinutes")%>");
- report.reportinterval.focus();
- return;
- }
- if (report.reportbucketdesc.value == "")
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionCannotBeEmpty")%>");
- report.reportbucketdesc.focus();
- return;
- }
- if (!isRegularExpression(report.reportbucketdesc.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
- report.reportbucketdesc.focus();
- return;
- }
- if (report.reportbucketdesc.value.indexOf("(") == -1 || report.reportbucketdesc.value.indexOf(")") == -1)
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
- report.reportbucketdesc.focus();
- return;
- }
- if (!isRegularExpression(report.reportentitymatch.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
- report.reportentitymatch.focus();
- return;
- }
- if (!isRegularExpression(report.reportresultcodematch.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
- report.reportresultcodematch.focus();
- return;
- }
-
- document.report.op.value="Report";
- document.report.action = document.report.action + "#MainButton";
- document.report.submit();
- }
-
- function Continue()
- {
- if (!isRegularExpression(report.reportentitymatch.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
- report.reportentitymatch.focus();
- return;
- }
- if (!isRegularExpression(report.reportresultcodematch.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
- report.reportresultcodematch.focus();
- return;
- }
- if (!isRegularExpression(report.reportbucketdesc.value))
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
- report.reportbucketdesc.focus();
- return;
- }
- if (report.reportbucketdesc.value.indexOf("(") == -1 || report.reportbucketdesc.value.indexOf(")") == -1)
- {
- alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
- report.reportbucketdesc.focus();
- return;
- }
-
- document.report.op.value="Continue";
- document.report.action = document.report.action + "#MainButton";
- document.report.submit();
- }
-
- function ColumnClick(colname)
- {
- document.report.clickcolumn.value = colname;
- Go();
- }
-
- function SetPosition(amt)
- {
- if (amt < 0)
- amt = 0;
- document.report.startrow.value = amt;
- Go();
- }
-
- function isRegularExpression(value)
- {
- try
- {
- var foo = "teststring";
- 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(), "maxactivityreport.ApacheManifoldCFMaximumActivityReport")%>
+ </title>
+
+ <script type="text/javascript">
+ <!--
+
+ function Go() {
+ if (!isInteger(report.rowcount.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalNumberForRowsPerPage")%>");
+ report.rowcount.focus();
+ return;
+ }
+ if (!isInteger(report.reportinterval.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EnterALegalIntervalSizeInMinutes")%>");
+ report.reportinterval.focus();
+ return;
+ }
+ if (report.reportbucketdesc.value == "") {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionCannotBeEmpty")%>");
+ report.reportbucketdesc.focus();
+ return;
+ }
+ if (!isRegularExpression(report.reportbucketdesc.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+ report.reportbucketdesc.focus();
+ return;
+ }
+ if (report.reportbucketdesc.value.indexOf("(") == -1 || report.reportbucketdesc.value.indexOf(")") == -1) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
+ report.reportbucketdesc.focus();
+ return;
+ }
+ if (!isRegularExpression(report.reportentitymatch.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
+ report.reportentitymatch.focus();
+ return;
+ }
+ if (!isRegularExpression(report.reportresultcodematch.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+ report.reportresultcodematch.focus();
+ return;
+ }
+
+ document.report.op.value = "Report";
+ document.report.action = document.report.action + "#MainButton";
+ document.report.submit();
+ }
+
+ function Continue() {
+ if (!isRegularExpression(report.reportentitymatch.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatchMustBeAValidRegularExpression")%>");
+ report.reportentitymatch.focus();
+ return;
+ }
+ if (!isRegularExpression(report.reportresultcodematch.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatchMustBeAValidRegularExpression")%>");
+ report.reportresultcodematch.focus();
+ return;
+ }
+ if (!isRegularExpression(report.reportbucketdesc.value)) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustBeAValidRegularExpression")%>");
+ report.reportbucketdesc.focus();
+ return;
+ }
+ if (report.reportbucketdesc.value.indexOf("(") == -1 || report.reportbucketdesc.value.indexOf(")") == -1) {
+ alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescriptionMustDelimitAClassWithParentheses")%>");
+ report.reportbucketdesc.focus();
+ return;
+ }
+
+ document.report.op.value = "Continue";
+ document.report.action = document.report.action + "#MainButton";
+ document.report.submit();
+ }
+
+ function ColumnClick(colname) {
+ document.report.clickcolumn.value = colname;
+ Go();
+ }
+
+ function SetPosition(amt) {
+ if (amt < 0)
+ amt = 0;
+ document.report.startrow.value = amt;
+ Go();
+ }
+
+ function isRegularExpression(value) {
+ try {
+ var foo = "teststring";
+ foo.search(value.replace(/\(\?i\)/, ""));
+ return true;
+ }
+ catch (e) {
+ return false;
+ }
+
+ }
+
+ function isInteger(value) {
+ var anum = /(^\d+$)/;
+ return anum.test(value);
+ }
- //-->
- </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(),"maxactivityreport.MaximumActivityReport")%></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="maxactivityreport"/>
- <table class="displaytable">
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
- <tr>
- <td class="description" colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Connection")%></td><td class="value" colspan="1">
- <select name="reportconnection" size="3">
- <option <%=(reportConnection.length()==0)?"selected=\"selected\"":""%> value="">-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- int i = 0;
- while (i < connList.length)
- {
- IRepositoryConnection conn = connList[i++];
- String thisConnectionName = conn.getName();
- String thisDescription = conn.getDescription();
- if (thisDescription == null || thisDescription.length() == 0)
- thisDescription = thisConnectionName;
-%>
- <option <%=(thisConnectionName.equals(reportConnection))?"selected=\"selected\"":""%> value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%></option>
-<%
- }
-%>
- </select>
- </td>
-<%
- if (reportConnection.length() > 0)
- {
-%>
- <td class="description" colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Activities")%></td><td class="value" colspan="1">
- <input type="hidden" name="reportactivities_posted" value="true"/>
- <select multiple="true" name="reportactivities" size="3">
-<%
- i = 0;
- while (i < activityList.length)
- {
- String activity = activityList[i++];
-%>
- <option <%=((selectedActivities.get(activity)==null)?"":"selected=\"selected\"")%> value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(activity)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(activity)%></option>
-<%
- }
-%>
- </select>
- </td>
-<%
- }
- else
- {
-%>
- <td class="value" colspan="2"></td>
-<%
- }
-%>
-
- </tr>
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
- <tr>
- <td class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.StartTime")%></td>
- <td class="value" colspan="3">
- <select class="schedulepulldown" name='reportstarthour' size="3">
- <option value="" <%=(startHour.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 24)
- {
- int q = k;
- String ampm;
- if (k < 12)
- ampm = "am";
- else
- {
- ampm = "pm";
- q -= 12;
- }
- String hour;
- if (q == 0)
- q = 12;
-%>
- <option value='<%=k%>' <%=(startHour.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(q)+" "+ampm%></option>
-<%
- k++;
- }
-%>
- </select><nobr/>:<nobr/>
- <select class="schedulepulldown" name='reportstartminute' size="3">
- <option value="" <%=(startMinute.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 60)
- {
-%>
- <option value='<%=k%>' <%=(startMinute.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k)%></option>
-<%
- k++;
- }
-%>
- </select> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.on")%>
- <select class="schedulepulldown" name='reportstartmonth' size="3">
- <option value="" <%=(startMonth.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
- <option value="0" <%=(startMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
- <option value="1" <%=(startMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
- <option value="2" <%=(startMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
- <option value="3" <%=(startMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
- <option value="4" <%=(startMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
- <option value="5" <%=(startMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
- <option value="6" <%=(startMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
- <option value="7" <%=(startMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
- <option value="8" <%=(startMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
- <option value="9" <%=(startMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
- <option value="10" <%=(startMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
- <option value="11" <%=(startMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
- </select><nobr/>
- <select class="schedulepulldown" name='reportstartday' size="3">
- <option value="" <%=(startDay.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 31)
- {
- int value = (k+1) % 10;
- String suffix;
- if (value == 1 && k != 10)
- suffix = "st";
- else if (value == 2 && k != 11)
- suffix = "nd";
- else if (value == 3 && k != 12)
- suffix = "rd";
- else
- suffix = "th";
-%>
- <option value='<%=Integer.toString(k)%>' <%=(startDay.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k+1)+suffix%></option>
-<%
- k++;
- }
-%>
- </select><nobr/>,<nobr/>
- <select class="schedulepulldown" name='reportstartyear' size="3">
- <option value="" <%=(startYear.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
- <option value="2005" <%=(startYear.equals("2005"))?"selected=\"selected\"":""%>>2005</option>
- <option value="2006" <%=(startYear.equals("2006"))?"selected=\"selected\"":""%>>2006</option>
- <option value="2007" <%=(startYear.equals("2007"))?"selected=\"selected\"":""%>>2007</option>
- <option value="2008" <%=(startYear.equals("2008"))?"selected=\"selected\"":""%>>2008</option>
- <option value="2009" <%=(startYear.equals("2009"))?"selected=\"selected\"":""%>>2009</option>
- <option value="2010" <%=(startYear.equals("2010"))?"selected=\"selected\"":""%>>2010</option>
- <option value="2011" <%=(startYear.equals("2011"))?"selected=\"selected\"":""%>>2011</option>
- <option value="2012" <%=(startYear.equals("2012"))?"selected=\"selected\"":""%>>2012</option>
- <option value="2013" <%=(startYear.equals("2013"))?"selected=\"selected\"":""%>>2013</option>
- <option value="2014" <%=(startYear.equals("2014"))?"selected=\"selected\"":""%>>2014</option>
- <option value="2015" <%=(startYear.equals("2015"))?"selected=\"selected\"":""%>>2015</option>
- </select>
- </td>
- </tr>
- <tr>
- <td class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.EndTime")%></td>
- <td class="value" colspan="3">
- <select class="schedulepulldown" name='reportendhour' size="3">
- <option value="" <%=(endHour.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 24)
- {
- int q = k;
- String ampm;
- if (k < 12)
- ampm = "am";
- else
- {
- ampm = "pm";
- q -= 12;
- }
- String hour;
- if (q == 0)
- q = 12;
-%>
- <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(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 60)
- {
-%>
- <option value='<%=k%>' <%=(endMinute.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k)%></option>
-<%
- k++;
- }
-%>
- </select> <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.on")%>
- <select class="schedulepulldown" name='reportendmonth' size="3">
- <option value="" <%=(endMonth.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
- <option value="0" <%=(endMonth.equals("0"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.January")%></option>
- <option value="1" <%=(endMonth.equals("1"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.February")%></option>
- <option value="2" <%=(endMonth.equals("2"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.March")%></option>
- <option value="3" <%=(endMonth.equals("3"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.April")%></option>
- <option value="4" <%=(endMonth.equals("4"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.May")%></option>
- <option value="5" <%=(endMonth.equals("5"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.June")%></option>
- <option value="6" <%=(endMonth.equals("6"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.July")%></option>
- <option value="7" <%=(endMonth.equals("7"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.August")%></option>
- <option value="8" <%=(endMonth.equals("8"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.September")%></option>
- <option value="9" <%=(endMonth.equals("9"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.October")%></option>
- <option value="10" <%=(endMonth.equals("10"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.November")%></option>
- <option value="11" <%=(endMonth.equals("11"))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.December")%></option>
- </select><nobr/>
- <select class="schedulepulldown" name='reportendday' size="3">
- <option value="" <%=(endDay.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
-<%
- k = 0;
- while (k < 31)
- {
- int value = (k+1) % 10;
- String suffix;
- if (value == 1 && k != 10)
- suffix = "st";
- else if (value == 2 && k != 11)
- suffix = "nd";
- else if (value == 3 && k != 12)
- suffix = "rd";
- else
- suffix = "th";
-%>
- <option value='<%=Integer.toString(k)%>' <%=(endDay.equals(Integer.toString(k)))?"selected=\"selected\"":""%>><%=Integer.toString(k+1)+suffix%></option>
-<%
- k++;
- }
-%>
- </select><nobr/>,<nobr/>
- <select class="schedulepulldown" name='reportendyear' size="3">
- <option value="" <%=(endYear.length()==0)?"selected=\"selected\"":""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.NotSpecified")%> --</option>
- <option value="2005" <%=(endYear.equals("2005"))?"selected=\"selected\"":""%>>2005</option>
- <option value="2006" <%=(endYear.equals("2006"))?"selected=\"selected\"":""%>>2006</option>
- <option value="2007" <%=(endYear.equals("2007"))?"selected=\"selected\"":""%>>2007</option>
- <option value="2008" <%=(endYear.equals("2008"))?"selected=\"selected\"":""%>>2008</option>
- <option value="2009" <%=(endYear.equals("2009"))?"selected=\"selected\"":""%>>2009</option>
- <option value="2010" <%=(endYear.equals("2010"))?"selected=\"selected\"":""%>>2010</option>
- <option value="2011" <%=(endYear.equals("2011"))?"selected=\"selected\"":""%>>2011</option>
- <option value="2012" <%=(endYear.equals("2012"))?"selected=\"selected\"":""%>>2012</option>
- <option value="2013" <%=(endYear.equals("2013"))?"selected=\"selected\"":""%>>2013</option>
- <option value="2014" <%=(endYear.equals("2014"))?"selected=\"selected\"":""%>>2014</option>
- <option value="2015" <%=(endYear.equals("2015"))?"selected=\"selected\"":""%>>2015</option>
- </select>
- </td>
- </tr>
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
- <tr>
- <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.EntityMatch")%></nobr></td>
- <td class="value"><input type="text" name="reportentitymatch" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(entityMatch)%>'/></td>
- <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.ResultCodeMatch")%></nobr></td>
- <td class="value"><input type="text" name="reportresultcodematch" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(resultCodeMatch)%>'/></td>
- </tr>
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
-
- <tr>
- <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClassDescription")%></nobr></td>
- <td class="value"><input type="text" name="reportbucketdesc" size="20" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(reportBucketDesc)%>'/></td>
- <td class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.SlidingWindowSize")%></nobr></td>
- <td class="value"><input type="text" name="reportinterval" size="5" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(Integer.toString(interval))%>'/></td>
- </tr>
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
- <td class="message" colspan="4">
-<%
- if (reportConnection.length() > 0)
- {
-%>
- <a name="MainButton"><input type="button" value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Go")%>" onClick="javascript:Go()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.ExecuteThisQuery")%>"/></a>
-<%
- }
- else
- {
-%>
- <a name="MainButton"><input type="button" value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>" onClick="javascript:Continue()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>"/></a>
-<%
- }
-%>
- </td>
- <tr>
- <td class="separator" colspan="4"><hr/></td>
- </tr>
-
- </table>
-<%
- if (reportConnection.length() > 0)
- {
- // Run the report.
-
- // First, we need to gather the sort order object.
- String sortOrderString = variableContext.getParameter("sortorder");
- SortOrder sortOrder;
- if (sortOrderString == null || sortOrderString.length() == 0)
- sortOrder = new SortOrder();
- else
- sortOrder = new SortOrder(sortOrderString);
-
- // Now, gather the column header that was clicked on (if any)
- String clickedColumn = variableContext.getParameter("clickcolumn");
- if (clickedColumn != null && clickedColumn.length() > 0)
- sortOrder.clickColumn(clickedColumn);
-
- // Gather the start
- String startRowString = variableContext.getParameter("startrow");
- int startRow = 0;
- if (startRowString != null && startRowString.length() > 0)
- startRow = Integer.parseInt(startRowString);
-
- // Gather the max
- String maxRowCountString = variableContext.getParameter("rowcount");
- int rowCount = 20;
- if (maxRowCountString != null && maxRowCountString.length() > 0)
- rowCount = Integer.parseInt(maxRowCountString);
-
- String[] ourActivities = new String[selectedActivities.size()];
- Iterator iter = selectedActivities.keySet().iterator();
- int zz = 0;
- while (iter.hasNext())
- {
- ourActivities[zz++] = (String)iter.next();
- }
-
- RegExpCriteria entityMatchObject = null;
- if (entityMatch.length() > 0)
- entityMatchObject = new RegExpCriteria(entityMatch,true);
- RegExpCriteria resultCodeMatchObject = null;
- if (resultCodeMatch.length() > 0)
- resultCodeMatchObject = new RegExpCriteria(resultCodeMatch,true);
- FilterCriteria criteria = new FilterCriteria(ourActivities,startTime,endTime,entityMatchObject,resultCodeMatchObject);
-%>
- <input type="hidden" name="clickcolumn" value=""/>
- <input type="hidden" name="startrow" value='<%=Integer.toString(startRow)%>'/>
- <input type="hidden" name="sortorder" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
-<%
- long count = connMgr.countHistoryRows(reportConnection,criteria);
- long maxCount = connMgr.getMaxRows();
- boolean hasMoreRows;
- if (count > maxCount)
- {
- hasMoreRows = false;
-%>
- <table class="displaytable"><tr><td class="message">You have selected <%=new Long(count).toString()%> rows. Maximum allowed is <%=new Long(maxCount).toString()%>.</td></tr></table>
-<%
- }
- else
- {
- BucketDescription idBucket = new BucketDescription(reportBucketDesc,false);
-
- IResultSet set = connMgr.genHistoryActivityCount(reportConnection,criteria,sortOrder,idBucket,
- intervalMilliseconds,startRow,rowCount+1);
-
-%>
-
- <table class="displaytable">
- <tr class="headerrow">
- <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("idbucket");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.IdentifierClass")%></nobr></a></td>
- <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("activitycount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.HighestActivityRate")%></nobr></a></td>
- <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("starttime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.StartTime")%></nobr></a></td>
- <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("endtime");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.EndTime")%></nobr></a></td>
- </tr>
-<%
- zz = 0;
- hasMoreRows = (set.getRowCount() > rowCount);
- int iterCount = hasMoreRows?rowCount:set.getRowCount();
- while (zz < iterCount)
- {
- IResultRow row = set.getRow(zz);
- Object idBucketObject = row.getValue("idbucket");
- String idBucketString;
- if (idBucketObject == null)
- idBucketString = "";
- else
- idBucketString = idBucketObject.toString();
-
- String startTimeString = org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
- String endTimeString = org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("endtime")));
- double activityCount = Converter.asDouble(row.getValue("activitycount"));
- double activityRate = activityCount * 60000.0 / intervalMilliseconds;
-
-%>
- <tr <%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
- <td class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(idBucketString)%></nobr></td>
- <td class="reportcolumncell"><%=new Double(activityRate).toString()%></td>
- <td class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(startTimeString)%></nobr></td>
- <td class="reportcolumncell"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(endTimeString)%></nobr></td>
- </tr>
-<%
- zz++;
- }
-%>
- </table>
-<%
- }
-%>
- <table class="reportfootertable">
- <tr class="reportfooterrow">
- <td class="reportfootercell">
- <nobr>
-<%
- if (startRow == 0)
- {
-%>
- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%>
-<%
- }
- else
- {
-%>
- <a href="javascript:void(0);" onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Previous")%></a>
-<%
- }
-%>
- </nobr>
- <nobr>
-<%
- if (hasMoreRows == false)
- {
-%>
- <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%>
-<%
- }
- else
- {
-%>
- <a href="javascript:void(0);" onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Next")%></a>
-<%
- }
-%>
- </nobr>
- </td>
- <td class="reportfootercell">
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.Rows")%></nobr>
- <nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
- </td>
- <td class="reportfootercell">
- <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.RowsPerPage")%></nobr>
- <nobr><input type="text" name="rowcount" size="5" value='<%=Integer.toString(rowCount)%>'/></nobr>
- </td>
- </tr>
- </table>
-
-<%
- }
- else
- {
-%>
- <table class="displaytable"><tr><td class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.PleaseSelectAConnection")%></td></tr></table>
-<%
- }
-%>
- </form>
-<%
-}
-else
-{
-%>
- <table class="displaytable">
- <tr><td class="separator" colspan="1"><hr/></td></tr>
- <tr><td class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"maxactivityreport.PleaseTryAgainLater")%></td></tr>
- </table>
-<%
-}
-%>
- </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(), "maxactivityreport.MaximumActivityReport")%>
+ </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="maxactivityreport"/>
+ <table class="displaytable">
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+ <tr>
+ <td class="description" colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Connection")%>
+ </td>
+ <td class="value" colspan="1">
+ <select name="reportconnection" size="3">
+ <option <%=(reportConnection.length() == 0) ? "selected=\"selected\"" : ""%> value="">-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ int i = 0;
+ while (i < connList.length) {
+ IRepositoryConnection conn = connList[i++];
+ String thisConnectionName = conn.getName();
+ String thisDescription = conn.getDescription();
+ if (thisDescription == null || thisDescription.length() == 0)
+ thisDescription = thisConnectionName;
+ %>
+ <option <%=(thisConnectionName.equals(reportConnection)) ? "selected=\"selected\"" : ""%> value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+ </td>
+ <%
+ if (reportConnection.length() > 0) {
+ %>
+ <td class="description" colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Activities")%>
+ </td>
+ <td class="value" colspan="1">
+ <input type="hidden" name="reportactivities_posted" value="true"/>
+ <select multiple="true" name="reportactivities" size="3">
+ <%
+ i = 0;
+ while (i < activityList.length) {
+ String activity = activityList[i++];
+ %>
+ <option <%=((selectedActivities.get(activity) == null) ? "" : "selected=\"selected\"")%> value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(activity)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(activity)%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+ </td>
+ <%
+ } else {
+ %>
+ <td class="value" colspan="2"></td>
+ <%
+ }
+ %>
+
+ </tr>
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+ <tr>
+ <td class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.StartTime")%>
+ </td>
+ <td class="value" colspan="3">
+ <select class="schedulepulldown" name='reportstarthour' size="3">
+ <option value="" <%=(startHour.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 24) {
+ int q = k;
+ String ampm;
+ if (k < 12)
+ ampm = "am";
+ else {
+ ampm = "pm";
+ q -= 12;
+ }
+ String hour;
+ if (q == 0)
+ q = 12;
+ %>
+ <option value='<%=k%>' <%=(startHour.equals(Integer.toString(k))) ? "selected=\"selected\"" : ""%>><%=Integer.toString(q) + " " + ampm%>
+ </option>
+ <%
+ k++;
+ }
+ %>
+ </select>
+ <nobr/>
+ :
+ <nobr/>
+ <select class="schedulepulldown" name='reportstartminute' size="3">
+ <option value="" <%=(startMinute.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 60) {
+ %>
+ <option value='<%=k%>' <%=(startMinute.equals(Integer.toString(k))) ? "selected=\"selected\"" : ""%>><%=Integer.toString(k)%>
+ </option>
+ <%
+ k++;
+ }
+ %>
+ </select> <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.on")%>
+ <select class="schedulepulldown" name='reportstartmonth' size="3">
+ <option value="" <%=(startMonth.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <option value="0" <%=(startMonth.equals("0")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.January")%>
+ </option>
+ <option value="1" <%=(startMonth.equals("1")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.February")%>
+ </option>
+ <option value="2" <%=(startMonth.equals("2")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.March")%>
+ </option>
+ <option value="3" <%=(startMonth.equals("3")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.April")%>
+ </option>
+ <option value="4" <%=(startMonth.equals("4")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.May")%>
+ </option>
+ <option value="5" <%=(startMonth.equals("5")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.June")%>
+ </option>
+ <option value="6" <%=(startMonth.equals("6")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.July")%>
+ </option>
+ <option value="7" <%=(startMonth.equals("7")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.August")%>
+ </option>
+ <option value="8" <%=(startMonth.equals("8")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.September")%>
+ </option>
+ <option value="9" <%=(startMonth.equals("9")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.October")%>
+ </option>
+ <option value="10" <%=(startMonth.equals("10")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.November")%>
+ </option>
+ <option value="11" <%=(startMonth.equals("11")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.December")%>
+ </option>
+ </select>
+ <nobr/>
+ <select class="schedulepulldown" name='reportstartday' size="3">
+ <option value="" <%=(startDay.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 31) {
+ int value = (k + 1) % 10;
+ String suffix;
+ if (value == 1 && k != 10)
+ suffix = "st";
+ else if (value == 2 && k != 11)
+ suffix = "nd";
+ else if (value == 3 && k != 12)
+ suffix = "rd";
+ else
+ suffix = "th";
+ %>
+ <option value='<%=Integer.toString(k)%>' <%=(startDay.equals(Integer.toString(k))) ? "selected=\"selected\"" : ""%>><%=Integer.toString(k + 1) + suffix%>
+ </option>
+ <%
+ k++;
+ }
+ %>
+ </select>
+ <nobr/>
+ ,
+ <nobr/>
+ <select class="schedulepulldown" name='reportstartyear' size="3">
+ <option value="" <%=(startYear.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <option value="2005" <%=(startYear.equals("2005")) ? "selected=\"selected\"" : ""%>>2005</option>
+ <option value="2006" <%=(startYear.equals("2006")) ? "selected=\"selected\"" : ""%>>2006</option>
+ <option value="2007" <%=(startYear.equals("2007")) ? "selected=\"selected\"" : ""%>>2007</option>
+ <option value="2008" <%=(startYear.equals("2008")) ? "selected=\"selected\"" : ""%>>2008</option>
+ <option value="2009" <%=(startYear.equals("2009")) ? "selected=\"selected\"" : ""%>>2009</option>
+ <option value="2010" <%=(startYear.equals("2010")) ? "selected=\"selected\"" : ""%>>2010</option>
+ <option value="2011" <%=(startYear.equals("2011")) ? "selected=\"selected\"" : ""%>>2011</option>
+ <option value="2012" <%=(startYear.equals("2012")) ? "selected=\"selected\"" : ""%>>2012</option>
+ <option value="2013" <%=(startYear.equals("2013")) ? "selected=\"selected\"" : ""%>>2013</option>
+ <option value="2014" <%=(startYear.equals("2014")) ? "selected=\"selected\"" : ""%>>2014</option>
+ <option value="2015" <%=(startYear.equals("2015")) ? "selected=\"selected\"" : ""%>>2015</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.EndTime")%>
+ </td>
+ <td class="value" colspan="3">
+ <select class="schedulepulldown" name='reportendhour' size="3">
+ <option value="" <%=(endHour.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 24) {
+ int q = k;
+ String ampm;
+ if (k < 12)
+ ampm = "am";
+ else {
+ ampm = "pm";
+ q -= 12;
+ }
+ String hour;
+ if (q == 0)
+ q = 12;
+ %>
+ <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(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 60) {
+ %>
+ <option value='<%=k%>' <%=(endMinute.equals(Integer.toString(k))) ? "selected=\"selected\"" : ""%>><%=Integer.toString(k)%>
+ </option>
+ <%
+ k++;
+ }
+ %>
+ </select> <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.on")%>
+ <select class="schedulepulldown" name='reportendmonth' size="3">
+ <option value="" <%=(endMonth.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <option value="0" <%=(endMonth.equals("0")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.January")%>
+ </option>
+ <option value="1" <%=(endMonth.equals("1")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.February")%>
+ </option>
+ <option value="2" <%=(endMonth.equals("2")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.March")%>
+ </option>
+ <option value="3" <%=(endMonth.equals("3")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.April")%>
+ </option>
+ <option value="4" <%=(endMonth.equals("4")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.May")%>
+ </option>
+ <option value="5" <%=(endMonth.equals("5")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.June")%>
+ </option>
+ <option value="6" <%=(endMonth.equals("6")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.July")%>
+ </option>
+ <option value="7" <%=(endMonth.equals("7")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.August")%>
+ </option>
+ <option value="8" <%=(endMonth.equals("8")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.September")%>
+ </option>
+ <option value="9" <%=(endMonth.equals("9")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.October")%>
+ </option>
+ <option value="10" <%=(endMonth.equals("10")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.November")%>
+ </option>
+ <option value="11" <%=(endMonth.equals("11")) ? "selected=\"selected\"" : ""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.December")%>
+ </option>
+ </select>
+ <nobr/>
+ <select class="schedulepulldown" name='reportendday' size="3">
+ <option value="" <%=(endDay.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <%
+ k = 0;
+ while (k < 31) {
+ int value = (k + 1) % 10;
+ String suffix;
+ if (value == 1 && k != 10)
+ suffix = "st";
+ else if (value == 2 && k != 11)
+ suffix = "nd";
+ else if (value == 3 && k != 12)
+ suffix = "rd";
+ else
+ suffix = "th";
+ %>
+ <option value='<%=Integer.toString(k)%>' <%=(endDay.equals(Integer.toString(k))) ? "selected=\"selected\"" : ""%>><%=Integer.toString(k + 1) + suffix%>
+ </option>
+ <%
+ k++;
+ }
+ %>
+ </select>
+ <nobr/>
+ ,
+ <nobr/>
+ <select class="schedulepulldown" name='reportendyear' size="3">
+ <option value="" <%=(endYear.length() == 0) ? "selected=\"selected\"" : ""%>>-- <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.NotSpecified")%> --</option>
+ <option value="2005" <%=(endYear.equals("2005")) ? "selected=\"selected\"" : ""%>>2005</option>
+ <option value="2006" <%=(endYear.equals("2006")) ? "selected=\"selected\"" : ""%>>2006</option>
+ <option value="2007" <%=(endYear.equals("2007")) ? "selected=\"selected\"" : ""%>>2007</option>
+ <option value="2008" <%=(endYear.equals("2008")) ? "selected=\"selected\"" : ""%>>2008</option>
+ <option value="2009" <%=(endYear.equals("2009")) ? "selected=\"selected\"" : ""%>>2009</option>
+ <option value="2010" <%=(endYear.equals("2010")) ? "selected=\"selected\"" : ""%>>2010</option>
+ <option value="2011" <%=(endYear.equals("2011")) ? "selected=\"selected\"" : ""%>>2011</option>
+ <option value="2012" <%=(endYear.equals("2012")) ? "selected=\"selected\"" : ""%>>2012</option>
+ <option value="2013" <%=(endYear.equals("2013")) ? "selected=\"selected\"" : ""%>>2013</option>
+ <option value="2014" <%=(endYear.equals("2014")) ? "selected=\"selected\"" : ""%>>2014</option>
+ <option value="2015" <%=(endYear.equals("2015")) ? "selected=\"selected\"" : ""%>>2015</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+ <tr>
+ <td class="description">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.EntityMatch")%>
+ </nobr>
+ </td>
+ <td class="value"><input type="text" name="reportentitymatch" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(entityMatch)%>'/></td>
+ <td class="description">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.ResultCodeMatch")%>
+ </nobr>
+ </td>
+ <td class="value">
+ <input type="text" name="reportresultcodematch" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(resultCodeMatch)%>'/></td>
+ </tr>
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="description">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.IdentifierClassDescription")%>
+ </nobr>
+ </td>
+ <td class="value">
+ <input type="text" name="reportbucketdesc" size="20" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(reportBucketDesc)%>'/></td>
+ <td class="description">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.SlidingWindowSize")%>
+ </nobr>
+ </td>
+ <td class="value">
+ <input type="text" name="reportinterval" size="5" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(Integer.toString(interval))%>'/>
+ </td>
+ </tr>
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+ <td class="message" colspan="4">
+ <%
+ if (reportConnection.length() > 0) {
+ %>
+ <a name="MainButton"><input type="button" value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Go")%>" onClick="javascript:Go()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.ExecuteThisQuery")%>"/></a>
+ <%
+ } else {
+ %>
+ <a name="MainButton"><input type="button" value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>" onClick="javascript:Continue()" alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.Continue")%>"/></a>
+ <%
+ }
+ %>
+ </td>
+ <tr>
+ <td class="separator" colspan="4">
+ <hr/>
+ </td>
+ </tr>
+
+ </table>
+ <%
+ if (reportConnection.length() > 0) {
+ // Run the report.
+
+ // First, we need to gather the sort order object.
+ String sortOrderString = variableContext.getParameter("sortorder");
+ SortOrder sortOrder;
+ if (sortOrderString == null || sortOrderString.length() == 0)
+ sortOrder = new SortOrder();
+ else
+ sortOrder = new SortOrder(sortOrderString);
+
+ // Now, gather the column header that was clicked on (if any)
+ String clickedColumn = variableContext.getParameter("clickcolumn");
+ if (clickedColumn != null && clickedColumn.length() > 0)
+ sortOrder.clickColumn(clickedColumn);
+
+ // Gather the start
+ String startRowString = variableContext.getParameter("startrow");
+ int startRow = 0;
+ if (startRowString != null && startRowString.length() > 0)
+ startRow = Integer.parseInt(startRowString);
+
+ // Gather the max
+ String maxRowCountString = variableContext.getParameter("rowcount");
+ int rowCount = 20;
+ if (maxRowCountString != null && maxRowCountString.length() > 0)
+ rowCount = Integer.parseInt(maxRowCountString);
+
+ String[] ourActivities = new String[selectedActivities.size()];
+ Iterator iter = selectedActivities.keySet().iterator();
+ int zz = 0;
+ while (iter.hasNext()) {
+ ourActivities[zz++] = (String) iter.next();
+ }
+
+ RegExpCriteria entityMatchObject = null;
+ if (entityMatch.length() > 0)
+ entityMatchObject = new RegExpCriteria(entityMatch, true);
+ RegExpCriteria resultCodeMatchObject = null;
+ if (resultCodeMatch.length() > 0)
+ resultCodeMatchObject = new RegExpCriteria(resultCodeMatch, true);
+ FilterCriteria criteria = new FilterCriteria(ourActivities, startTime, endTime, entityMatchObject, resultCodeMatchObject);
+ %>
+ <input type="hidden" name="clickcolumn" value=""/>
+ <input type="hidden" name="startrow" value='<%=Integer.toString(startRow)%>'/>
+ <input type="hidden" name="sortorder" value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
+ <%
+ long count = connMgr.countHistoryRows(reportConnection, criteria);
+ long maxCount = connMgr.getMaxRows();
+ boolean hasMoreRows;
+ if (count > maxCount) {
+ hasMoreRows = false;
+ %>
+ <table class="displaytable">
+ <tr>
+ <td class="message">You have selected <%=new Long(count).toString()%> rows. Maximum allowed is <%=new Long(maxCount).toString()%>.</td>
+ </tr>
+ </table>
+ <%
+ } else {
+ BucketDescription idBucket = new BucketDescription(reportBucketDesc, false);
+
+ IResultSet set = connMgr.genHistoryActivityCount(reportConnection, criteria, sortOrder, idBucket,
+ intervalMilliseconds, startRow, rowCount + 1);
+
+ %>
+
+ <table class="displaytable">
+ <tr class="headerrow">
+ <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("idbucket");'>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.IdentifierClass")%>
+ </nobr>
+ </a></td>
+ <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("activitycount");'>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.HighestActivityRate")%>
+ </nobr>
+ </a></td>
+ <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("starttime");'>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.StartTime")%>
+ </nobr>
+ </a></td>
+ <td class="reportcolumnheader"><a href="javascript:void(0);" onclick='javascript:ColumnClick("endtime");'>
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.EndTime")%>
+ </nobr>
+ </a></td>
+ </tr>
+ <%
+ zz = 0;
+ hasMoreRows = (set.getRowCount() > rowCount);
+ int iterCount = hasMoreRows ? rowCount : set.getRowCount();
+ while (zz < iterCount) {
+ IResultRow row = set.getRow(zz);
+ Object idBucketObject = row.getValue("idbucket");
+ String idBucketString;
+ if (idBucketObject == null)
+ idBucketString = "";
+ else
+ idBucketString = idBucketObject.toString();
+
+ String startTimeString = org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("starttime")));
+ String endTimeString = org.apache.manifoldcf.ui.util.Formatter.formatTime(Converter.asLong(row.getValue("endtime")));
+ double activityCount = Converter.asDouble(row.getValue("activitycount"));
+ double activityRate = activityCount * 60000.0 / intervalMilliseconds;
+
+ %>
+ <tr <%="class=\"" + ((zz % 2 == 0) ? "evendatarow" : "odddatarow") + "\""%>>
+ <td class="reportcolumncell">
+ <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(idBucketString)%>
+ </nobr>
+ </td>
+ <td class="reportcolumncell"><%=new Double(activityRate).toString()%>
+ </td>
+ <td class="reportcolumncell">
+ <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(startTimeString)%>
+ </nobr>
+ </td>
+ <td class="reportcolumncell">
+ <nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(endTimeString)%>
+ </nobr>
+ </td>
+ </tr>
+ <%
+ zz++;
+ }
+ %>
+ </table>
+ <%
+ }
+ %>
+ <table class="reportfootertable">
+ <tr class="reportfooterrow">
+ <td class="reportfootercell">
+ <nobr>
+ <%
+ if (startRow == 0) {
+ %>
+ <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Previous")%>
+ <%
+ } else {
+ %>
+ <a href="javascript:void(0);" onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.PreviousPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Previous")%>
+ </a>
+ <%
+ }
+ %>
+ </nobr>
+ <nobr>
+ <%
+ if (hasMoreRows == false) {
+ %>
+ <%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Next")%>
+ <%
+ } else {
+ %>
+ <a href="javascript:void(0);" onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>' alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"maxactivityreport.NextPage")%>"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Next")%>
+ </a>
+ <%
+ }
+ %>
+ </nobr>
+ </td>
+ <td class="reportfootercell">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.Rows")%>
+ </nobr>
+ <nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows ? Integer.toString(startRow + rowCount - 1) : "END")%>
+ </nobr>
+ </td>
+ <td class="reportfootercell">
+ <nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.RowsPerPage")%>
+ </nobr>
+ <nobr><input type="text" name="rowcount" size="5" value='<%=Integer.toString(rowCount)%>'/></nobr>
+ </td>
+ </tr>
+ </table>
+
+ <%
+ } else {
+ %>
+ <table class="displaytable">
+ <tr>
+ <td class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.PleaseSelectAConnection")%>
+ </td>
+ </tr>
+ </table>
+ <%
+ }
+ %>
+ </form>
+ <%
+ } else {
+ %>
+ <table class="displaytable">
+ <tr>
+ <td class="separator" colspan="1">
+ <hr/>
+ </td>
+ </tr>
+ <tr>
+ <td class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(), "maxactivityreport.PleaseTryAgainLater")%>
+ </td>
+ </tr>
+ </table>
+ <%
+ }
+ %>
+ </td>
+ </tr>
+</table>
</body>