Author: kishore
Date: Sat Jun 13 20:28:32 2015
New Revision: 1685321

URL: http://svn.apache.org/r1685321
Log:
Formatting - Replaced Tabs with 2 spaces.

Modified:
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editauthority.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editconnection.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editgroup.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editmapper.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editnotification.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editoutput.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/edittransformation.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/error.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/execute.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/index.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listauthorities.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listconnections.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listgroups.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listjobs.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listmappers.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listnotifications.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listoutputs.jsp
    
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/listtransformations.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/login.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxactivityreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/maxbandwidthreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/navigation.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/queuestatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/resultreport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/setupAdminProfile.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/showjobstatus.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/simplereport.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewauthority.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewconnection.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewgroup.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewjob.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewmapper.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewnotification.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewoutput.jsp
    manifoldcf/trunk/framework/crawler-ui/src/main/webapp/viewtransformation.jsp

Modified: 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp 
(original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminDefaults.jsp Sat 
Jun 13 20:28:32 2015
@@ -38,11 +38,11 @@
 
 
 <%
-       IThreadContext threadContext = thread.getThreadContext();
-       org.apache.manifoldcf.ui.multipart.MultipartWrapper variableContext = 
(org.apache.manifoldcf.ui.multipart.MultipartWrapper)threadContext.get("__WRAPPER__");
-       if (variableContext == null)
-       {
-               variableContext = new 
org.apache.manifoldcf.ui.multipart.MultipartWrapper(request,adminprofile);
-               threadContext.save("__WRAPPER__",variableContext);
-       }
+  IThreadContext threadContext = thread.getThreadContext();
+  org.apache.manifoldcf.ui.multipart.MultipartWrapper variableContext = 
(org.apache.manifoldcf.ui.multipart.MultipartWrapper)threadContext.get("__WRAPPER__");
+  if (variableContext == null)
+  {
+    variableContext = new 
org.apache.manifoldcf.ui.multipart.MultipartWrapper(request,adminprofile);
+    threadContext.save("__WRAPPER__",variableContext);
+  }
 %>

Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp 
(original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/adminHeaders.jsp Sat 
Jun 13 20:28:32 2015
@@ -46,18 +46,18 @@ response.setContentType("text/html;chars
 
 
 <%
-       if (adminprofile.getLoggedOn() == false)
-       {
-               response.sendRedirect("login.jsp");
-               return;
-       }
+  if (adminprofile.getLoggedOn() == false)
+  {
+    response.sendRedirect("login.jsp");
+    return;
+  }
 
-       IThreadContext threadContext = thread.getThreadContext();
-       org.apache.manifoldcf.ui.multipart.MultipartWrapper variableContext = 
(org.apache.manifoldcf.ui.multipart.MultipartWrapper)threadContext.get("__WRAPPER__");
-       if (variableContext == null)
-       {
-               variableContext = new 
org.apache.manifoldcf.ui.multipart.MultipartWrapper(request,adminprofile);
-               threadContext.save("__WRAPPER__",variableContext);
-       }
+  IThreadContext threadContext = thread.getThreadContext();
+  org.apache.manifoldcf.ui.multipart.MultipartWrapper variableContext = 
(org.apache.manifoldcf.ui.multipart.MultipartWrapper)threadContext.get("__WRAPPER__");
+  if (variableContext == null)
+  {
+    variableContext = new 
org.apache.manifoldcf.ui.multipart.MultipartWrapper(request,adminprofile);
+    threadContext.save("__WRAPPER__",variableContext);
+  }
 %>
 

Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp (original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/banner.jsp Sat Jun 13 
20:28:32 2015
@@ -23,24 +23,24 @@
 %>
 
 <%
-       // This module is meant to be called within a table cell, and will drop 
the
-       // lcf banner into the cell
-       String dateString = 
java.text.DateFormat.getDateTimeInstance().format(new java.util.Date());
+  // This module is meant to be called within a table cell, and will drop the
+  // lcf banner into the cell
+  String dateString = java.text.DateFormat.getDateTimeInstance().format(new 
java.util.Date());
 %>
 
 <table class="bannertable">
     <tr class="bannerrow">
-       <td class="headerimage"><img src="ManifoldCF-logo.png"/></td>
+  <td class="headerimage"><img src="ManifoldCF-logo.png"/></td>
           <td class="headercell">
-           <table class="headertable">
-               <tr class="headerdaterow">
-                       <td 
class="headerdate"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(dateString)%></td>
-               </tr>
-                 <tr class="headerrow">
-                       <td 
class="header"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"banner.DocumentIngestion")%></td>
-               </tr>
-           </table>
-       </td>
+      <table class="headertable">
+    <tr class="headerdaterow">
+      <td 
class="headerdate"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(dateString)%></td>
+    </tr>
+            <tr class="headerrow">
+      <td 
class="header"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"banner.DocumentIngestion")%></td>
+    </tr>
+      </table>
+  </td>
     </tr>
 </table>
 

Modified: 
manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff
==============================================================================
--- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp 
(original)
+++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/documentstatus.jsp 
Sat Jun 13 20:28:32 2015
@@ -30,85 +30,85 @@ 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(),"documentstatus.ApacheManifoldCFDocumentStatus")%>
-       </title>
-
-       <script type="text/javascript">
-       <!--
-
-       function Go()
-       {
-               if (!isInteger(report.rowcount.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.EnterALegalNumberForRowsPerPage")%>");
-                       report.rowcount.focus();
-                       return;
-               }
-               if (!isRegularExpression(report.statusidentifiermatch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.IdentifierMatchMustBeAValidRegularExpression")%>");
-                       report.statusidentifiermatch.focus();
-                       return;
-               }
-               
-               document.report.op.value="Status";
-               document.report.action = document.report.action + "#MainButton";
-               document.report.submit();
-       }
-
-       function Continue()
-       {
-               if (!isRegularExpression(report.statusidentifiermatch.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.IdentifierMatchMustBeAValidRegularExpression")%>");
-                       report.statusidentifiermatch.focus();
-                       return;
-               }
-               document.report.op.value="Continue";
-               document.report.action = document.report.action + "#MainButton";
-               document.report.submit();
-       }
-
-       function ColumnClick(colname)
-       {
-               document.report.clickcolumn.value = colname;
-               Go();
-       }
-
-       function SetPosition(amt)
-       {
-               if (amt < 0)
-                       amt = 0;
-               document.report.startrow.value = amt;
-               Go();
-       }
-
-       function isRegularExpression(value)
-       {
-               try
-               {
-                       var foo = "teststring";
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/>
+  <title>
+    
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.ApacheManifoldCFDocumentStatus")%>
+  </title>
+
+  <script type="text/javascript">
+  <!--
+
+  function Go()
+  {
+    if (!isInteger(report.rowcount.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.EnterALegalNumberForRowsPerPage")%>");
+      report.rowcount.focus();
+      return;
+    }
+    if (!isRegularExpression(report.statusidentifiermatch.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.IdentifierMatchMustBeAValidRegularExpression")%>");
+      report.statusidentifiermatch.focus();
+      return;
+    }
+
+    document.report.op.value="Status";
+    document.report.action = document.report.action + "#MainButton";
+    document.report.submit();
+  }
+
+  function Continue()
+  {
+    if (!isRegularExpression(report.statusidentifiermatch.value))
+    {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"documentstatus.IdentifierMatchMustBeAValidRegularExpression")%>");
+      report.statusidentifiermatch.focus();
+      return;
+    }
+    document.report.op.value="Continue";
+    document.report.action = document.report.action + "#MainButton";
+    document.report.submit();
+  }
+
+  function ColumnClick(colname)
+  {
+    document.report.clickcolumn.value = colname;
+    Go();
+  }
+
+  function SetPosition(amt)
+  {
+    if (amt < 0)
+      amt = 0;
+    document.report.startrow.value = amt;
+    Go();
+  }
+
+  function isRegularExpression(value)
+  {
+    try
+    {
+      var foo = "teststring";
                         foo.search(value.replace(/\(\?i\)/,""));
-                       return true;
-               }
-               catch (e)
-               {
-                       return false;
-               }
-
-       }
-
-       function isInteger(value)
-       {
-               var anum=/(^\d+$)/;
-               return anum.test(value);
-       }
+      return true;
+    }
+    catch (e)
+    {
+      return false;
+    }
+
+  }
+
+  function isInteger(value)
+  {
+    var anum=/(^\d+$)/;
+    return anum.test(value);
+  }
 
