Modified: 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/editjob.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/editjob.jsp?rev=1684303&r1=1684302&r2=1684303&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/editjob.jsp
 (original)
+++ 
manifoldcf/branches/CONNECTORS-1196/framework/crawler-ui/src/main/webapp/editjob.jsp
 Tue Jun  9 01:30:36 2015
@@ -2,1938 +2,1925 @@
 
 <%
 
-/* $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.
-*/
+ * 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.
+ */
 %>
 
 <%
-    // The contract of this edit page is as follows.  It is either called 
directly, in which case it is expected to be creating
-    // a job or beginning the process of editing an existing job, or it is 
called via redirection from execute.jsp, in which case
-    // the job object being edited will be placed in the thread context under 
the name "JobObject".
-    // It may also be called directly with a parameter of "origjobid", which 
implies that a copy operation should be started.
-    try
-    {
-       // Get the job manager handle
-       IJobManager manager = JobManagerFactory.make(threadContext);
-       IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
-       IRepositoryConnection[] connList = connMgr.getAllConnections();
-       INotificationConnectionManager notificationMgr = 
NotificationConnectionManagerFactory.make(threadContext);
-       INotificationConnection[] notificationList = 
notificationMgr.getAllConnections();
-       IOutputConnectionManager outputMgr = 
OutputConnectionManagerFactory.make(threadContext);
-       IOutputConnection[] outputList = outputMgr.getAllConnections();
-       ITransformationConnectionManager transformationMgr = 
TransformationConnectionManagerFactory.make(threadContext);
-       ITransformationConnection[] transformationList = 
transformationMgr.getAllConnections();
-
-       IOutputConnectorPool outputConnectorPool = 
OutputConnectorPoolFactory.make(threadContext);
-       IRepositoryConnectorPool repositoryConnectorPool = 
RepositoryConnectorPoolFactory.make(threadContext);
-       INotificationConnectorPool notificationConnectorPool = 
NotificationConnectorPoolFactory.make(threadContext);
-       ITransformationConnectorPool transformationConnectorPool = 
TransformationConnectorPoolFactory.make(threadContext);
-
-       // Figure out tab name and sequence number
-       String tabName = variableContext.getParameter("tabname");
-       String tabSequenceNumber = 
variableContext.getParameter("sequencenumber");
-       int tabSequenceInt;
-       if (tabName == null || tabName.length() == 0)
-       {
-               tabName = 
Messages.getString(pageContext.getRequest().getLocale(),"editjob.Name");
-               tabSequenceInt = -1;
-       }
-       else
-       {
-               if (tabSequenceNumber == null || tabSequenceNumber.length() == 
0)
-                       tabSequenceInt = -1;
-               else
-                       tabSequenceInt = Integer.parseInt(tabSequenceNumber);
-       }
-       
-       // Get a loaded job object, somehow.
-       String jobID = null;
-       IJobDescription job = (IJobDescription)threadContext.get("JobObject");
-       if (job == null)
-       {
-               // We did not go through execute.jsp
-               // We might have received an argument specifying the connection 
name.
-               jobID = variableContext.getParameter("jobid");
-               String origJobID = variableContext.getParameter("origjobid");
-               if (origJobID == null || origJobID.length() == 0)
-                       origJobID = jobID;
-               if (origJobID != null)
-                       job = manager.load(new Long(origJobID));
-       }
-       else
-               jobID = job.getID().toString();
+  // The contract of this edit page is as follows.  It is either called 
directly, in which case it is expected to be creating
+  // a job or beginning the process of editing an existing job, or it is 
called via redirection from execute.jsp, in which case
+  // the job object being edited will be placed in the thread context under 
the name "JobObject".
+  // It may also be called directly with a parameter of "origjobid", which 
implies that a copy operation should be started.
+  try {
+    // Get the job manager handle
+    IJobManager manager = JobManagerFactory.make(threadContext);
+    IRepositoryConnectionManager connMgr = 
RepositoryConnectionManagerFactory.make(threadContext);
+    IRepositoryConnection[] connList = connMgr.getAllConnections();
+    INotificationConnectionManager notificationMgr = 
NotificationConnectionManagerFactory.make(threadContext);
+    INotificationConnection[] notificationList = 
notificationMgr.getAllConnections();
+    IOutputConnectionManager outputMgr = 
OutputConnectionManagerFactory.make(threadContext);
+    IOutputConnection[] outputList = outputMgr.getAllConnections();
+    ITransformationConnectionManager transformationMgr = 
TransformationConnectionManagerFactory.make(threadContext);
+    ITransformationConnection[] transformationList = 
transformationMgr.getAllConnections();
+
+    IOutputConnectorPool outputConnectorPool = 
OutputConnectorPoolFactory.make(threadContext);
+    IRepositoryConnectorPool repositoryConnectorPool = 
RepositoryConnectorPoolFactory.make(threadContext);
+    INotificationConnectorPool notificationConnectorPool = 
NotificationConnectorPoolFactory.make(threadContext);
+    ITransformationConnectorPool transformationConnectorPool = 
TransformationConnectorPoolFactory.make(threadContext);
+
+    // Figure out tab name and sequence number
+    String tabName = variableContext.getParameter("tabname");
+    String tabSequenceNumber = variableContext.getParameter("sequencenumber");
+    int tabSequenceInt;
+    if (tabName == null || tabName.length() == 0) {
+      tabName = Messages.getString(pageContext.getRequest().getLocale(), 
"editjob.Name");
+      tabSequenceInt = -1;
+    } else {
+      if (tabSequenceNumber == null || tabSequenceNumber.length() == 0)
+        tabSequenceInt = -1;
+      else
+        tabSequenceInt = Integer.parseInt(tabSequenceNumber);
+    }
 
-       // Setup default fields
-       String connectionName = "";
-       String description = "";
-       int type = IJobDescription.TYPE_SPECIFIED;
-       Specification documentSpecification = new Specification();
-       
-       // Pipeline data
-       String[] pipelineConnectionNames = new String[0];
-       String[] pipelineDescriptions = new String[0];
-       boolean[] pipelineIsOutputs = new boolean[0];
-       int[] pipelinePrerequisites = new int[0];
-       Specification[] pipelineSpecifications = new Specification[0];
-       
-       String[] notificationConnectionNames = new String[0];
-       String[] notificationDescriptions = new String[0];
-       Specification[] notificationSpecifications = new Specification[0];
-       
-       ArrayList scheduleRecords = new ArrayList();
-
-       EnumeratedValues dayOfWeek = null;
-       EnumeratedValues dayOfMonth = null;
-       EnumeratedValues monthOfYear = null;
-       EnumeratedValues year = null;
-       EnumeratedValues hourOfDay = null;
-       EnumeratedValues minutesOfHour = null;
-       // Duration in minutes
-       Long duration = null;
-       // RequestMinimum flag
-       boolean requestMinimum = false;
-
-       // Priority
-       int priority = 5;
-       // Minimum recrawl interval (Default: 1 day)
-       Long recrawlInterval = new Long(60L * 24L);
-       // Maximum recrawl interval (Default: none)
-       Long maxRecrawlInterval = null;
-       // Reseed interval (Default: 60 minutes)
-       Long reseedInterval = new Long(60L);
-       // Expiration interval (Default: never)
-       Long expirationInterval = null;
-       // Start method
-       int startMethod = IJobDescription.START_DISABLE;
-       // Hopcount mode
-       int hopcountMode = IJobDescription.HOPCOUNT_ACCURATE;
-       // Hop filters
-       Map hopFilterMap = new HashMap();
+    // Get a loaded job object, somehow.
+    String jobID = null;
+    IJobDescription job = (IJobDescription) threadContext.get("JobObject");
+    if (job == null) {
+      // We did not go through execute.jsp
+      // We might have received an argument specifying the connection name.
+      jobID = variableContext.getParameter("jobid");
+      String origJobID = variableContext.getParameter("origjobid");
+      if (origJobID == null || origJobID.length() == 0)
+        origJobID = jobID;
+      if (origJobID != null)
+        job = manager.load(new Long(origJobID));
+    } else
+      jobID = job.getID().toString();
+
+    // Setup default fields
+    String connectionName = "";
+    String description = "";
+    int type = IJobDescription.TYPE_SPECIFIED;
+    Specification documentSpecification = new Specification();
+
+    // Pipeline data
+    String[] pipelineConnectionNames = new String[0];
+    String[] pipelineDescriptions = new String[0];
+    boolean[] pipelineIsOutputs = new boolean[0];
+    int[] pipelinePrerequisites = new int[0];
+    Specification[] pipelineSpecifications = new Specification[0];
+
+    String[] notificationConnectionNames = new String[0];
+    String[] notificationDescriptions = new String[0];
+    Specification[] notificationSpecifications = new Specification[0];
+
+    ArrayList scheduleRecords = new ArrayList();
+
+    EnumeratedValues dayOfWeek = null;
+    EnumeratedValues dayOfMonth = null;
+    EnumeratedValues monthOfYear = null;
+    EnumeratedValues year = null;
+    EnumeratedValues hourOfDay = null;
+    EnumeratedValues minutesOfHour = null;
+    // Duration in minutes
+    Long duration = null;
+    // RequestMinimum flag
+    boolean requestMinimum = false;
+
+    // Priority
+    int priority = 5;
+    // Minimum recrawl interval (Default: 1 day)
+    Long recrawlInterval = new Long(60L * 24L);
+    // Maximum recrawl interval (Default: none)
+    Long maxRecrawlInterval = null;
+    // Reseed interval (Default: 60 minutes)
+    Long reseedInterval = new Long(60L);
+    // Expiration interval (Default: never)
+    Long expirationInterval = null;
+    // Start method
+    int startMethod = IJobDescription.START_DISABLE;
+    // Hopcount mode
+    int hopcountMode = IJobDescription.HOPCOUNT_ACCURATE;
+    // Hop filters
+    Map hopFilterMap = new HashMap();
+
+    // If the job is not null, prepopulate everything with what comes from it.
+    if (job != null) {
+      // Set up values
+      description = job.getDescription();
+      connectionName = job.getConnectionName();
+
+      pipelineConnectionNames = new String[job.countPipelineStages()];
+      pipelineDescriptions = new String[job.countPipelineStages()];
+      pipelineIsOutputs = new boolean[job.countPipelineStages()];
+      pipelinePrerequisites = new int[job.countPipelineStages()];
+      pipelineSpecifications = new Specification[job.countPipelineStages()];
+      for (int j = 0; j < job.countPipelineStages(); j++) {
+        pipelineConnectionNames[j] = job.getPipelineStageConnectionName(j);
+        pipelineDescriptions[j] = job.getPipelineStageDescription(j);
+        pipelineIsOutputs[j] = job.getPipelineStageIsOutputConnection(j);
+        pipelinePrerequisites[j] = job.getPipelineStagePrerequisite(j);
+        pipelineSpecifications[j] = job.getPipelineStageSpecification(j);
+      }
+      notificationConnectionNames = new String[job.countNotifications()];
+      notificationDescriptions = new String[job.countNotifications()];
+      notificationSpecifications = new Specification[job.countNotifications()];
+      for (int j = 0; j < job.countNotifications(); j++) {
+        notificationConnectionNames[j] = job.getNotificationConnectionName(j);
+        notificationDescriptions[j] = job.getNotificationDescription(j);
+        notificationSpecifications[j] = job.getNotificationSpecification(j);
+      }
+
+      type = job.getType();
+      startMethod = job.getStartMethod();
+      hopcountMode = job.getHopcountMode();
+      documentSpecification = job.getSpecification();
+      // Fill in schedule records from job
+      for (int j = 0; j < job.getScheduleRecordCount(); j++) {
+        scheduleRecords.add(job.getScheduleRecord(j));
+      }
+
+      priority = job.getPriority();
+      Long value = job.getInterval();
+      recrawlInterval = (value == null) ? null : new Long(value.longValue() / 
60000L);
+      value = job.getMaxInterval();
+      maxRecrawlInterval = (value == null) ? null : new Long(value.longValue() 
/ 60000L);
+      value = job.getReseedInterval();
+      reseedInterval = (value == null) ? null : new Long(value.longValue() / 
60000L);
+      value = job.getExpiration();
+      expirationInterval = (value == null) ? null : new Long(value.longValue() 
/ 60000L);
+      hopFilterMap = job.getHopCountFilters();
+    }
 
-       // If the job is not null, prepopulate everything with what comes from 
it.
-       if (job != null)
-       {
-               // Set up values
-               description = job.getDescription();
-               connectionName = job.getConnectionName();
-               
-               pipelineConnectionNames = new String[job.countPipelineStages()];
-               pipelineDescriptions = new String[job.countPipelineStages()];
-               pipelineIsOutputs = new boolean[job.countPipelineStages()];
-               pipelinePrerequisites = new int[job.countPipelineStages()];
-               pipelineSpecifications = new 
Specification[job.countPipelineStages()];
-               for (int j = 0; j < job.countPipelineStages(); j++)
-               {
-                       pipelineConnectionNames[j] = 
job.getPipelineStageConnectionName(j);
-                       pipelineDescriptions[j] = 
job.getPipelineStageDescription(j);
-                       pipelineIsOutputs[j] = 
job.getPipelineStageIsOutputConnection(j);
-                       pipelinePrerequisites[j] = 
job.getPipelineStagePrerequisite(j);
-                       pipelineSpecifications[j] = 
job.getPipelineStageSpecification(j);
-               }
-               notificationConnectionNames = new 
String[job.countNotifications()];
-               notificationDescriptions = new String[job.countNotifications()];
-               notificationSpecifications = new 
Specification[job.countNotifications()];
-               for (int j = 0; j < job.countNotifications(); j++)
-               {
-                       notificationConnectionNames[j] = 
job.getNotificationConnectionName(j);
-                       notificationDescriptions[j] = 
job.getNotificationDescription(j);
-                       notificationSpecifications[j] = 
job.getNotificationSpecification(j);
-               }
-               
-               type = job.getType();
-               startMethod = job.getStartMethod();
-               hopcountMode = job.getHopcountMode();
-               documentSpecification = job.getSpecification();
-               // Fill in schedule records from job
-               for (int j = 0; j < job.getScheduleRecordCount(); j++)
-               {
-                       scheduleRecords.add(job.getScheduleRecord(j));
-               }
-
-               priority = job.getPriority();
-               Long value = job.getInterval();
-               recrawlInterval = (value==null)?null:new 
Long(value.longValue()/60000L);
-               value = job.getMaxInterval();
-               maxRecrawlInterval = (value==null)?null:new 
Long(value.longValue()/60000L);
-               value = job.getReseedInterval();
-               reseedInterval = (value==null)?null:new 
Long(value.longValue()/60000L);
-               value = job.getExpiration();
-               expirationInterval = (value==null)?null:new 
Long(value.longValue()/60000L);
-               hopFilterMap = job.getHopCountFilters();
-       }
 
+    // This form reposts to itself.  It basically only allows the connection 
to be picked once; once done, the repost occurs
+    // and cannot be undone.
+    // Therefore, there are three possible entry conditions:
+    // 1) no jobid w/no connection name, which indicates a brand-new job 
without a chosen connection
+    // 2) no jobid w/a connection name, which indicates that the connection at 
least has been chosen
+    // 3) a jobid and a connection name, which indicates that we are editing 
an existing connection.
+    // There are similar combinations for output connections.
+
+    int model = IRepositoryConnector.MODEL_ADD_CHANGE_DELETE;
+    String[] relationshipTypes = null;
+    List<String> tabsArray = new ArrayList<String>();
+    List<Integer> sequenceArray = new ArrayList<Integer>();
+
+    IRepositoryConnection connection = null;
+    if (connectionName.length() > 0) {
+      connection = connMgr.load(connectionName);
+      model = RepositoryConnectorFactory.getConnectorModel(threadContext, 
connection.getClassName());
+      relationshipTypes = 
RepositoryConnectorFactory.getRelationshipTypes(threadContext, 
connection.getClassName());
+    }
 
-       // This form reposts to itself.  It basically only allows the 
connection to be picked once; once done, the repost occurs
-       // and cannot be undone.
-       // Therefore, there are three possible entry conditions:
-       // 1) no jobid w/no connection name, which indicates a brand-new job 
without a chosen connection
-       // 2) no jobid w/a connection name, which indicates that the connection 
at least has been chosen
-       // 3) a jobid and a connection name, which indicates that we are 
editing an existing connection.
-       // There are similar combinations for output connections.
-
-       int model = IRepositoryConnector.MODEL_ADD_CHANGE_DELETE;
-       String[] relationshipTypes = null;
-       List<String> tabsArray = new ArrayList<String>();
-       List<Integer> sequenceArray = new ArrayList<Integer>();
-       
-       IRepositoryConnection connection = null;
-       if (connectionName.length() > 0)
-       {
-               connection = connMgr.load(connectionName);
-               model = 
RepositoryConnectorFactory.getConnectorModel(threadContext,connection.getClassName());
-               relationshipTypes = 
RepositoryConnectorFactory.getRelationshipTypes(threadContext,connection.getClassName());
-       }
+    // Set up the predefined tabs
+    tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(), 
"editjob.Name"));
+    sequenceArray.add(null);
+    tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(), 
"editjob.Connection"));
+    sequenceArray.add(null);
+    if (connectionName.length() > 0) {
+      tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(), 
"editjob.Scheduling"));
+      sequenceArray.add(null);
+      if (relationshipTypes != null && relationshipTypes.length > 0) {
+        tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(), 
"editjob.HopFilters"));
+        sequenceArray.add(null);
+      }
+    }
 
