Return-Path: X-Original-To: apmail-manifoldcf-commits-archive@www.apache.org Delivered-To: apmail-manifoldcf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 65A2117F1D for ; Sat, 13 Jun 2015 20:28:35 +0000 (UTC) Received: (qmail 20690 invoked by uid 500); 13 Jun 2015 20:28:35 -0000 Delivered-To: apmail-manifoldcf-commits-archive@manifoldcf.apache.org Received: (qmail 20538 invoked by uid 500); 13 Jun 2015 20:28:35 -0000 Mailing-List: contact commits-help@manifoldcf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@manifoldcf.apache.org Delivered-To: mailing list commits@manifoldcf.apache.org Received: (qmail 20303 invoked by uid 99); 13 Jun 2015 20:28:35 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 13 Jun 2015 20:28:35 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id EA889AC0A44 for ; Sat, 13 Jun 2015 20:28:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1685321 [4/16] - /manifoldcf/trunk/framework/crawler-ui/src/main/webapp/ Date: Sat, 13 Jun 2015 20:28:33 -0000 To: commits@manifoldcf.apache.org From: kishore@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150613202834.EA889AC0A44@hades.apache.org> Modified: manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp URL: http://svn.apache.org/viewvc/manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp?rev=1685321&r1=1685320&r2=1685321&view=diff ============================================================================== --- manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp (original) +++ manifoldcf/trunk/framework/crawler-ui/src/main/webapp/editjob.jsp Sat Jun 13 20:28:32 2015 @@ -29,266 +29,266 @@ // 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(); - - // 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(); - } - - - // 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 tabsArray = new ArrayList(); - List sequenceArray = new ArrayList(); - - 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); - } - } - - // 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); - } - } - - 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); - } + // 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(); + + // 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(); + } + + + // 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 tabsArray = new ArrayList(); + List sequenceArray = new ArrayList(); + + 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); + } + } + + // 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); + } + } + + 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); + } - } - } + } + } %> @@ -297,452 +297,452 @@ - - - - <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.ApacheManifoldCFEditJob")%> - - - -<% - 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); - } - } + return true; + } + catch (e) + { + return false; + } + } + + //--> + +<% + 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); + } + } %> @@ -754,1168 +754,1168 @@ <% - if (connList.length == 0) - { + if (connList.length == 0) + { +%> +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%>

+
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoRepositoryConnectionsDefinedCreateOneFirst")%>
+<% + } + else if (outputList.length == 0) + { +%> +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%>

+
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoOutputConnectionsDefinedCreateOneFirst")%>
+<% + } + else + { +%> +
+ + + + + +<% + if (jobID != null) + { +%> + +<% + } +%> + + + + + + +<% + 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) + { +%> + +<% + } + else + { +%> + +<% + } + } + startColumn = tabNum; + currentSequenceNumber = sequenceNumber; + } + } + if (startColumn != tabsArray.size()) + { + int colspan = tabsArray.size() - startColumn; + if (currentSequenceNumber == null) + { +%> + +<% + } + else + { +%> + +<% + } + } + // Final (remainder) cell left out on purpose; filled in above. +%> + + +<% + 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)) + { +%> + +<% + } + else + { +%> + +<% + } + } + // Missing remainder tab ON PURPOSE -- comes from rowspan=2 tab above +%> + + +
+<% + if (description.length() > 0) + { +%> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditJob")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>' +<% + } + else + { +%> + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%> +<% + } +%> +
<%=(currentSequenceNumber.intValue()+1)%>.<%=(currentSequenceNumber.intValue()+1)%>.
<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%>
+ + +<% + // The NAME tab + if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Name")) && tabSequenceInt == -1) + { +%> + + + + + + + +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NameColon")%> + +
+<% + } + else + { +%> + +<% + } + + // Hop Filters tab + if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters")) && tabSequenceInt == -1) + { + if (relationshipTypes != null) + { +%> + + + + +<% + 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(); +%> + + + + +<% + } +%> + + + + + +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MaximumHopCountForType")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(relationshipType)%>'<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.colon")%> + +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.HopCountModeColon")%> + ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.DeleteUnreachableDocuments")%>
+ ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForNow")%>
+ ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForever")%>
+
+<% + } + } + else + { + if (relationshipTypes != null) + { +%> + +<% + 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(); +%> + + +<% + } + } + } + + // Connection tab + if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Connection")) && tabSequenceInt == -1) + { + int rowCounter = 0; + +%> + + + + + + + +<% + alreadyPresent = new HashSet(); + for (int j = 0; j < notificationConnectionNames.length; j++) + { + alreadyPresent.add(notificationConnectionNames[j]); + } + if (notificationList.length > 0) + { +%> + + + + +<% + } +%> + + + + + + + + +

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.PipelineColon")%> + + + + + + + + + + "> + + + + + + + +<% + // A map of stage number to reference count + Map referenceCounts = new HashMap(); + // A list of precedents to pick from, displayed at the end + List precedents = new ArrayList(); + // Repository connection is always allowed + precedents.add(new Integer(-1)); + Set alreadyPresent = new HashSet(); + 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"); +%> + "> + + + + + + + +<% + } + if (anyTransformationButtons) + { +%> + + + + + + + + + +<% + } + if (outputList.length != alreadyPresent.size()) + { +%> + + + + + + + + + +<% + } +%> +
+ + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageNumber")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageType")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StagePrecedent")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageDescription")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageConnectionName")%>
1.<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Repository")%> +<% + if (connectionName.length() == 0) + { +%> + +<% + } + else + { +%> + <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%> +<% + } +%> +
+ + +<% + // 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) + { +%> + " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Deletepipelinestage")%>' onclick="javascript:DeletePipelineStage(<%=j%>);"/> +<% + } + if (transformationList.length > 0) + { + anyTransformationButtons = true; +%> + " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewtransformationhere")%>' onclick="javascript:InsertPipelineStageTransformation(<%=j%>);"/> +<% + } + if (outputList.length != alreadyPresent.size()) + { +%> + " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewoutputhere")%>' onclick="javascript:InsertPipelineStageOutput(<%=j%>);"/> +<% + } +%> + <%=(j+2)%>.<%=pipelineType%> + + <%=(pipelinePrerequisites[j] + 2)%>. + + + + + <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(pipelineConnectionName)%> + +

+ + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Transformation")%> + + + +

+ + + + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Output")%> + + + + + +
+
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationsColon")%> + + + + + + + +<% + rowCounter = 0; + for (int j = 0; j < notificationConnectionNames.length; j++) + { + String notificationConnectionName = notificationConnectionNames[j]; + String notificationDescription = notificationDescriptions[j]; + if (notificationDescription == null) + notificationDescription = ""; +%> + "> + + + + + +<% + } + if (notificationList.length != alreadyPresent.size()) + { +%> + + + + + + + +<% + } +%> +
+ + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageNumber")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationDescription")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NotificationConnectionName")%>
+ + + " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Deletenotification")%>' onclick="javascript:DeleteNotification(<%=j%>);"/> + <%=(j+pipelineConnectionNames.length+2)%>. + + + <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(notificationConnectionName)%> + +

+ + + + + + + +
+

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.PriorityColon")%> + + <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StartMethodColon")%> + +
+<% + } + else + { %> -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%>

-
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoRepositoryConnectionsDefinedCreateOneFirst")%>
+ + + <% - } - else if (outputList.length == 0) - { -%> -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%>

-
<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NoOutputConnectionsDefinedCreateOneFirst")%>
-<% - } - else - { -%> - - - - - - -<% - if (jobID != null) - { -%> - -<% - } -%> - - - - - - -<% - 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) - { -%> - -<% - } - else - { -%> - -<% - } - } - startColumn = tabNum; - currentSequenceNumber = sequenceNumber; - } - } - if (startColumn != tabsArray.size()) - { - int colspan = tabsArray.size() - startColumn; - if (currentSequenceNumber == null) - { -%> - -<% - } - else - { -%> - -<% - } - } - // Final (remainder) cell left out on purpose; filled in above. -%> - - -<% - 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)) - { -%> - -<% - } - else - { -%> - -<% - } - } - // Missing remainder tab ON PURPOSE -- comes from rowspan=2 tab above -%> - - -
-<% - if (description.length() > 0) - { -%> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditJob")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)%>' -<% - } - else - { -%> - <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.EditaJob")%> -<% - } -%> -
<%=(currentSequenceNumber.intValue()+1)%>.<%=(currentSequenceNumber.intValue()+1)%>.
<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%><%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(tab)%>
- - -<% - // The NAME tab - if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Name")) && tabSequenceInt == -1) - { -%> - - - - - - - -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.NameColon")%> - -
-<% - } - else - { -%> - -<% - } - - // Hop Filters tab - if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.HopFilters")) && tabSequenceInt == -1) - { - if (relationshipTypes != null) - { -%> - - - - -<% - 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(); -%> - - - - -<% - } -%> - - - - - -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.MaximumHopCountForType")%> '<%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(relationshipType)%>'<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.colon")%> - -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.HopCountModeColon")%> - ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.DeleteUnreachableDocuments")%>
- ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForNow")%>
- ><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.KeepUnreachableDocumentsForever")%>
-
-<% - } - } - else - { - if (relationshipTypes != null) - { -%> - -<% - 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(); -%> - - -<% - } - } - } - - // Connection tab - if (tabName.equals(Messages.getString(pageContext.getRequest().getLocale(),"editjob.Connection")) && tabSequenceInt == -1) - { - int rowCounter = 0; - -%> - - - - -

<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.PipelineColon")%> - - - - - - - - - - "> - - - - - - - -<% - // A map of stage number to reference count - Map referenceCounts = new HashMap(); - // A list of precedents to pick from, displayed at the end - List precedents = new ArrayList(); - // Repository connection is always allowed - precedents.add(new Integer(-1)); - Set alreadyPresent = new HashSet(); - 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"); -%> - "> - - - -
- - <%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageNumber")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageType")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StagePrecedent")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageDescription")%><%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.StageConnectionName")%>
1.<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Repository")%> -<% - if (connectionName.length() == 0) - { -%> - -<% - } - else - { -%> - <%=org.apache.manifoldcf.ui.util.Encoder.bodyEscape(connectionName)%> -<% - } -%> -
- - -<% - // 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) - { -%> - " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Deletepipelinestage")%>' onclick="javascript:DeletePipelineStage(<%=j%>);"/> -<% - } - if (transformationList.length > 0) - { - anyTransformationButtons = true; -%> - " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewtransformationhere")%>' onclick="javascript:InsertPipelineStageTransformation(<%=j%>);"/> -<% - } - if (outputList.length != alreadyPresent.size()) - { -%> - " alt='<%=Messages.getBodyString(pageContext.getRequest().getLocale(),"editjob.Insertnewoutputhere")%>' onclick="javascript:InsertPipelineStageOutput(<%=j%>);"/> -<% - } -%> - <%=(j+2)%>.<%=pipelineType%> - - <%=(pipelinePrerequisites[j] + 2)%>. [... 1436 lines stripped ...]