-       //-->
-       </script>
+  //-->
+  </script>
 
 
 </head>
@@ -119,468 +119,468 @@ boolean maintenanceUnderway = org.apache
       <tr><td colspan="2" class="banner"><jsp:include page="banner.jsp" 
flush="true"/></td></tr>
       <tr><td class="navigation"><jsp:include page="navigation.jsp" 
flush="true"/></td>
        <td class="window">
-       <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentStatus")%></p>
+  <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentStatus")%></p>
 <%
 if (maintenanceUnderway == false)
 {
-       int k;
+  int k;
 
-       // Read the document selection parameters.
-       
-       // The status report is connection based, so the connection has to be 
selected before anything else makes sense.
-       String statusConnection = 
variableContext.getParameter("statusconnection");
-       if (statusConnection == null)
-               statusConnection = "";
-       
-       // Which jobs we care about also figure in the selection part of the 
query.  It is the user's responsibility to pick jobs
-       // that are in desired states.
-       String[] statusJobIdentifiers = 
variableContext.getParameterValues("statusjobs");
-       if (statusJobIdentifiers == null)
-               statusJobIdentifiers = new String[0];
-
-       // We can select documents from the queue based on the earliest time 
they can be acted upon.  This is specified in
-       // a delta in minutes offset from "now".  Empty means that we don't 
want to select on that criteria.
-       String activeTimeOffsetMinutes = 
variableContext.getParameter("statusscheduleoffset");
-       if (activeTimeOffsetMinutes == null)
-               activeTimeOffsetMinutes = "";
-       
-       // There is a selection criteria also based on the document state; 
these are integers defined in IJobManager.
-       String[] documentStateTypes;
-       if (variableContext.getParameter("statusdocumentstates_posted") != null)
-       {
-               documentStateTypes = 
variableContext.getParameterValues("statusdocumentstates");
-               if (documentStateTypes == null)
-                       documentStateTypes = new String[0];
-       }
-       else
-               documentStateTypes = null;
-       
-       // There is a selection criteria based on the document status; these 
are also integers defined in IJobManager.
-       String[] documentStatusTypes;
-       if (variableContext.getParameter("statusdocumentstatuses_posted") != 
null)
-       {
-               documentStatusTypes = 
variableContext.getParameterValues("statusdocumentstatuses");
-               if (documentStatusTypes == null)
-                       documentStatusTypes = new String[0];
-       }
-       else
-               documentStatusTypes = null;
-
-       // Match string for the document identifier
-       String identifierMatch = 
variableContext.getParameter("statusidentifiermatch");
-       if (identifierMatch == null)
-               identifierMatch = "";
-
-       // From the passed-in selection values, calculate the actual selection 
criteria that we'll use in the queries.
-       IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
-       IRepositoryConnection[] connList = connMgr.getAllConnections();
-       
-       IJobManager jobManager = JobManagerFactory.make(threadContext);
-
-       // Repository connection name: This simply needs to be mapped to an 
eligible list of identifiers.
-       IJobDescription[] eligibleList = null;
-       HashMap selectedJobs = null;
-       if (statusConnection.length() > 0)
-       {
-               eligibleList = 
jobManager.findJobsForConnection(statusConnection);
-               selectedJobs = new HashMap();
-               k = 0;
-               while (k < statusJobIdentifiers.length)
-               {
-                       Long identifier = new Long(statusJobIdentifiers[k++]);
-                       selectedJobs.put(identifier,identifier);
-               }
-       }
-       
-       // Time offset: Need to calculate the actual time in ms since epoch to 
use to query against the "checktime" field.
-       // Note that the checktime field is actually nullable and will only 
have a value when the document is in certain states;
-       // therefore, the query itself will only include checktime for those 
states where it makes sense.  An empty value
-       // means "from the beginning of time", or is equivalent to time 0.
-       long nowTime = 0L;
-       if (activeTimeOffsetMinutes.length() > 0)
-       {
-               nowTime = System.currentTimeMillis() + (new 
Long(activeTimeOffsetMinutes).longValue()) * 60000L;
-               if (nowTime < 0L)
-                       nowTime = 0L;
-       }
-       else
-               nowTime = System.currentTimeMillis();
-
-       // Translate the states from a string to a number that will be 
understood by IJobManager.
-       int[] matchingStates;
-       if (documentStateTypes == null)
-       {
-               matchingStates = new 
int[]{IJobManager.DOCSTATE_NEVERPROCESSED,IJobManager.DOCSTATE_PREVIOUSLYPROCESSED,
-                       IJobManager.DOCSTATE_OUTOFSCOPE};
-       }
-       else
-       {
-               matchingStates = new int[documentStateTypes.length];
-               k = 0;
-               while (k < matchingStates.length)
-               {
-                       matchingStates[k] = new 
Integer(documentStateTypes[k]).intValue();
-                       k++;
-               }
-       }
-       HashMap matchingStatesHash = new HashMap();
-       k = 0;
-       while (k < matchingStates.length)
-       {
-               Integer state = new Integer(matchingStates[k++]);
-               matchingStatesHash.put(state,state);
-       }
-       
-       // Convert the status from a string to a number that will be understood 
by IJobManager
-       int[] matchingStatuses;
-       if (documentStatusTypes == null)
-       {
-               matchingStatuses = new 
int[]{IJobManager.DOCSTATUS_INACTIVE,IJobManager.DOCSTATUS_PROCESSING,IJobManager.DOCSTATUS_EXPIRING,
-                       
IJobManager.DOCSTATUS_DELETING,IJobManager.DOCSTATUS_READYFORPROCESSING,IJobManager.DOCSTATUS_READYFOREXPIRATION,
-                       
IJobManager.DOCSTATUS_WAITINGFORPROCESSING,IJobManager.DOCSTATUS_WAITINGFOREXPIRATION,IJobManager.DOCSTATUS_WAITINGFOREVER,
-                       IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED};
-       }
-       else
-       {
-               matchingStatuses = new int[documentStatusTypes.length];
-               k = 0;
-               while (k < matchingStatuses.length)
-               {
-                       matchingStatuses[k] = new 
Integer(documentStatusTypes[k]).intValue();
-                       k++;
-               }
-       }
-       HashMap matchingStatusesHash = new HashMap();
-       k = 0;
-       while (k < matchingStatuses.length)
-       {
-               Integer status = new Integer(matchingStatuses[k++]);
-               matchingStatusesHash.put(status,status);
-       }
-
-%>
-       <form class="standardform" name="report" action="execute.jsp" 
method="POST">
-               <input type="hidden" name="op" value="Continue"/>
-               <input type="hidden" name="type" value="documentstatus"/>
-               <table class="displaytable">
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Connection")%></td><td
 class="value" colspan="1">
-                                       <select name="statusconnection" 
size="3">
-                                               <option 
<%=(statusConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.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(statusConnection))?"selected=\"selected\"":""%> 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%></option>
-<%
-       }
-%>
-                                       </select>
-                               </td>
-<%
-       if (eligibleList != null)
-       {
-%>
-                               <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Jobs")%></td><td
 class="value" colspan="1">
-                                       <select multiple="true" 
name="statusjobs" size="3">
-<%
-           i = 0;
-           while (i < eligibleList.length)
-           {
-               IJobDescription job = eligibleList[i++];
-               String description = job.getDescription();
-               Long identifier = job.getID();
-%>
-                                               <option 
<%=((selectedJobs.get(identifier)==null)?"":"selected=\"selected\"")%> 
value='<%=identifier.toString()%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%></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(),"documentstatus.TimeOffsetFromNowMinutes")%></td>
-                               <td class="value" colspan="3">
-                                       <input name="statusscheduleoffset" 
type="text" size="6" value=""/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentState")%></td>
-                               <td class="value" colspan="3">
-                                       <input 
name="statusdocumentstates_posted" type="hidden" value="true"/>
-                                       <select name="statusdocumentstates" 
multiple="true" size="3">
-                                               <option 
<%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_NEVERPROCESSED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATE_NEVERPROCESSED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsThatHaveNeverBeenProcessed")%></option>
-                                               <option 
<%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_PREVIOUSLYPROCESSED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATE_PREVIOUSLYPROCESSED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsProcessedAtLeastOnce")%></option>
-                                               <option 
<%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_OUTOFSCOPE))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATE_OUTOFSCOPE)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsOutOfScope")%></option>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentState")%></td>
-                               <td class="value" colspan="3">
-                                       <input 
name="statusdocumentstatuses_posted" type="hidden" value="true"/>
-                                       <select name="statusdocumentstatuses" 
multiple="true" size="3">
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_INACTIVE))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_INACTIVE)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsThatAreNoLongerActive")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_PROCESSING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_PROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyInProgress")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_EXPIRING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_EXPIRING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyBeingExpired")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_DELETING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_DELETING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyBeingDeleted")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_READYFORPROCESSING))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_READYFORPROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyAvailableForProcessing")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_READYFOREXPIRATION))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_READYFOREXPIRATION)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyAvailableForExpiration")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFORPROCESSING))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFORPROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsNotYetProcessable")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFOREXPIRATION))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFOREXPIRATION)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsNotYetExpirable")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFOREVER))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFOREVER)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsWaitingForever")%></option>
-                                               <option 
<%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsHopcountExceeded")%></option>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentIdentifierMatch")%></nobr></td>
-                               <td class="value" colspan="3"><input 
type="text" name="statusidentifiermatch" size="40" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(identifierMatch)%>'/></td>
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="message" colspan="4">
-<%
-       if (statusConnection.length() > 0 && statusJobIdentifiers.length > 0)
-       {
-%>
-                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.ExecuteThisQuery")%>"/></a>
-<%
-       }
-       else
-       {
-%>
-                                       <a name="MainButton"><input 
type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Continue")%>"/></a>
-<%
-       }
-%>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-
-               </table>
-<%
-       if (statusConnection.length() > 0)
-       {
-           if (statusJobIdentifiers.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);
-
-               Long[] ourJobs = new Long[selectedJobs.size()];
-               Iterator iter = selectedJobs.keySet().iterator();
-               int zz = 0;
-               while (iter.hasNext())
-               {
-                       ourJobs[zz++] = (Long)iter.next();
-               }
-
-               RegExpCriteria identifierMatchObject = null;
-               if (identifierMatch.length() > 0)
-                       identifierMatchObject = new 
RegExpCriteria(identifierMatch,true);
-               StatusFilterCriteria criteria = new 
StatusFilterCriteria(ourJobs,nowTime,identifierMatchObject,matchingStates,matchingStatuses);
-
-               IResultSet set = 
jobManager.genDocumentStatus(statusConnection,criteria,sortOrder,startRow,rowCount+1);
-
-%>
-               <input type="hidden" name="clickcolumn" value=""/>
-               <input type="hidden" name="startrow" 
value='<%=Integer.toString(startRow)%>'/>
-               <input type="hidden" name="sortorder" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
-
-               <table class="displaytable">
-                   <tr class="headerrow">
-                       <td 
class="reportcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Identifier")%></nobr></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("job");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Job")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("state");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.State")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("status");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Status")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("scheduled");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Scheduled")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("action");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.ScheduledAction")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("retrycount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.RetryCount")%></nobr></a></td>
-                       <td class="reportcolumnheader"><a 
href="javascript:void(0);" 
onclick='javascript:ColumnClick("retrylimit");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.RetryLimit")%></nobr></a></td>
-                   </tr>
-<%
-               zz = 0;
-               boolean hasMoreRows = (set.getRowCount() > rowCount);
-               int iterCount = hasMoreRows?rowCount:set.getRowCount();
-               while (zz < iterCount)
-               {
-                   IResultRow row = set.getRow(zz);
-                   
-                   // Translate column values into something that can be 
reasonably displayed.
-                   // Note that the actual hard work of translating things to 
human-readable strings largely is done by the query itself; this is because
-                   // we want to sort on the columns, so it has to be that way.
-                   
-                   String[] identifierBreakdown = 
org.apache.manifoldcf.ui.util.Formatter.formatString(row.getValue("identifier").toString(),64,true,true);
-                   Long scheduleTime = (Long)row.getValue("scheduled");
-                   String scheduleTimeString = "";
-                   if (scheduleTime != null)
-                       scheduleTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(scheduleTime.longValue());
-                   String scheduledActionString = 
(String)row.getValue("action");
-                   if (scheduledActionString == null)
-                       scheduledActionString = "";
-                   Long retryCount = (Long)row.getValue("retrycount");
-                   String retryCountString = "";
-                   if (retryCount != null)
-                       retryCountString = retryCount.toString();
-                   Long retryLimit = (Long)row.getValue("retrylimit");
-                   String retryLimitString = "";
-                   if (retryLimit != null)
-                       retryLimitString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(retryLimit.longValue());
-                       
-%>
-                   <tr 
<%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
-                       <td class="reportcolumncell">
-<%
-                   int q = 0;
-                   while (q < identifierBreakdown.length)
-                   {
-%>
-                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(identifierBreakdown[q++])%></nobr><br/>
-<%
-                   }
-%>
-                       </td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("job").toString())%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("state").toString())%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("status").toString())%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(scheduleTimeString)%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(scheduledActionString)%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(retryCountString)%></td>
-                       <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(retryLimitString)%></td>
-                   </tr>
-<%
-                       zz++;
-               }
-%>
-               </table>
-               <table class="reportfootertable">
-                   <tr class="reportfooterrow">
-                       <td class="reportfootercell">
-                               <nobr>
-<%
-               if (startRow == 0)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Previous")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 alt="Previous page">Previous</a>
-<%
-               }
-%>
-                               </nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               <nobr>
-<%
-               if (hasMoreRows == false)
-               {
-%>
-                                       
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Next")%>
-<%
-               }
-               else
-               {
-%>
-                                       <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 alt="Next page">Next</a>
-<%
-               }
-%>
-                               </nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Rows")%></nobr>
-                               
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
-                       </td>
-                       <td class="reportfootercell">
-                               
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.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(),"documentstatus.PleaseSelectAtLeastOneJob")%></td></tr></table>
-<%
-           }
-       }
-       else
-       {
+  // Read the document selection parameters.
+
+  // The status report is connection based, so the connection has to be 
selected before anything else makes sense.
+  String statusConnection = variableContext.getParameter("statusconnection");
+  if (statusConnection == null)
+    statusConnection = "";
+
+  // Which jobs we care about also figure in the selection part of the query.  
It is the user's responsibility to pick jobs
+  // that are in desired states.
+  String[] statusJobIdentifiers = 
variableContext.getParameterValues("statusjobs");
+  if (statusJobIdentifiers == null)
+    statusJobIdentifiers = new String[0];
+
+  // We can select documents from the queue based on the earliest time they 
can be acted upon.  This is specified in
+  // a delta in minutes offset from "now".  Empty means that we don't want to 
select on that criteria.
+  String activeTimeOffsetMinutes = 
variableContext.getParameter("statusscheduleoffset");
+  if (activeTimeOffsetMinutes == null)
+    activeTimeOffsetMinutes = "";
+
+  // There is a selection criteria also based on the document state; these are 
integers defined in IJobManager.
+  String[] documentStateTypes;
+  if (variableContext.getParameter("statusdocumentstates_posted") != null)
+  {
+    documentStateTypes = 
variableContext.getParameterValues("statusdocumentstates");
+    if (documentStateTypes == null)
+      documentStateTypes = new String[0];
+  }
+  else
+    documentStateTypes = null;
+
+  // There is a selection criteria based on the document status; these are 
also integers defined in IJobManager.
+  String[] documentStatusTypes;
+  if (variableContext.getParameter("statusdocumentstatuses_posted") != null)
+  {
+    documentStatusTypes = 
variableContext.getParameterValues("statusdocumentstatuses");
+    if (documentStatusTypes == null)
+      documentStatusTypes = new String[0];
+  }
+  else
+    documentStatusTypes = null;
+
+  // Match string for the document identifier
+  String identifierMatch = 
variableContext.getParameter("statusidentifiermatch");
+  if (identifierMatch == null)
+    identifierMatch = "";
+
+  // From the passed-in selection values, calculate the actual selection 
criteria that we'll use in the queries.
+  IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
+  IRepositoryConnection[] connList = connMgr.getAllConnections();
+
+  IJobManager jobManager = JobManagerFactory.make(threadContext);
+
+  // Repository connection name: This simply needs to be mapped to an eligible 
list of identifiers.
+  IJobDescription[] eligibleList = null;
+  HashMap selectedJobs = null;
+  if (statusConnection.length() > 0)
+  {
+    eligibleList = jobManager.findJobsForConnection(statusConnection);
+    selectedJobs = new HashMap();
+    k = 0;
+    while (k < statusJobIdentifiers.length)
+    {
+      Long identifier = new Long(statusJobIdentifiers[k++]);
+      selectedJobs.put(identifier,identifier);
+    }
+  }
+
+  // Time offset: Need to calculate the actual time in ms since epoch to use 
to query against the "checktime" field.
+  // Note that the checktime field is actually nullable and will only have a 
value when the document is in certain states;
+  // therefore, the query itself will only include checktime for those states 
where it makes sense.  An empty value
+  // means "from the beginning of time", or is equivalent to time 0.
+  long nowTime = 0L;
+  if (activeTimeOffsetMinutes.length() > 0)
+  {
+    nowTime = System.currentTimeMillis() + (new 
Long(activeTimeOffsetMinutes).longValue()) * 60000L;
+    if (nowTime < 0L)
+      nowTime = 0L;
+  }
+  else
+    nowTime = System.currentTimeMillis();
+
+  // Translate the states from a string to a number that will be understood by 
IJobManager.
+  int[] matchingStates;
+  if (documentStateTypes == null)
+  {
+    matchingStates = new 
int[]{IJobManager.DOCSTATE_NEVERPROCESSED,IJobManager.DOCSTATE_PREVIOUSLYPROCESSED,
+      IJobManager.DOCSTATE_OUTOFSCOPE};
+  }
+  else
+  {
+    matchingStates = new int[documentStateTypes.length];
+    k = 0;
+    while (k < matchingStates.length)
+    {
+      matchingStates[k] = new Integer(documentStateTypes[k]).intValue();
+      k++;
+    }
+  }
+  HashMap matchingStatesHash = new HashMap();
+  k = 0;
+  while (k < matchingStates.length)
+  {
+    Integer state = new Integer(matchingStates[k++]);
+    matchingStatesHash.put(state,state);
+  }
+
+  // Convert the status from a string to a number that will be understood by 
IJobManager
+  int[] matchingStatuses;
+  if (documentStatusTypes == null)
+  {
+    matchingStatuses = new 
int[]{IJobManager.DOCSTATUS_INACTIVE,IJobManager.DOCSTATUS_PROCESSING,IJobManager.DOCSTATUS_EXPIRING,
+      
IJobManager.DOCSTATUS_DELETING,IJobManager.DOCSTATUS_READYFORPROCESSING,IJobManager.DOCSTATUS_READYFOREXPIRATION,
+      
IJobManager.DOCSTATUS_WAITINGFORPROCESSING,IJobManager.DOCSTATUS_WAITINGFOREXPIRATION,IJobManager.DOCSTATUS_WAITINGFOREVER,
+      IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED};
+  }
+  else
+  {
+    matchingStatuses = new int[documentStatusTypes.length];
+    k = 0;
+    while (k < matchingStatuses.length)
+    {
+      matchingStatuses[k] = new Integer(documentStatusTypes[k]).intValue();
+      k++;
+    }
+  }
+  HashMap matchingStatusesHash = new HashMap();
+  k = 0;
+  while (k < matchingStatuses.length)
+  {
+    Integer status = new Integer(matchingStatuses[k++]);
+    matchingStatusesHash.put(status,status);
+  }
+
+%>
+  <form class="standardform" name="report" action="execute.jsp" method="POST">
+    <input type="hidden" name="op" value="Continue"/>
+    <input type="hidden" name="type" value="documentstatus"/>
+    <table class="displaytable">
+      <tr>
+        <td class="separator" colspan="4"><hr/></td>
+      </tr>
+      <tr>
+        <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Connection")%></td><td
 class="value" colspan="1">
+          <select name="statusconnection" size="3">
+            <option 
<%=(statusConnection.length()==0)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.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(statusConnection))?"selected=\"selected\"":""%> 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(thisConnectionName)%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(thisDescription)%></option>
+<%
+  }
+%>
+          </select>
+        </td>
+<%
+  if (eligibleList != null)
+  {
+%>
+        <td class="description" 
colspan="1"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Jobs")%></td><td
 class="value" colspan="1">
+          <select multiple="true" name="statusjobs" size="3">
+<%
+      i = 0;
+      while (i < eligibleList.length)
+      {
+    IJobDescription job = eligibleList[i++];
+    String description = job.getDescription();
+    Long identifier = job.getID();
+%>
+            <option 
<%=((selectedJobs.get(identifier)==null)?"":"selected=\"selected\"")%> 
value='<%=identifier.toString()%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%></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(),"documentstatus.TimeOffsetFromNowMinutes")%></td>
+        <td class="value" colspan="3">
+          <input name="statusscheduleoffset" type="text" size="6" value=""/>
+        </td>
+      </tr>
+      <tr>
+        <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentState")%></td>
+        <td class="value" colspan="3">
+          <input name="statusdocumentstates_posted" type="hidden" 
value="true"/>
+          <select name="statusdocumentstates" multiple="true" size="3">
+            <option <%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_NEVERPROCESSED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATE_NEVERPROCESSED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsThatHaveNeverBeenProcessed")%></option>
+            <option <%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_PREVIOUSLYPROCESSED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATE_PREVIOUSLYPROCESSED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsProcessedAtLeastOnce")%></option>
+            <option <%=((matchingStatesHash.get(new 
Integer(IJobManager.DOCSTATE_OUTOFSCOPE))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATE_OUTOFSCOPE)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsOutOfScope")%></option>
+          </select>
+        </td>
+      </tr>
+      <tr>
+        <td 
class="description"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentState")%></td>
+        <td class="value" colspan="3">
+          <input name="statusdocumentstatuses_posted" type="hidden" 
value="true"/>
+          <select name="statusdocumentstatuses" multiple="true" size="3">
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_INACTIVE))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_INACTIVE)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsThatAreNoLongerActive")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_PROCESSING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_PROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyInProgress")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_EXPIRING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_EXPIRING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyBeingExpired")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_DELETING))==null)?"":"selected=\"selected\"")%> 
value='<%=Integer.toString(IJobManager.DOCSTATUS_DELETING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyBeingDeleted")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_READYFORPROCESSING))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_READYFORPROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyAvailableForProcessing")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_READYFOREXPIRATION))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_READYFOREXPIRATION)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsCurrentlyAvailableForExpiration")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFORPROCESSING))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFORPROCESSING)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsNotYetProcessable")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFOREXPIRATION))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFOREXPIRATION)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsNotYetExpirable")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_WAITINGFOREVER))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_WAITINGFOREVER)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsWaitingForever")%></option>
+            <option <%=((matchingStatusesHash.get(new 
Integer(IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED))==null)?"":"selected=\"selected\"")%>
 