-       // Set up the predefined tabs
-       
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Name"));
-       sequenceArray.add(null);
-       
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Connection"));
-       sequenceArray.add(null);
-       if (connectionName.length() > 0)
-       {
-               
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Scheduling"));
-               sequenceArray.add(null);
-               if (relationshipTypes != null && relationshipTypes.length > 0)
-               {
-                       
tabsArray.add(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters"));
-                       sequenceArray.add(null);
-               }
-       }
+    // Get the names of the various Javascript methods we'll need to call
+    String checkMethod = "checkSpecification";
+    String saveCheckMethod = "checkSpecificationForSave";
+    String[] pipelineCheckMethods = new String[pipelineConnectionNames.length];
+    String[] pipelineCheckForSaveMethods = new 
String[pipelineConnectionNames.length];
+    String[] notificationCheckMethods = new 
String[notificationConnectionNames.length];
+    String[] notificationCheckForSaveMethods = new 
String[notificationConnectionNames.length];
+
+    for (int j = 0; j < pipelineConnectionNames.length; j++) {
+      pipelineCheckMethods[j] = "unknown";
+      pipelineCheckForSaveMethods[j] = "unknown";
+    }
+    for (int j = 0; j < notificationConnectionNames.length; j++) {
+      notificationCheckMethods[j] = "unknown";
+      notificationCheckForSaveMethods[j] = "unknown";
+    }
 
-       // Get the names of the various Javascript methods we'll need to call
-       String checkMethod = "checkSpecification";
-       String saveCheckMethod = "checkSpecificationForSave";
-       String[] pipelineCheckMethods = new 
String[pipelineConnectionNames.length];
-       String[] pipelineCheckForSaveMethods = new 
String[pipelineConnectionNames.length];
-       String[] notificationCheckMethods = new 
String[notificationConnectionNames.length];
-       String[] notificationCheckForSaveMethods = new 
String[notificationConnectionNames.length];
-       
-       for (int j = 0; j < pipelineConnectionNames.length; j++)
-       {
-               pipelineCheckMethods[j] = "unknown";
-               pipelineCheckForSaveMethods[j] = "unknown";
-       }
-       for (int j = 0; j < notificationConnectionNames.length; j++)
-       {
-               notificationCheckMethods[j] = "unknown";
-               notificationCheckForSaveMethods[j] = "unknown";
-       }
-       
-       if (connection != null)
-       {
-               IRepositoryConnector connector = 
RepositoryConnectorFactory.getConnectorNoCheck(connection.getClassName());
-               if (connector != null)
-               {
-                       checkMethod = 
connector.getFormCheckJavascriptMethodName(0);
-                       saveCheckMethod = 
connector.getFormPresaveCheckJavascriptMethodName(0);
-               }
-       }
+    if (connection != null) {
+      IRepositoryConnector connector = 
RepositoryConnectorFactory.getConnectorNoCheck(connection.getClassName());
+      if (connector != null) {
+        checkMethod = connector.getFormCheckJavascriptMethodName(0);
+        saveCheckMethod = connector.getFormPresaveCheckJavascriptMethodName(0);
+      }
+    }
 
-       for (int j = 0; j < pipelineConnectionNames.length; j++)
-       {
-               if (pipelineIsOutputs[j])
-               {
-                       IOutputConnection outputConnection = 
outputMgr.load(pipelineConnectionNames[j]);
-                       if (outputConnection != null)
-                       {
-                               IOutputConnector outputConnector = 
OutputConnectorFactory.getConnectorNoCheck(outputConnection.getClassName());
-                               if (outputConnector != null)
-                               {
-                                       pipelineCheckMethods[j] = 
outputConnector.getFormCheckJavascriptMethodName(1+j);
-                                       pipelineCheckForSaveMethods[j] = 
outputConnector.getFormPresaveCheckJavascriptMethodName(1+j);
-                               }
-                       }
-               }
-               else
-               {
-                       ITransformationConnection transformationConnection = 
transformationMgr.load(pipelineConnectionNames[j]);
-                       if (transformationConnection != null)
-                       {
-                               ITransformationConnector 
transformationConnector = 
TransformationConnectorFactory.getConnectorNoCheck(transformationConnection.getClassName());
-                               if (transformationConnector != null)
-                               {
-                                       pipelineCheckMethods[j] = 
transformationConnector.getFormCheckJavascriptMethodName(1+j);
-                                       pipelineCheckForSaveMethods[j] = 
transformationConnector.getFormPresaveCheckJavascriptMethodName(1+j);
-                               }
-                       }
-               }
-       }
+    for (int j = 0; j < pipelineConnectionNames.length; j++) {
+      if (pipelineIsOutputs[j]) {
+        IOutputConnection outputConnection = 
outputMgr.load(pipelineConnectionNames[j]);
+        if (outputConnection != null) {
+          IOutputConnector outputConnector = 
OutputConnectorFactory.getConnectorNoCheck(outputConnection.getClassName());
+          if (outputConnector != null) {
+            pipelineCheckMethods[j] = 
outputConnector.getFormCheckJavascriptMethodName(1 + j);
+            pipelineCheckForSaveMethods[j] = 
outputConnector.getFormPresaveCheckJavascriptMethodName(1 + j);
+          }
+        }
+      } else {
+        ITransformationConnection transformationConnection = 
transformationMgr.load(pipelineConnectionNames[j]);
+        if (transformationConnection != null) {
+          ITransformationConnector transformationConnector = 
TransformationConnectorFactory.getConnectorNoCheck(transformationConnection.getClassName());
+          if (transformationConnector != null) {
+            pipelineCheckMethods[j] = 
transformationConnector.getFormCheckJavascriptMethodName(1 + j);
+            pipelineCheckForSaveMethods[j] = 
transformationConnector.getFormPresaveCheckJavascriptMethodName(1 + j);
+          }
+        }
+      }
+    }
 
-       for (int j = 0; j < notificationConnectionNames.length; j++)
-       {
-               INotificationConnection notificationConnection = 
notificationMgr.load(notificationConnectionNames[j]);
-               if (notificationConnection != null)
-               {
-                       INotificationConnector notificationConnector = 
NotificationConnectorFactory.getConnectorNoCheck(notificationConnection.getClassName());
-                       if (notificationConnector != null)
-                       {
-                               notificationCheckMethods[j] = 
notificationConnector.getFormCheckJavascriptMethodName(1+pipelineConnectionNames.length+j);
-                               notificationCheckForSaveMethods[j] = 
notificationConnector.getFormPresaveCheckJavascriptMethodName(1+pipelineConnectionNames.length+j);
-                       }
+    for (int j = 0; j < notificationConnectionNames.length; j++) {
+      INotificationConnection notificationConnection = 
notificationMgr.load(notificationConnectionNames[j]);
+      if (notificationConnection != null) {
+        INotificationConnector notificationConnector = 
NotificationConnectorFactory.getConnectorNoCheck(notificationConnection.getClassName());
+        if (notificationConnector != null) {
+          notificationCheckMethods[j] = 
notificationConnector.getFormCheckJavascriptMethodName(1 + 
pipelineConnectionNames.length + j);
+          notificationCheckForSaveMethods[j] = 
notificationConnector.getFormPresaveCheckJavascriptMethodName(1 + 
pipelineConnectionNames.length + j);
+        }
 
-               }
-       }
+      }
+    }
 %>
 
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html>
-<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
-
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-       <link rel="StyleSheet" href="style.css" type="text/css" media="screen"/>
-       <title>
-               
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ApacheManifoldCFEditJob")%>
-       </title>
-
-       <script type="text/javascript">
-       <!--
-
-       // Use this method to repost the form and pick a new tab
-       function SelectTab(newtab)
-       {
-               if (checkForm())
-               {
-                       document.editjob.tabname.value = newtab;
-                       document.editjob.sequencenumber.value = "";
-                       document.editjob.submit();
-               }
-       }
+<script type="text/javascript">
+  <!--
+  <%
+    String title = null;
+        if (description.length() > 0)
+        {
+          title = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditJob") 
+ " - " + org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description);
+        }
+        else
+        {
+          title = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob");
+        }
+    %>
+  
$.ManifoldCF.setTitle('<%=Messages.getBodyString(pageContext.getRequest().getLocale(),
 "editjob.ApacheManifoldCFEditJob")%>',
+      '<%=title%>',
+      'jobs'
+  );
+
+  // Use this method to repost the form and pick a new tab
+  function SelectTab(newtab) {
+    if (checkForm()) {
+      document.editjob.tabname.value = newtab;
+      document.editjob.sequencenumber.value = "";
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       // Use this method to repost the form and pick a new tab
-       function SelectSequencedTab(newtab, sequencenumber)
-       {
-               if (checkForm())
-               {
-                       document.editjob.tabname.value = newtab;
-                       document.editjob.sequencenumber.value = sequencenumber;
-                       document.editjob.submit();
-               }
-       }
+  // Use this method to repost the form and pick a new tab
+  function SelectSequencedTab(newtab, sequencenumber) {
+    if (checkForm()) {
+      document.editjob.tabname.value = newtab;
+      document.editjob.sequencenumber.value = sequencenumber;
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       // Use this method to repost the form,
-       // and set the anchor request.
-       function postFormSetAnchor(anchorValue)
-       {
-               if (checkForm())
-               {
-                       if (anchorValue != "")
-                               document.editjob.action = 
document.editjob.action + "#" + anchorValue;
-                       document.editjob.submit();
-               }
-       }
+  // Use this method to repost the form,
+  // and set the anchor request.
+  function postFormSetAnchor(anchorValue) {
+    if (checkForm()) {
+      if (anchorValue != "")
+        document.editjob.action = document.editjob.action + "#" + anchorValue;
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       // Use this method to repost the form
-       function postFormNew()
-       {
-               if (checkForm())
-               {
-                       document.editjob.submit();
-               }
-       }
+  // Use this method to repost the form
+  function postFormNew() {
+    if (checkForm()) {
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       // Deprecated
-       function postForm(schedCount)
-       {
-               if (checkForm())
-               {
-                       document.editjob.submit();
-               }
-       }
+  // Deprecated
+  function postForm(schedCount) {
+    if (checkForm()) {
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       function Save()
-       {
-               if (checkForm())
-               {
-                       // Can't submit until all required fields have been set.
-                       // Some of these don't live on the current tab, so 
don't set
-                       // focus.
-
-                       // Check our part of the form, for save
-                       if (editjob.description.value == "")
-                       {
-                               
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.JobMustHaveAName")%>");
-                               
SelectTab("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.Name")%>");
-                               document.editjob.description.focus();
-                               return;
-                       }
-<%
+  function Save() {
+    if (checkForm()) {
+      // Can't submit until all required fields have been set.
+      // Some of these don't live on the current tab, so don't set
+      // focus.
+
+      // Check our part of the form, for save
+      if (editjob.description.value == "") {
+        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.JobMustHaveAName")%>");
+        
SelectTab("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.Name")%>");
+        document.editjob.description.focus();
+        return;
+      }
+      <%
        for (int j = 0; j < pipelineCheckForSaveMethods.length; j++)
        {
 %>
-                       if (window.<%=pipelineCheckForSaveMethods[j]%>)
-                       {
-                               if (<%=pipelineCheckForSaveMethods[j]%>() == 
false)
-                                       return;
-                       }
-<%
+      if (window.<%=pipelineCheckForSaveMethods[j]%>) {
+        if (<%=pipelineCheckForSaveMethods[j]%>() == false)
+          return;
+      }
+      <%
        }
        for (int j = 0; j < notificationCheckForSaveMethods.length; j++)
        {
 %>
-                       if (window.<%=notificationCheckForSaveMethods[j]%>)
-                       {
-                               if (<%=notificationCheckForSaveMethods[j]%>() 
== false)
-                                       return;
-                       }
-<%
+      if (window.<%=notificationCheckForSaveMethods[j]%>) {
+        if (<%=notificationCheckForSaveMethods[j]%>() == false)
+          return;
+      }
+      <%
        }
 %>
-                       if (window.<%=saveCheckMethod%>)
-                       {
-                               if (<%=saveCheckMethod%>() == false)
-                                       return;
-                       }
-                       document.editjob.op.value="Save";
-                       document.editjob.submit();
-               }
-       }
-
-       function Cancel()
-       {
-               document.editjob.op.value="Cancel";
-               document.editjob.submit();
-       }
-
-       function Continue()
-       {
-               document.editjob.op.value="Continue";
-               postFormNew();
-       }
-
-       function InsertPipelineStageTransformation(n)
-       {
-               if (editjob.transformation_connectionname.value == "")
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectATransformationStageConnectionName")%>");
-                       editjob.transformation_connectionname.focus();
-                       return;
-               }
-               eval("document.editjob.pipeline_"+n+"_op.value = 
'InsertTransformation'");
-               postFormSetAnchor("pipeline_"+(n+1)+"_tag");
-       }
-
-       function InsertPipelineStageOutput(n)
-       {
-               if (editjob.output_connectionname.value == "")
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectAnOutputStageConnectionName")%>");
-                       editjob.output_connectionname.focus();
-                       return;
-               }
-               eval("document.editjob.pipeline_"+n+"_op.value = 
'InsertOutput'");
-               postFormSetAnchor("pipeline_"+(n+1)+"_tag");
-       }
-
-       function AppendPipelineStageOutput()
-       {
-               if (editjob.output_connectionname.value == "")
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectAnOutputStageConnectionName")%>");
-                       editjob.output_connectionname.focus();
-                       return;
-               }
-               document.editjob.output_op.value="Add";
-               postFormSetAnchor("output_tag");
-       }
-       
-       function DeletePipelineStage(n)
-       {
-               eval("document.editjob.pipeline_"+n+"_op.value = 'Delete'");
-               if (n == 0)
-                       postFormSetAnchor("pipeline_tag");
-               else
-                       postFormSetAnchor("pipeline_"+(n-1)+"_tag");
-       }
-
-       function AppendNotification()
-       {
-               if (editjob.notification_connectionname.value == "")
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectANotificationConnectionName")%>");
-                       editjob.notification_connectionname.focus();
-                       return;
-               }
-               document.editjob.notification_op.value="Add";
-               postFormSetAnchor("notification_tag");
-       }
-       
-       function DeleteNotification(n)
-       {
-               eval("document.editjob.notification_"+n+"_op.value = 'Delete'");
-               if (n == 0)
-                       postFormSetAnchor("notification_tag");
-               else
-                       postFormSetAnchor("notification_"+(n-1)+"_tag");
-       }
-
-       function AddScheduledTime()
-       {
-               if (editjob.duration.value != "" && 
!isInteger(editjob.duration.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.DurationMustBeAValidInteger")%>");
-                       editjob.duration.focus();
-                       return;
-               }
-               document.editjob.recordop.value="Add Scheduled Time";
-               postFormSetAnchor("add_schedule");
-       }
-
-       function RemoveSchedule(n)
-       {
-               eval("document.editjob.recordop"+n+".value = 'Remove 
Schedule'");
-               if (n == 0)
-                       postFormSetAnchor("add_schedule");
-               else
-                       postFormSetAnchor("remove_schedule_"+(n-1));
-       }
+      if (window.<%=saveCheckMethod%>) {
+        if (<%=saveCheckMethod%>() == false)
+          return;
+      }
+      document.editjob.op.value = "Save";
+      $.ManifoldCF.submit(document.editjob);
+    }
+  }
 
-       function checkForm()
-       {
-               if (!checkRecrawl())
-                       return false;
-               if (!checkMaxRecrawl())
-                       return false;
-               if (!checkRecrawlConsistent())
-                       return false;
-               if (!checkReseed())
-                       return false;
-               if (!checkExpiration())
-                       return false;
-               if (!checkSchedule())
-                       return false;
-<%
+  function Cancel() {
+    document.editjob.op.value = "Cancel";
+    $.ManifoldCF.submit(document.editjob);
+  }
+
+  function Continue() {
+    document.editjob.op.value = "Continue";
+    postFormNew();
+  }
+
+  function InsertPipelineStageTransformation(n) {
+    if (editjob.transformation_connectionname.value == "") {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectATransformationStageConnectionName")%>");
+      editjob.transformation_connectionname.focus();
+      return;
+    }
+    eval("document.editjob.pipeline_" + n + "_op.value = 
'InsertTransformation'");
+    postFormSetAnchor("pipeline_" + (n + 1) + "_tag");
+  }
+
+  function InsertPipelineStageOutput(n) {
+    if (editjob.output_connectionname.value == "") {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectAnOutputStageConnectionName")%>");
+      editjob.output_connectionname.focus();
+      return;
+    }
+    eval("document.editjob.pipeline_" + n + "_op.value = 'InsertOutput'");
+    postFormSetAnchor("pipeline_" + (n + 1) + "_tag");
+  }
+
+  function AppendPipelineStageOutput() {
+    if (editjob.output_connectionname.value == "") {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectAnOutputStageConnectionName")%>");
+      editjob.output_connectionname.focus();
+      return;
+    }
+    document.editjob.output_op.value = "Add";
+    postFormSetAnchor("output_tag");
+  }
+
+  function DeletePipelineStage(n) {
+    eval("document.editjob.pipeline_" + n + "_op.value = 'Delete'");
+    if (n == 0)
+      postFormSetAnchor("pipeline_tag");
+    else
+      postFormSetAnchor("pipeline_" + (n - 1) + "_tag");
+  }
+
+  function AppendNotification() {
+    if (editjob.notification_connectionname.value == "") {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.SelectANotificationConnectionName")%>");
+      editjob.notification_connectionname.focus();
+      return;
+    }
+    document.editjob.notification_op.value = "Add";
+    postFormSetAnchor("notification_tag");
+  }
+
+  function DeleteNotification(n) {
+    eval("document.editjob.notification_" + n + "_op.value = 'Delete'");
+    if (n == 0)
+      postFormSetAnchor("notification_tag");
+    else
+      postFormSetAnchor("notification_" + (n - 1) + "_tag");
+  }
+
+  function AddScheduledTime() {
+    if (editjob.duration.value != "" && !isInteger(editjob.duration.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.DurationMustBeAValidInteger")%>");
+      editjob.duration.focus();
+      return;
+    }
+    document.editjob.recordop.value = "Add Scheduled Time";
+    postFormSetAnchor("add_schedule");
+  }
+
+  function RemoveSchedule(n) {
+    eval("document.editjob.recordop" + n + ".value = 'Remove Schedule'");
+    if (n == 0)
+      postFormSetAnchor("add_schedule");
+    else
+      postFormSetAnchor("remove_schedule_" + (n - 1));
+  }
+
+  function checkForm() {
+    if (!checkRecrawl())
+      return false;
+    if (!checkMaxRecrawl())
+      return false;
+    if (!checkRecrawlConsistent())
+      return false;
+    if (!checkReseed())
+      return false;
+    if (!checkExpiration())
+      return false;
+    if (!checkSchedule())
+      return false;
+    <%
        for (int j = 0; j < pipelineCheckMethods.length; j++)
        {
 %>
-               if (window.<%=pipelineCheckMethods[j]%>)
-               {
-                       if (<%=pipelineCheckMethods[j]%>() == false)
-                               return false;
-               }
-<%
+    if (window.<%=pipelineCheckMethods[j]%>) {
+      if (<%=pipelineCheckMethods[j]%>() == false)
+        return false;
+    }
+    <%
        }
        for (int j = 0; j < notificationCheckMethods.length; j++)
        {
 %>
-               if (window.<%=notificationCheckMethods[j]%>)
-               {
-                       if (<%=notificationCheckMethods[j]%>() == false)
-                               return false;
-               }
-<%
-       }
-%>
-               // Check the connector part
-               if (window.<%=checkMethod%>)
-               {
-                       if (<%=checkMethod%>() == false)
-                               return false;
-               }
-               return true;
-       }
-
-       function checkSchedule()
-       {
-               var i = 0;
-               var schedCount = <%=Integer.toString(scheduleRecords.size())%>;
-               while (i < schedCount)
-               {
-                       var propertyname = "duration" + i;
-                       if (eval("editjob."+propertyname+".value") != "" && 
!isInteger(eval("editjob."+propertyname+".value")))
-                       {
-                               
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.DurationMustBeAValidInteger")%>");
-                               eval("editjob."+propertyname+".focus()");
-                               return false;
-                       }
-                       i = i+1;
-               }
-               return true;
-       }
-
-       function checkRecrawl()
-       {
-               if (editjob.recrawlinterval.value != "" && 
!isInteger(editjob.recrawlinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.RecrawlIntervalMustBeAValidIntegerOrNull")%>");
-                       editjob.recrawlinterval.focus();
-                       return false;
-               }
-               return true;
-       }
-
-       function checkMaxRecrawl()
-       {
-               if (editjob.maxrecrawlinterval.value != "" && 
!isInteger(editjob.maxrecrawlinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.MaxRecrawlIntervalMustBeAValidIntegerOrNull")%>");
-                       editjob.maxrecrawlinterval.focus();
-                       return false;
-               }
-               return true;
-       }
-       
-       function checkRecrawlConsistent()
-       {
-               if (editjob.maxrecrawlinterval.value != "" && 
editjob.recrawlinterval.value != "" && 
parseInt(editjob.maxrecrawlinterval.value) < 
parseInt(editjob.recrawlinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.MaxRecrawlIntervalMustBeLargerThanRecrawlInterval")%>");
-                       editjob.maxrecrawlinterval.focus();
-                       return false;
-               }
-               return true;
-       }
-
-       function checkReseed()
-       {
-               if (editjob.reseedinterval.value != "" && 
!isInteger(editjob.reseedinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.ReseedIntervalMustBeAValidIntegerOrNull")%>");
-                       editjob.reseedinterval.focus();
-                       return false;
-               }
-               return true;
-       }
-
-       function checkExpiration()
-       {
-               if (editjob.expirationinterval.value != "" && 
!isInteger(editjob.expirationinterval.value))
-               {
-                       
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.ExpirationIntervalMustBeAValidIntegerOrNull")%>");
-                       editjob.expirationinterval.focus();
-                       return false;
-               }
-               return true;
-       }
-
-       function isInteger(value)
-       {
-               var anum=/(^\d+$)/;
-               return anum.test(value);
-       }
-
-       function isRegularExpression(value)
-       {
-               try
-               {
-                       var foo = "teststring";
-                        foo.search(value.replace(/\(\?i\)/,""));
-                       return true;
-               }
-               catch (e)
-               {
-                       return false;
-               }
-       }
-
-       //-->
-       </script>
-<%
-       if (connection != null)
-       {
-               IRepositoryConnector repositoryConnector = 
repositoryConnectorPool.grab(connection);
-               if (repositoryConnector != null)
-               {
-                       try
-                       {
-                               
repositoryConnector.outputSpecificationHeader(new 
org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),documentSpecification,0,tabsArray);
-                       }
-                       finally
-                       {
-                               
repositoryConnectorPool.release(connection,repositoryConnector);
-                       }
-               }
-               Integer repositoryConnectionSequenceNumber = new Integer(0);
-               while (sequenceArray.size() < tabsArray.size())
-               {
-                       sequenceArray.add(repositoryConnectionSequenceNumber);
-               }
-       }
-%>
-
-<%
-       for (int j = 0; j < pipelineConnectionNames.length; j++)
-       {
-               if (pipelineIsOutputs[j])
-               {
-                       IOutputConnection outputConnection = 
outputMgr.load(pipelineConnectionNames[j]);
-                       if (outputConnection != null)
-                       {
-                               IOutputConnector outputConnector = 
outputConnectorPool.grab(outputConnection);
-                               if (outputConnector != null)
-                               {
-                                       try
-                                       {
-                                               
outputConnector.outputSpecificationHeader(new 
org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),pipelineSpecifications[j],1+j,tabsArray);
-                                       }
-                                       finally
-                                       {
-                                               
outputConnectorPool.release(outputConnection,outputConnector);
-                                       }
-                               }
-                       }
-               }
-               else
-               {
-                       ITransformationConnection transformationConnection = 
transformationMgr.load(pipelineConnectionNames[j]);
-                       if (transformationConnection != null)
-                       {
-                               ITransformationConnector 
transformationConnector = 
transformationConnectorPool.grab(transformationConnection);
-                               if (transformationConnector != null)
-                               {
-                                       try
-                                       {
-                                               
transformationConnector.outputSpecificationHeader(new 
org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),pipelineSpecifications[j],1+j,tabsArray);
-                                       }
-                                       finally
-                                       {
-                                               
transformationConnectorPool.release(transformationConnection,transformationConnector);
-                                       }
-                               }
-                       }
-               }
-               Integer connectionSequenceNumber = new Integer(1+j);
-               while (sequenceArray.size() < tabsArray.size())
-               {
-                       sequenceArray.add(connectionSequenceNumber);
-               }
-       }
-       
-%>
-
-<%
-       for (int j = 0; j < notificationConnectionNames.length; j++)
-       {
-               INotificationConnection notificationConnection = 
notificationMgr.load(notificationConnectionNames[j]);
-               if (notificationConnection != null)
-               {
-                       INotificationConnector notificationConnector = 
notificationConnectorPool.grab(notificationConnection);
-                       if (notificationConnector != null)
-                       {
-                               try
-                               {
-                                       
notificationConnector.outputSpecificationHeader(new 
org.apache.manifoldcf.ui.jsp.JspWrapper(out,adminprofile),pageContext.getRequest().getLocale(),notificationSpecifications[j],1+pipelineConnectionNames.length+j,tabsArray);
-                               }
-                               finally
-                               {
-                                       
notificationConnectorPool.release(notificationConnection,notificationConnector);
-                               }
-                       }
-               }
-               Integer connectionSequenceNumber = new 
Integer(1+pipelineConnectionNames.length+j);
-               while (sequenceArray.size() < tabsArray.size())
-               {
-                       sequenceArray.add(connectionSequenceNumber);
-               }
-       }
-%>
-
-</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="darkwindow">
-<%
-       if (connList.length == 0)
-       {
-%>
-       <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%></p>
-       <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoRepositoryConnectionsDefinedCreateOneFirst")%></td></tr></table>
-<%
-       }
-       else if (outputList.length == 0)
-       {
-%>
-       <p 
class="windowtitle"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%></p>
-       <table class="displaytable"><tr><td 
class="message"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoOutputConnectionsDefinedCreateOneFirst")%></td></tr></table>
-<%
-       }
-       else
-       {
-%>
-       <form class="standardform" name="editjob" action="execute.jsp" 
method="POST" enctype="multipart/form-data">
-         <input type="hidden" name="op" value="Continue"/>
-         <input type="hidden" name="type" value="job"/>
-         <input type="hidden" name="index" value=""/>
-         <input type="hidden" name="tabname" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tabName)%>'/>
-         <input type="hidden" name="sequencenumber" 
value='<%=((tabSequenceInt==-1)?"":Integer.toString(tabSequenceInt))%>'/>
-<%
-       if (jobID != null)
-       {
-%>
-         <input type="hidden" name="jobid" value='<%=jobID%>'/>
-<%
-       }
-%>
-           <table class="tabtable">
-             <tr class="tabspacerrow">
-               <td class="spacertab" colspan="<%=tabsArray.size()%>"></td>
-               <td class="remaindertab" rowspan="3">
-<%
-       if (description.length() > 0)
-       {
-%>
-                         
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditJob")%>
 '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>'</nobr>
-<%
-       }
-       else
-       {
-%>
-                         
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%></nobr>
-<%
-       }
-%>
-               </td>
-             </tr>
-             <tr class="tabsequencerow">
-<%
-       Integer currentSequenceNumber = null;
-       int startColumn = 0;
-       for (int tabNum = 0; tabNum < tabsArray.size(); tabNum++)
-       {
-               boolean doswitch = false;
-               Integer sequenceNumber = sequenceArray.get(tabNum);
-               if (sequenceNumber == null || currentSequenceNumber == null)
-                       doswitch = (sequenceNumber != null || 
currentSequenceNumber != null);
-               else
-                       doswitch = 
!sequenceNumber.equals(currentSequenceNumber);
-               if (doswitch)
-               {
-                       int colspan = tabNum - startColumn;
-                       if (colspan > 0)
-                       {
-                               if (currentSequenceNumber == null)
-                               {
-%>
-                     <td class="blanksequencetab" colspan="<%=colspan%>"></td>
-<%
-                               }
-                               else
-                               {
-%>
-                     <td class="sequencetab" 
colspan="<%=colspan%>"><%=(currentSequenceNumber.intValue()+1)%>.</td>
-<%
-                               }
-                       }
-                       startColumn = tabNum;
-                       currentSequenceNumber = sequenceNumber;
-               }
-       }
-       if (startColumn != tabsArray.size())
-       {
-               int colspan = tabsArray.size() - startColumn;
-               if (currentSequenceNumber == null)
-               {
-%>
-                     <td class="blanksequencetab" colspan="<%=colspan%>"></td>
-<%
-               }
-               else
-               {
-%>
-                     <td class="sequencetab" 
colspan="<%=colspan%>"><%=(currentSequenceNumber.intValue()+1)%>.</td>
-<%
-               }
-       }
-       // Final (remainder) cell left out on purpose; filled in above.
-%>
-             </tr>
-             <tr class="tabrow">
-<%
-       for (int tabNum = 0; tabNum < tabsArray.size(); tabNum++)
-       {
-               String tab = tabsArray.get(tabNum);
-               Integer sequenceNumber = sequenceArray.get(tabNum);
-               int sequenceNumberInt = (sequenceNumber == 
null)?-1:sequenceNumber.intValue();
-               if (tab.equals(tabName) && (tabSequenceInt == -1 || 
sequenceNumberInt == tabSequenceInt))
-               {
-%>
-                     <td 
class="activetab"><nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%></nobr></td>
-<%
-               }
-               else
-               {
-%>
-                     <td class="passivetab"><nobr><a 
href="javascript:void(0);" 
alt='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(tab)+" 
"+Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.tab")%>'
 
onclick='<%="javascript:SelectSequencedTab(\""+tab+"\",\""+((sequenceNumber==null)?"":sequenceNumber.toString())+"\");return
 
false;"%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%></a></nobr></td>
-<%
-               }
-       }
-       // Missing remainder tab ON PURPOSE -- comes from rowspan=2 tab above
-%>
-             </tr>
-             <tr class="tabbodyrow">
-               <td class="tabbody" 
colspan='<%=Integer.toString(tabsArray.size()+1)%>'>
-
-                 <input type="hidden" name="schedulerecords" 
value='<%=Integer.toString(scheduleRecords.size())%>'/>
-<%
-       // The NAME tab
-       if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Name"))
 && tabSequenceInt == -1)