value='<%=Integer.toString(IJobManager.DOCSTATUS_HOPCOUNTEXCEEDED)%>'><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentsHopcountExceeded")%></option>
+          </select>
+        </td>
+      </tr>
+      <tr>
+        <td class="separator" colspan="4"><hr/></td>
+      </tr>
+      <tr>
+        <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.DocumentIdentifierMatch")%></nobr></td>
+        <td class="value" colspan="3"><input type="text" 
name="statusidentifiermatch" size="40" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(identifierMatch)%>'/></td>
+      </tr>
+      <tr>
+        <td class="separator" colspan="4"><hr/></td>
+      </tr>
+      <tr>
+        <td class="message" colspan="4">
+<%
+  if (statusConnection.length() > 0 && statusJobIdentifiers.length > 0)
+  {
+%>
+          <a name="MainButton"><input type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Go")%>"
 onClick="javascript:Go()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.ExecuteThisQuery")%>"/></a>
+<%
+  }
+  else
+  {
+%>
+          <a name="MainButton"><input type="button" 
value="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Continue")%>"
 onClick="javascript:Continue()" 
alt="<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"documentstatus.Continue")%>"/></a>
+<%
+  }
+%>
+        </td>
+      </tr>
+      <tr>
+        <td class="separator" colspan="4"><hr/></td>
+      </tr>
+
+    </table>
+<%
+  if (statusConnection.length() > 0)
+  {
+      if (statusJobIdentifiers.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);
+
+    Long[] ourJobs = new Long[selectedJobs.size()];
+    Iterator iter = selectedJobs.keySet().iterator();
+    int zz = 0;
+    while (iter.hasNext())
+    {
+      ourJobs[zz++] = (Long)iter.next();
+    }
+
+    RegExpCriteria identifierMatchObject = null;
+    if (identifierMatch.length() > 0)
+      identifierMatchObject = new RegExpCriteria(identifierMatch,true);
+    StatusFilterCriteria criteria = new 
StatusFilterCriteria(ourJobs,nowTime,identifierMatchObject,matchingStates,matchingStatuses);
+
+    IResultSet set = 
jobManager.genDocumentStatus(statusConnection,criteria,sortOrder,startRow,rowCount+1);
+
+%>
+    <input type="hidden" name="clickcolumn" value=""/>
+    <input type="hidden" name="startrow" 
value='<%=Integer.toString(startRow)%>'/>
+    <input type="hidden" name="sortorder" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(sortOrder.toString())%>'/>
+
+    <table class="displaytable">
+        <tr class="headerrow">
+      <td 
class="reportcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Identifier")%></nobr></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("job");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Job")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("state");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.State")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("status");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Status")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("scheduled");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Scheduled")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("action");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.ScheduledAction")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("retrycount");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.RetryCount")%></nobr></a></td>
+      <td class="reportcolumnheader"><a href="javascript:void(0);" 
onclick='javascript:ColumnClick("retrylimit");'><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.RetryLimit")%></nobr></a></td>
+        </tr>
+<%
+    zz = 0;
+    boolean hasMoreRows = (set.getRowCount() > rowCount);
+    int iterCount = hasMoreRows?rowCount:set.getRowCount();
+    while (zz < iterCount)
+    {
+        IResultRow row = set.getRow(zz);
+
+        // Translate column values into something that can be reasonably 
displayed.
+        // Note that the actual hard work of translating things to 
human-readable strings largely is done by the query itself; this is because
+        // we want to sort on the columns, so it has to be that way.
+
+        String[] identifierBreakdown = 
org.apache.manifoldcf.ui.util.Formatter.formatString(row.getValue("identifier").toString(),64,true,true);
+        Long scheduleTime = (Long)row.getValue("scheduled");
+        String scheduleTimeString = "";
+        if (scheduleTime != null)
+      scheduleTimeString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(scheduleTime.longValue());
+        String scheduledActionString = (String)row.getValue("action");
+        if (scheduledActionString == null)
+            scheduledActionString = "";
+        Long retryCount = (Long)row.getValue("retrycount");
+        String retryCountString = "";
+        if (retryCount != null)
+      retryCountString = retryCount.toString();
+        Long retryLimit = (Long)row.getValue("retrylimit");
+        String retryLimitString = "";
+        if (retryLimit != null)
+            retryLimitString = 
org.apache.manifoldcf.ui.util.Formatter.formatTime(retryLimit.longValue());
+
+%>
+        <tr <%="class=\""+((zz%2==0)?"evendatarow":"odddatarow")+"\""%>>
+      <td class="reportcolumncell">
+<%
+        int q = 0;
+        while (q < identifierBreakdown.length)
+        {
+%>
+        
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(identifierBreakdown[q++])%></nobr><br/>
+<%
+        }
+%>
+      </td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("job").toString())%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("state").toString())%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(row.getValue("status").toString())%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(scheduleTimeString)%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(scheduledActionString)%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(retryCountString)%></td>
+      <td 
class="reportcolumncell"><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(retryLimitString)%></td>
+        </tr>
+<%
+      zz++;
+    }
+%>
+    </table>
+    <table class="reportfootertable">
+        <tr class="reportfooterrow">
+      <td class="reportfootercell">
+        <nobr>
+<%
+    if (startRow == 0)
+    {
+%>
+          
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Previous")%>
+<%
+    }
+    else
+    {
+%>
+          <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow-rowCount)+");"%>'
 alt="Previous page">Previous</a>