-       {
-%>
-                 <table class="displaytable">
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="description" 
colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NameColon")%></nobr></td><td
 class="value" colspan="3">
-                                       <input type="text" size="50" 
name="description" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(description)%>'/>
-                               </td>
-                       </tr>
-                 </table>
-<%
-       }
-       else
-       {
-%>
-                 <input type="hidden" name="description" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(description)%>'/>
-<%
-       }
-
-       // Hop Filters tab
-       if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters"))
 && tabSequenceInt == -1)
-       {
-           if (relationshipTypes != null)
-           {
-%>
-                 <table class="displaytable">
-                       <tr>
-                               <td class="separator" colspan="4"><input 
type="hidden" name="hopfilters" value="true"/><hr/></td>
-                       </tr>
-<%
-               int i = 0;
-               while (i < relationshipTypes.length)
-               {
-                       String relationshipType = relationshipTypes[i++];
-                       String mapField = "";
-                       Long mapValue = 
(Long)hopFilterMap.get(relationshipType);
-                       if (mapValue != null)
-                               mapField = mapValue.toString();
-%>
-                       <tr>
-                               <td class="description" 
colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MaximumHopCountForType")%>
 
'<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(relationshipType)%>'<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.colon")%></nobr></td>
-                               <td class="value" colspan="3" >
-                                       <input 
name='<%="hopmax_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(relationshipType)%>'
 type="text" size="5" value='<%=mapField%>'/>
-                               </td>
-                       </tr>
-<%
-               }
-%>
-                       <tr><td class="separator" colspan="4"><hr/></td></tr>
-                       <tr>
-                               <td class="description" 
colspan="1"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.HopCountModeColon")%></nobr></td>
-                               <td class="value" colspan="3">
-                                       <nobr><input type="radio" 
name="hopcountmode" 
value='<%=Integer.toString(IJobDescription.HOPCOUNT_ACCURATE)%>' 
<%=((hopcountMode==IJobDescription.HOPCOUNT_ACCURATE)?"checked=\"true\"":"")%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.DeleteUnreachableDocuments")%></input></nobr><br/>
-                                       <nobr><input type="radio" 
name="hopcountmode" 
value='<%=Integer.toString(IJobDescription.HOPCOUNT_NODELETE)%>' 
<%=((hopcountMode==IJobDescription.HOPCOUNT_NODELETE)?"checked=\"true\"":"")%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForNow")%></input></nobr><br/>
-                                       <nobr><input type="radio" 
name="hopcountmode" 
value='<%=Integer.toString(IJobDescription.HOPCOUNT_NEVERDELETE)%>' 
<%=((hopcountMode==IJobDescription.HOPCOUNT_NEVERDELETE)?"checked=\"true\"":"")%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForever")%></input></nobr><br/>
-                               </td>
-                       </tr>
-                 </table>
-<%
-           }
-       }
-       else
-       {
-           if (relationshipTypes != null)
-           {
-%>
-       <input type="hidden" name="hopfilters" value="true"/>
-<%
-               int i = 0;
-               while (i < relationshipTypes.length)
-               {
-                       String relationshipType = relationshipTypes[i++];
-                       String mapField = "";
-                       Long mapValue = 
(Long)hopFilterMap.get(relationshipType);
-                       if (mapValue != null)
-                               mapField = mapValue.toString();
-%>
-       <input 
name='<%="hopmax_"+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(relationshipType)%>'
 type="hidden" value='<%=mapField%>'/>
-       <input name="hopcountmode" type="hidden" 
value='<%=Integer.toString(hopcountMode)%>'/>
-<%
-               }
-           }
-       }
-
-       // Connection tab
-       if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Connection"))
 && tabSequenceInt == -1)