+<%
+    }
+%>
+        </nobr>
+      </td>
+      <td class="reportfootercell">
+        <nobr>
+<%
+    if (hasMoreRows == false)
+    {
+%>
+          
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Next")%>
+<%
+    }
+    else
+    {
+%>
+          <a href="javascript:void(0);" 
onclick='<%="javascript:SetPosition("+Integer.toString(startRow+rowCount)+");"%>'
 alt="Next page">Next</a>
+<%
+    }
+%>
+        </nobr>
+      </td>
+      <td class="reportfootercell">
+        
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.Rows")%></nobr>
+        
<nobr><%=Integer.toString(startRow)%>-<%=(hasMoreRows?Integer.toString(startRow+rowCount-1):"END")%></nobr>
+      </td>
+      <td class="reportfootercell">
+        
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.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(),"documentstatus.PleaseSelectAtLeastOneJob")%></td></tr></table>
+<%
+      }
+  }
+  else
+  {
 %>
-               <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.PleaseSelectaConnection")%></td></tr></table>
+    <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.PleaseSelectaConnection")%></td></tr></table>
 <%
-       }
+  }
 %>
-       </form>
+  </form>
 <%
 }
 else
 {
 %>
-               <table class="displaytable">
-                       <tr><td class="separator" colspan="1"><hr/></td></tr>
-                       <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.PleaseTryAgainLater")%></td></tr>
-               </table>
+    <table class="displaytable">
+      <tr><td class="separator" colspan="1"><hr/></td></tr>
+      <tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"documentstatus.PleaseTryAgainLater")%></td></tr>
+    </table>
 <%
 }
 %>


Reply via email to