-       {
-               int rowCounter = 0;
-
-%>
-                 <table class="displaytable">
-                       <tr><td class="separator" colspan="4"><hr/></td></tr>
-                       <tr>
-                               <td colspan="1" 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.PipelineColon")%></nobr></td>
-                               <td class="boxcell" colspan="3">
-                                       <table class="formtable">
-                                               <tr class="formheaderrow">
-                                                       <td 
class="formcolumnheader">
-                                                               <input 
name="pipeline_count" type="hidden" 
value="<%=pipelineConnectionNames.length%>"/>
-                                                       </td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageNumber")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageType")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StagePrecedent")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageDescription")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageConnectionName")%></nobr></td>
-                                               </tr>
-                                               <tr class="<%=((rowCounter++ % 
2)==0)?"evenformrow":"oddformrow"%>">
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell">1.</td>
-                                                       <td 
class="formcolumncell"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Repository")%></td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell">
-<%
-               if (connectionName.length() == 0)
-               {
-%>
-                                                               <select 
name="connectionname" size="1">
-                                                                       <option 
<%="".equals(connectionName)?"selected=\"selected\"":""%> value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoneSelected")%>
 --</option>
-<%
-                       for (IRepositoryConnection conn : connList)
-                       {
-%>
-                                                                       <option 
<%=conn.getName().equals(connectionName)?"selected=\"selected\"":""%> 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(conn.getName())%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(conn.getName())%></option>
-<%
-                       }
-%>
-                                                               </select>
-<%
-               }
-               else
-               {
-%>
-                                                               <input 
type="hidden" name="connectionname" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(connectionName)%>'/><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%>
-<%
-               }
-%>
-                                                       </td>
-                                               </tr>
-<%
-               // A map of stage number to reference count
-               Map<Integer,Integer> referenceCounts = new 
HashMap<Integer,Integer>();
-               // A list of precedents to pick from, displayed at the end
-               List<Integer> precedents = new ArrayList<Integer>();
-               // Repository connection is always allowed
-               precedents.add(new Integer(-1));
-               Set<String> alreadyPresent = new HashSet<String>();
-               for (int j = 0; j < pipelineConnectionNames.length; j++)
-               {
-                       if (pipelineIsOutputs[j])
-                               alreadyPresent.add(pipelineConnectionNames[j]);
-                       else
-                               precedents.add(new Integer(j));
-                       if (pipelinePrerequisites[j] != -1)
-                       {
-                               Integer thisOne = new 
Integer(pipelinePrerequisites[j]);
-                               Integer x = referenceCounts.get(thisOne);
-                               if (x == null)
-                                       referenceCounts.put(thisOne,new 
Integer(1));
-                               else
-                                       referenceCounts.put(thisOne,new 
Integer(x.intValue() + 1));
-                       }
-               }
-               boolean anyTransformationButtons = false;
-               for (int j = 0; j < pipelineConnectionNames.length; j++)
-               {
-                       String pipelineConnectionName = 
pipelineConnectionNames[j];
-                       String pipelineDescription = pipelineDescriptions[j];
-                       if (pipelineDescription == null)
-                               pipelineDescription = "";
-                       String pipelineType = 
pipelineIsOutputs[j]?Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Output"):Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Transformation");
-%>
-                                               <tr class="<%=((rowCounter++ % 
2)==0)?"evenformrow":"oddformrow"%>">
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="pipeline_<%=j%>_op" type="hidden" value="Continue"/>
-                                                               <a 
name="pipeline_<%=j%>_tag"/>
-<%
-                       // We don't want to leave orphans around.  If the 
pipeline stage is an output, we can delete it ONLY if:
-                       // -- the precedent is -1, OR
-                       // -- the precedent is not -1 BUT more than one stage 
refers to the precedent
-                       if (!pipelineIsOutputs[j] || pipelinePrerequisites[j] 
== -1 || referenceCounts.get(new Integer(pipelinePrerequisites[j])).intValue() 
> 1)
-                       {
-%>
-                                                               <input 
type="button" 
value="<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Delete")%>"
 
alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Deletepipelinestage")%>'
 onclick="javascript:DeletePipelineStage(<%=j%>);"/>
-<%
-                       }
-                       if (transformationList.length > 0)
-                       {
-                               anyTransformationButtons = true;
-%>
-                                                               <input 
type="button" 
value="<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.InsertTransformationBefore")%>"
 
alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewtransformationhere")%>'
 onclick="javascript:InsertPipelineStageTransformation(<%=j%>);"/>
-<%
-                       }
-                       if (outputList.length != alreadyPresent.size())
-                       {
-%>
-                                                               <input 
type="button" 
value="<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.InsertOutputBefore")%>"
 
alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewoutputhere")%>'
 onclick="javascript:InsertPipelineStageOutput(<%=j%>);"/>
-<%
-                       }
-%>
-                                                       </td>
-                                                       <td 
class="formcolumncell"><%=(j+2)%>.</td>
-                                                       <td 
class="formcolumncell"><%=pipelineType%>
-                                                               <input 
name="pipeline_<%=j%>_isoutput" type="hidden" 
value='<%=pipelineIsOutputs[j]?"true":"false"%>'/>
-                                                       </td>
-                                                       <td 
class="formcolumncell"><%=(pipelinePrerequisites[j] + 2)%>.
-                                                               <input 
name="pipeline_<%=j%>_precedent" type="hidden" 
value="<%=pipelinePrerequisites[j]%>"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="pipeline_<%=j%>_description" type="text" size="30" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pipelineDescription)%>"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(pipelineConnectionName)%></nobr>
-                                                               <input 
name="pipeline_<%=j%>_connectionname" type="hidden" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pipelineConnectionName)%>"/>
-                                                       </td>
-                                               </tr>
-<%
-               }
-               if (anyTransformationButtons)
-               {
-%>
-                                               <tr class="formrow"><td 
class="formseparator" colspan="4"><hr/></td></tr>
-                                               <tr class="formrow">
-                                                       <td 
class="formcolumncell">
-                                                               <a 
name="transformation_tag"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Transformation")%></td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="transformation_description" type="text" size="30" value=""/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               <select 
name="transformation_connectionname" size="1">
-                                                                       <option 
selected="selected" value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoneSelected")%>
 --</option>
-<%
-                       for (ITransformationConnection conn : 
transformationList)
-                       {
-%>
-                                                                       <option 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(conn.getName())%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(conn.getName())%></option>
-<%
-                       }
-%>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-<%
-               }
-               if (outputList.length != alreadyPresent.size())
-               {
-%>
-                                               <tr class="formrow"><td 
class="formseparator" colspan="4"><hr/></td></tr>
-                                               <tr class="formrow">
-                                                       <td 
class="formcolumncell">
-                                                               <a 
name="output_tag"/>
-                                                               <input 
type="button" 
value='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.AddOutput")%>'
 
alt='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.AddAnOutput")%>'
 onclick="javascript:AppendPipelineStageOutput();"/>
-                                                               <input 
name="output_op" type="hidden" value="Continue"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Output")%></td>
-                                                       <td 
class="formcolumncell">
-                                                               <select 
name="output_precedent" size="1">
-<%
-                       for (Integer pre : precedents)
-                       {
-%>
-                                                                       <option 
value="<%=pre%>"><%=(pre.intValue()+2)%></option>
-<%
-                       }
-%>
-                                                               </select>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="output_description" type="text" size="30" value=""/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               <select 
name="output_connectionname" size="1">
-                                                                       <option 
selected="selected" value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoneSelected")%>
 --</option>
-<%
-                       for (IOutputConnection conn : outputList)
-                       {
-                               if (!alreadyPresent.contains(conn.getName()))
-                               {
-%>
-                                                                       <option 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(conn.getName())%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(conn.getName())%></option>
-<%
-                               }
-                       }
-%>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-<%
-               }
-%>
-                                       </table>
-                               </td>
-                       </tr>
-
-<%
-               alreadyPresent = new HashSet<String>();
-               for (int j = 0; j < notificationConnectionNames.length; j++)
-               {
-                       alreadyPresent.add(notificationConnectionNames[j]);
-               }
-               if (notificationList.length > 0)
-               {
-%>
-                       <tr>
-                               <td colspan="1" 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationsColon")%></nobr></td>
-                               <td class="boxcell" colspan="3">
-                                       <table class="formtable">
-                                               <tr class="formheaderrow">
-                                                       <td 
class="formcolumnheader">
-                                                               <input 
name="notification_count" type="hidden" 
value="<%=notificationConnectionNames.length%>"/>
-                                                       </td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageNumber")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationDescription")%></nobr></td>
-                                                       <td 
class="formcolumnheader"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationConnectionName")%></nobr></td>
-                                               </tr>
-<%
-                       rowCounter = 0;
-                       for (int j = 0; j < notificationConnectionNames.length; 
j++)
-                       {
-                               String notificationConnectionName = 
notificationConnectionNames[j];
-                               String notificationDescription = 
notificationDescriptions[j];
-                               if (notificationDescription == null)
-                                       notificationDescription = "";
-%>
-                                               <tr class="<%=((rowCounter++ % 
2)==0)?"evenformrow":"oddformrow"%>">
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="notification_<%=j%>_op" type="hidden" value="Continue"/>
-                                                               <a 
name="notification_<%=j%>_tag"/>
-                                                               <input 
type="button" 
value="<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Delete")%>"
 
alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Deletenotification")%>'
 onclick="javascript:DeleteNotification(<%=j%>);"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell"><%=(j+pipelineConnectionNames.length+2)%>.</td>
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="notification_<%=j%>_description" type="text" size="30" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(notificationDescription)%>"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               
<nobr><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(notificationConnectionName)%></nobr>
-                                                               <input 
name="notification_<%=j%>_connectionname" type="hidden" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(notificationConnectionName)%>"/>
-                                                       </td>
-                                               </tr>
-<%
-                       }
-                       if (notificationList.length != alreadyPresent.size())
-                       {
-%>
-                                               <tr class="formrow"><td 
class="formseparator" colspan="4"><hr/></td></tr>
-                                               <tr class="formrow">
-                                                       <td 
class="formcolumncell">
-                                                               <a 
name="notification_tag"/>
-                                                               <input 
type="button" 
value='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.AddNotification")%>'
 
alt='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.AddANotification")%>'
 onclick="javascript:AppendNotification();"/>
-                                                               <input 
name="notification_op" type="hidden" value="Continue"/>
-                                                       </td>
-                                                       <td 
class="formcolumncell"></td>
-                                                       <td 
class="formcolumncell">
-                                                               <input 
name="notification_description" type="text" size="30" value=""/>
-                                                       </td>
-                                                       <td 
class="formcolumncell">
-                                                               <select 
name="notification_connectionname" size="1">
-                                                                       <option 
selected="selected" value="">-- 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoneSelected")%>
 --</option>
-<%
-                               for (INotificationConnection conn : 
notificationList)
-                               {
-                                       if 
(!alreadyPresent.contains(conn.getName()))
-                                       {
-%>
-                                                                       <option 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(conn.getName())%>'><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(conn.getName())%></option>
-<%
-                                       }
-                               }
-%>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-<%
-                       }
-%>
-                                       </table>
-                               </td>
-                       </tr>
-<%
-               }
-%>
-                       <tr><td class="separator" colspan="4"><hr/></td></tr>
-                       
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.PriorityColon")%></nobr></td>
-                               <td class="value">
-                                       <select name="priority" size="1">
-                                               <option value="1" 
<%=(priority==1)?"selected=\"selected\"":""%>>1 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Highest")%></option>
-                                               <option value="2" 
<%=(priority==2)?"selected=\"selected\"":""%>>2</option>
-                                               <option value="3" 
<%=(priority==3)?"selected=\"selected\"":""%>>3</option>
-                                               <option value="4" 
<%=(priority==4)?"selected=\"selected\"":""%>>4</option>
-                                               <option value="5" 
<%=(priority==5)?"selected=\"selected\"":""%>>5</option>
-                                               <option value="6" 
<%=(priority==6)?"selected=\"selected\"":""%>>6</option>
-                                               <option value="7" 
<%=(priority==7)?"selected=\"selected\"":""%>>7</option>
-                                               <option value="8" 
<%=(priority==8)?"selected=\"selected\"":""%>>8</option>
-                                               <option value="9" 
<%=(priority==9)?"selected=\"selected\"":""%>>9</option>
-                                               <option value="10" 
<%=(priority==10)?"selected=\"selected\"":""%>>10 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Lowest")%></option>
-                                       </select>
-                               </td>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StartMethodColon")%></nobr></td>
-                               <td class="value">
-                                       <select name="startmethod" size="1">
-                                               <option 
value='<%=IJobDescription.START_WINDOWBEGIN%>' 
<%=(startMethod==IJobDescription.START_WINDOWBEGIN)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StartWhenScheduleWindowStarts")%></option>
-                                               <option 
value='<%=IJobDescription.START_WINDOWINSIDE%>' 
<%=(startMethod==IJobDescription.START_WINDOWINSIDE)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StartEvenInsideAScheduleWindow")%></option>
-                                               <option 
value='<%=IJobDescription.START_DISABLE%>' 
<%=(startMethod==IJobDescription.START_DISABLE)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.DontAutomaticallyStartThisJob")%></option>
-                                       </select>
-                               </td>
-                       </tr>
-                 </table>
-<%
+    if (window.<%=notificationCheckMethods[j]%>) {
+      if (<%=notificationCheckMethods[j]%>() == false)
+        return false;
+    }
+    <%
        }
-       else
-       {
-%>
-                 <input type="hidden" name="connectionname" 
value='<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(connectionName)%>'/>
-                 <input type="hidden" name="pipeline_count" 
value="<%=pipelineConnectionNames.length%>"/>
-                 <input type="hidden" name="notification_count" 
value="<%=notificationConnectionNames.length%>"/>
-<%
-               for (int j = 0; j < pipelineConnectionNames.length; j++)
-               {
-                       String pipelineConnectionName = 
pipelineConnectionNames[j];
-                       String pipelineDescription = pipelineDescriptions[j];
-                       if (pipelineDescription == null)
-                               pipelineDescription = "";
-%>
-                 <input name="pipeline_<%=j%>_isoutput" type="hidden" 
value='<%=pipelineIsOutputs[j]?"true":"false"%>'/>
-                 <input name="pipeline_<%=j%>_precedent" type="hidden" 
value="<%=pipelinePrerequisites[j]%>"/>
-                 <input type="hidden" name="pipeline_<%=j%>_connectionname" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pipelineConnectionName)%>"/>
-                 <input type="hidden" name="pipeline_<%=j%>_description" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(pipelineDescription)%>"/>
-<%
-               }
-               for (int j = 0; j < notificationConnectionNames.length; j++)
-               {
-                       String notificationConnectionName = 
notificationConnectionNames[j];
-                       String notificationDescription = 
notificationDescriptions[j];
-                       if (notificationDescription == null)
-                               notificationDescription = "";
 %>
-                 <input type="hidden" 
name="notification_<%=j%>_connectionname" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(notificationConnectionName)%>"/>
-                 <input type="hidden" name="notification_<%=j%>_description" 
value="<%=org.apache.manifoldcf.ui.util.Encoder.attributeEscape(notificationDescription)%>"/>
-<%
-               }
-
-%>
-                 <input type="hidden" name="priority" value='<%=priority%>'/>
-                 <input type="hidden" name="startmethod" 
value='<%=startMethod%>'/>
-<%
-       }
+    // Check the connector part
+    if (window.<%=checkMethod%>) {
+      if (<%=checkMethod%>() == false)
+        return false;
+    }
+    return true;
+  }
 
-       // Scheduling tab
-       if 
(tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Scheduling"))
 && tabSequenceInt == -1)
-       {
-%>
-                 <table class="displaytable">
-<%
-           if (model != -1 && model != 
IRepositoryConnector.MODEL_ADD_CHANGE_DELETE && model != 
IRepositoryConnector.MODEL_CHAINED_ADD_CHANGE_DELETE)
-           {
-%>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td class="description">
-                                       
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ScheduleTypeColon")%></nobr>
-                               </td>
-                               <td class="value" colspan="3">
-                                       <select name="scheduletype" size="1">
-                                               <option 
value='<%=IJobDescription.TYPE_CONTINUOUS%>' 
<%=(type==IJobDescription.TYPE_CONTINUOUS)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.RescanDocumentsDynamically")%></option>
-                                               <option 
value='<%=IJobDescription.TYPE_SPECIFIED%>' 
<%=(type==IJobDescription.TYPE_SPECIFIED)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ScanEveryDocumentOnce")%></option>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="description">
-                                       
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.RecrawlIntervalIfContinuousColon")%></nobr>
-                               </td>
-                               <td class="value" colspan="3">
-                                       <nobr><input type="text" size="5" 
name="recrawlinterval" 
value='<%=((recrawlInterval==null)?"":recrawlInterval.toString())%>'/> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutesBlankInfinity")%></nobr>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="description">
-                                       
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MaxRecrawlIntervalIfContinuousColon")%></nobr>
-                               </td>
-                               <td class="value" colspan="3">
-                                       <nobr><input type="text" size="5" 
name="maxrecrawlinterval" 
value='<%=((maxRecrawlInterval==null)?"":maxRecrawlInterval.toString())%>'/> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutesBlankInfinity")%></nobr>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="description">
-                                       
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ExpirationIntervalIfContinuousColon")%></nobr>
-                               </td>
-                               <td class="value" colspan="3">
-                                       <nobr><input type="text" size="5" 
name="expirationinterval" 
value='<%=((expirationInterval==null)?"":expirationInterval.toString())%>'/> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutesBlankInfinity")%></nobr>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="description">
-                                       
<nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ReseedIntervalIfContinuousColon")%></nobr>
-                               </td>
-                               <td class="value" colspan="3">
-                                       <nobr><input type="text" size="5" 
name="reseedinterval" 
value='<%=((reseedInterval==null)?"":reseedInterval.toString())%>'/> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutesBlankInfinity")%></nobr>
-                               </td>
-                       </tr>
-<%
-           }
-           else
-           {
-%>
-                       <input type="hidden" name="scheduletype" 
value='<%=type%>'/>
-                       <input type="hidden" name="recrawlinterval" 
value='<%=((recrawlInterval==null)?"":recrawlInterval.toString())%>'/>
-                       <input type="hidden" name="maxrecrawlinterval" 
value='<%=((maxRecrawlInterval==null)?"":maxRecrawlInterval.toString())%>'/>
-                       <input type="hidden" name="reseedinterval" 
value='<%=((reseedInterval==null)?"":reseedInterval.toString())%>'/>
-                       <input type="hidden" name="expirationinterval" 
value='<%=((expirationInterval==null)?"":expirationInterval.toString())%>'/>
-<%
-           }
-%>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-<%
-           if (scheduleRecords.size() == 0)
-           {
-%>
-                       <tr><td class="message" 
colspan="4"><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoScheduleSpecified")%></td></tr>
-<%
-           }
-           else
-           {
-             int l = 0;
-             while (l < scheduleRecords.size())
-             {
-               ScheduleRecord sr = (ScheduleRecord)scheduleRecords.get(l);
-               Long srDuration = sr.getDuration();
-               EnumeratedValues srDayOfWeek = sr.getDayOfWeek();
-               EnumeratedValues srMonthOfYear = sr.getMonthOfYear();
-               EnumeratedValues srDayOfMonth = sr.getDayOfMonth();
-               EnumeratedValues srYear = sr.getYear();
-               EnumeratedValues srHourOfDay = sr.getHourOfDay();
-               EnumeratedValues srMinutesOfHour = sr.getMinutesOfHour();
-               boolean srRequestMinimum = sr.getRequestMinimum();
-               String postFix = Integer.toString(l);
-               int k;
+  function checkSchedule() {
+    var i = 0;
+    var schedCount = <%=Integer.toString(scheduleRecords.size())%>;
+    while (i < schedCount) {
+      var propertyname = "duration" + i;
+      if (eval("editjob." + propertyname + ".value") != "" && 
!isInteger(eval("editjob." + propertyname + ".value"))) {
+        
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.DurationMustBeAValidInteger")%>");
+        eval("editjob." + propertyname + ".focus()");
+        return false;
+      }
+      i = i + 1;
+    }
+    return true;
+  }
 
-               if (l > 0)
-               {
-%>
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-<%
-               }
-%>
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ScheduledTimeColon")%></nobr></td>
-                               <td colspan="3" class="value">
-                                   <select class="schedulepulldown" 
multiple="true" name='<%="dayofweek"+postFix%>' size="3">
-                                       <option value="none" 
<%=(srDayOfWeek==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.AnyDayOfWeek")%></option>
-                                       <option value="0" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(0))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Sundays")%></option>
-                                       <option value="1" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(1))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Mondays")%></option>
-                                       <option value="2" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(2))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Tuesdays")%></option>
-                                       <option value="3" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(3))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Wednesdays")%></option>
-                                       <option value="4" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(4))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Thursdays")%></option>
-                                       <option value="5" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(5))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Fridays")%></option>
-                                       <option value="6" 
<%=(srDayOfWeek!=null&&srDayOfWeek.checkValue(6))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Saturdays")%></option>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.at")%> 
-                                   <select class="schedulepulldown" 
multiple="true" name='<%="hourofday"+postFix%>' size="3">
-                                       <option value="none" 
<%=(srHourOfDay==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MidnightAnyHourOfDay")%></option>
-<%
-                                       k = 0;
-                                       while (k < 24)
-                                       {
-                                               int q = k;
-                                               String ampm;
-                                               if (k < 12)
-                                                       ampm = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.am");
-                                               else
-                                               {
-                                                       ampm = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.pm");
-                                                       q -= 12;
-                                               }
-                                               String hour;
-                                               if (q == 0)
-                                                       q = 12;
-%>
-                                               <option value='<%=k%>' 
<%=(srHourOfDay!=null&&srHourOfDay.checkValue(k))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
-<%                                             
-                                               k++;
-                                       }
-%>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.plus")%>
 
-                                   <select class="schedulepulldown" 
multiple="true" name='<%="minutesofhour"+postFix%>' size="3">
-                                       <option value="none" 
<%=(srMinutesOfHour==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Nothing")%></option>
-<%
-                                       k = 0;
-                                       while (k < 60)
-                                       {
-%>
-                                               <option value='<%=k%>' 
<%=(srMinutesOfHour!=null&&srMinutesOfHour.checkValue(k))?"selected=\"selected\"":""%>><%=Integer.toString(k)%>
 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutes")%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.in")%> 
-                                   <select class="schedulepulldown" 
multiple="true" name='<%="monthofyear"+postFix%>' size="3">
-                                       <option value="none" 
<%=(srMonthOfYear==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EveryMonthOfYear")%></option>
-                                       <option value="0" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(0))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.January")%></option>
-                                       <option value="1" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(1))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.February")%></option>
-                                       <option value="2" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(2))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.March")%></option>
-                                       <option value="3" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(3))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.April")%></option>
-                                       <option value="4" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(4))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.May")%></option>
-                                       <option value="5" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(5))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.June")%></option>
-                                       <option value="6" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(6))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.July")%></option>
-                                       <option value="7" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(7))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.August")%></option>
-                                       <option value="8" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(8))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.September")%></option>
-                                       <option value="9" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(9))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.October")%></option>
-                                       <option value="10" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(10))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.November")%></option>
-                                       <option value="11" 
<%=(srMonthOfYear!=null&&srMonthOfYear.checkValue(11))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.December")%></option>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.on")%>
-                                   <select class="schedulepulldown" 
multiple="true" name='<%="dayofmonth"+postFix%>' size="3">
-                                       <option value="none" 
<%=(srDayOfMonth==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.AnyDayOfMonth")%></option>
-<%
-                                       k = 0;
-                                       while (k < 31)
-                                       {
-                                               int value = (k+1) % 10;
-                                               String suffix;
-                                               if (value == 1 && k != 10)
-                                                       suffix = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.st");
-                                               else if (value == 2 && k != 11)
-                                                       suffix = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.nd");
-                                               else if (value == 3 && k != 12)
-                                                       suffix = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.rd");
-                                               else
-                                                       suffix = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.th");
-%>
-                                               <option 
value='<%=Integer.toString(k)%>' 
<%=(srDayOfMonth!=null&&srDayOfMonth.checkValue(k))?"selected=\"selected\"":""%>><%=Integer.toString(k+1)+suffix+"
 
"+Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.dayofmonth")%></option>
-<%
-                                               k++;
-                                       }
-%>
-                                   </select><input type="hidden" 
name='<%="year"+postFix%>' value="none"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MaximumRunTimeColon")%></nobr></td>
-                               <td class="value">
-                                       <input type="text" size="5" 
name='<%="duration"+postFix%>' value='<%=((srDuration==null)?"":new 
Long(srDuration.longValue()/60000L).toString())%>'/> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.minutes")%>
-                               </td>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.JobInvocationColon")%></nobr></td>
-                               <td class="value">
-                                       <select class="schedulepulldown" 
multiple="false" name='<%="invocation"+postFix%>' size="2">
-                                               <option value="complete" 
<%=(srRequestMinimum==false)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Complete")%></option>
-                                               <option value="minimal" 
<%=srRequestMinimum?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Minimal")%></option>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="message" colspan="4">
-                                       <a 
name='<%="remove_schedule_"+Integer.toString(l)%>'><input type="button" 
value="<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.RemoveSchedule")%>"
 onClick='<%="Javascript:RemoveSchedule("+Integer.toString(l)+")"%>' 
alt='<%=Messages.getAttributeString(pageContext.getRequest().getLocale(),"editjob.RemoveScheduleRecord")+Integer.toString(l)%>'/></a>
-                                       <input type="hidden" 
name='<%="recordop"+postFix%>' value=""/>
-                               </td>
-                       </tr>
-<%
-               l++;
-             }
-           }
-%>
+  function checkRecrawl() {
+    if (editjob.recrawlinterval.value != "" && 
!isInteger(editjob.recrawlinterval.value)) {
+      
alert("<%=Messages.getBodyJavascriptString(pageContext.getRequest().getLocale(),"editjob.RecrawlIntervalMustBeAValidIntegerOrNull")%>");
+      editjob.recrawlinterval.focus();
+      return false;
+    }
+    return true;
+  }
 
-                       <tr>
-                               <td class="separator" colspan="4"><hr/></td>
-                       </tr>
-                       <tr>
-                               <td 
class="description"><nobr><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ScheduledTimeColon")%></nobr></td>
-                               <td colspan="3" class="value">
-                                   <select class="schedulepulldown" 
multiple="true" name="dayofweek" size="3">
-                                       <option value="none" 
<%=(dayOfWeek==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.AnyDayOfWeek")%></option>
-                                       <option value="0" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(0))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Sundays")%></option>
-                                       <option value="1" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(1))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Mondays")%></option>
-                                       <option value="2" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(2))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Tuesdays")%></option>
-                                       <option value="3" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(3))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Wednesdays")%></option>
-                                       <option value="4" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(4))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Thursdays")%></option>
-                                       <option value="5" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(5))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Fridays")%></option>
-                                       <option value="6" 
<%=(dayOfWeek!=null&&dayOfWeek.checkValue(6))?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Saturdays")%></option>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.at")%> 
-                                   <select class="schedulepulldown" 
multiple="true" name="hourofday" size="3">
-                                       <option value="none" 
<%=(hourOfDay==null)?"selected=\"selected\"":""%>><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MidnightAnyHourOfDay")%></option>
-<%
-                                       int k = 0;
-                                       while (k < 24)
-                                       {
-                                               int q = k;
-                                               String ampm;
-                                               if (k < 12)
-                                                       ampm = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.am");
-                                               else
-                                               {
-                                                       ampm = 
Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.pm");
-                                                       q -= 12;
-                                               }
-                                               String hour;
-                                               if (q == 0)
-                                                       q = 12;
-%>
-                                               <option value='<%=k%>' 
<%=(hourOfDay!=null&&hourOfDay.checkValue(k))?"selected=\"selected\"":""%>><%=Integer.toString(q)+"
 "+ampm%></option>
-<%                                             
-                                               k++;
-                                       }
-%>
-                                   </select> 
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.plus")%>
 
-                                   <select class="schedulepulldown" 
multiple="true" name="minutesofhour" size="3">

[... 1723 lines stripped ...]

Reply via email to