Author: kwright
Date: Tue Jun 17 07:14:37 2014
New Revision: 1603075

URL: http://svn.apache.org/r1603075
Log:
Everything compiles except tests

Modified:
    
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/editjob.jsp
    
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/execute.jsp
    
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/interfaces/IJobDescription.java
    
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobDescription.java

Modified: 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/editjob.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/editjob.jsp?rev=1603075&r1=1603074&r2=1603075&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/editjob.jsp
 (original)
+++ 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/editjob.jsp
 Tue Jun 17 07:14:37 2014
@@ -1063,14 +1063,14 @@
                // 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(0));
+               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+1));
+                               precedents.add(new Integer(j));
                        if (pipelinePrerequisites[j] != -1)
                        {
                                Integer thisOne = new 
Integer(pipelinePrerequisites[j]);
@@ -1791,12 +1791,6 @@
                }
        }
 
-       if (outputPresent)
-       {
-%>
-                 <input type="hidden" name="outputpresent" value="true"/>
-<%
-       }
 %>
                  <table class="displaytable">
                        <tr><td class="separator" colspan="4"><hr/></td></tr>

Modified: 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/execute.jsp
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/execute.jsp?rev=1603075&r1=1603074&r2=1603075&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/execute.jsp
 (original)
+++ 
manifoldcf/branches/CONNECTORS-962/framework/crawler-ui/src/main/webapp/execute.jsp
 Tue Jun 17 07:14:37 2014
@@ -884,16 +884,11 @@
                                        // Figure out what got posted.
                                        String x = 
variableContext.getParameter("connectionpresent");
                                        boolean connectionPresent = (x != null 
&& x.equals("true"));
-                                       x = 
variableContext.getParameter("outputpresent");
-                                       boolean outputPresent = (x != null && 
x.equals("true"));
                                        
                                        // Gather the rest of the data.
                                        x = 
variableContext.getParameter("description");
                                        if (x != null)
                                                job.setDescription(x);
-                                       x = 
variableContext.getParameter("outputname");
-                                       if (x != null)
-                                               job.setOutputConnectionName(x);
                                        x = 
variableContext.getParameter("connectionname");
                                        if (x != null)
                                                job.setConnectionName(x);
@@ -916,9 +911,11 @@
                                                for (int j = 0; j < count; j++)
                                                {
                                                        // Gather everything 
first; we'll look at edits later
+                                                       int precedent = 
Integer.parseInt(variableContext.getParameter("pipeline_"+j+"_precedent"));
+                                                       boolean isOutput = 
variableContext.getParameter("pipeline_"+j+"_isoutput").equals("true");
                                                        String connectionName = 
variableContext.getParameter("pipeline_"+j+"_connectionname");
                                                        String description = 
variableContext.getParameter("pipeline_"+j+"_description");
-                                                       
job.addPipelineStage(j-1, false, connectionName, description);
+                                                       
job.addPipelineStage(precedent, isOutput, connectionName, description);
                                                }
                                        }
 
@@ -1165,9 +1162,6 @@
                                        IRepositoryConnection connection = null;
                                        if (job.getConnectionName() != null && 
job.getConnectionName().length() > 0)
                                                connection = 
connManager.load(job.getConnectionName());
-                                       IOutputConnection outputConnection = 
null;
-                                       if (job.getOutputConnectionName() != 
null && job.getOutputConnectionName().length() > 0)
-                                               outputConnection = 
outputManager.load(job.getOutputConnectionName());
                                        
                                        if (connection != null)
                                        {
@@ -1191,30 +1185,6 @@
                                                }
                                        }
                                        
-                                       if (outputPresent && outputConnection 
!= null)
-                                       {
-                                               IOutputConnector 
outputConnector = outputConnectorPool.grab(outputConnection);
-                                               if (outputConnector != null)
-                                               {
-                                                       try
-                                                       {
-                                                               String error = 
outputConnector.processSpecificationPost(variableContext,pageContext.getRequest().getLocale(),job.getOutputSpecification(),1+job.countPipelineStages());
-                                                               if (error != 
null)
-                                                               {
-                                                                       
variableContext.setParameter("text",error);
-                                                                       
variableContext.setParameter("target","listjobs.jsp");
-%>
-                                                                       
<jsp:forward page="error.jsp"/>
-<%
-                                                               }
-                                                       }
-                                                       finally
-                                                       {
-                                                               
outputConnectorPool.release(outputConnection,outputConnector);
-                                                       }
-                                               }
-                                       }
-                                       
                                        if (connectionPresent && connection != 
null)
                                        {
                                                IRepositoryConnector 
repositoryConnector = repositoryConnectorPool.grab(connection);
@@ -1242,32 +1212,62 @@
                                        // Process all pipeline stages
                                        for (int j = 0; j < 
job.countPipelineStages(); j++)
                                        {
-                                               ITransformationConnection 
transformationConnection = 
transformationManager.load(job.getPipelineStageConnectionName(j));
-                                               if (transformationConnection != 
null)
+                                               if 
(job.getPipelineStageIsOutputConnection(j))
                                                {
-                                                       
ITransformationConnector transformationConnector = 
transformationConnectorPool.grab(transformationConnection);
-                                                       if 
(transformationConnector != null)
+                                                       IOutputConnection 
outputConnection = outputManager.load(job.getPipelineStageConnectionName(j));
+                                                       if (outputConnection != 
null)
                                                        {
-                                                               try
+                                                               
IOutputConnector outputConnector = outputConnectorPool.grab(outputConnection);
+                                                               if 
(outputConnector != null)
                                                                {
-                                                                       String 
error = 
transformationConnector.processSpecificationPost(variableContext,pageContext.getRequest().getLocale(),job.getPipelineStageSpecification(j),1+j);
-                                                                       if 
(error != null)
+                                                                       try
                                                                        {
-                                                                               
variableContext.setParameter("text",error);
-                                                                               
variableContext.setParameter("target","listjobs.jsp");
+                                                                               
String error = 
outputConnector.processSpecificationPost(variableContext,pageContext.getRequest().getLocale(),job.getPipelineStageSpecification(j),1+j);
+                                                                               
if (error != null)
+                                                                               
{
+                                                                               
        variableContext.setParameter("text",error);
+                                                                               
        variableContext.setParameter("target","listjobs.jsp");
 %>
                                                                        
<jsp:forward page="error.jsp"/>
 <%
+                                                                               
}
+                                                                       }
+                                                                       finally
+                                                                       {
+                                                                               
outputConnectorPool.release(outputConnection,outputConnector);
                                                                        }
                                                                }
-                                                               finally
+                                                       }
+                                               }
+                                               else
+                                               {
+                                                       
ITransformationConnection transformationConnection = 
transformationManager.load(job.getPipelineStageConnectionName(j));
+                                                       if 
(transformationConnection != null)
+                                                       {
+                                                               
ITransformationConnector transformationConnector = 
transformationConnectorPool.grab(transformationConnection);
+                                                               if 
(transformationConnector != null)
                                                                {
-                                                                       
transformationConnectorPool.release(transformationConnection,transformationConnector);
+                                                                       try
+                                                                       {
+                                                                               
String error = 
transformationConnector.processSpecificationPost(variableContext,pageContext.getRequest().getLocale(),job.getPipelineStageSpecification(j),1+j);
+                                                                               
if (error != null)
+                                                                               
{
+                                                                               
        variableContext.setParameter("text",error);
+                                                                               
        variableContext.setParameter("target","listjobs.jsp");
+%>
+                                                                       
<jsp:forward page="error.jsp"/>
+<%
+                                                                               
}
+                                                                       }
+                                                                       finally
+                                                                       {
+                                                                               
transformationConnectorPool.release(transformationConnection,transformationConnector);
+                                                                       }
                                                                }
                                                        }
                                                }
                                        }
-                                       
+
                                        // Now, after gathering is complete, 
consider doing changes to the pipeline.
                                        int currentStage = 0;
                                        for (int j = 0; j < 
job.countPipelineStages(); j++)
@@ -1276,27 +1276,36 @@
                                                x = 
variableContext.getParameter("pipeline_"+j+"_op");
                                                if (x != null && 
x.equals("Delete"))
                                                {
-                                                       // Delete this pipeline 
stage
+                                                       // Delete this pipeline 
stage (and rewire other stages according to rules)
                                                        
job.deletePipelineStage(currentStage);
                                                }
-                                               else if (x != null && 
x.equals("Insert"))
+                                               else if (x != null && 
x.equals("InsertTransformation"))
+                                               {
+                                                       // Insert a new stage 
before this one
+                                                       String connectionName = 
variableContext.getParameter("transformation_connectionname");
+                                                       String description = 
variableContext.getParameter("transformation_description");
+                                                       
job.insertPipelineStage(currentStage,false,connectionName,description);
+                                                       currentStage++;
+                                               }
+                                               else if (x != null && 
x.equals("InsertOutput"))
                                                {
                                                        // Insert a new stage 
before this one
-                                                       String connectionName = 
variableContext.getParameter("pipeline_connectionname");
-                                                       String description = 
variableContext.getParameter("pipeline_description");
-                                                       
job.insertPipelineStage(currentStage,currentStage-1,false,connectionName,description);
+                                                       String connectionName = 
variableContext.getParameter("output_connectionname");
+                                                       String description = 
variableContext.getParameter("output_description");
+                                                       
job.insertPipelineStage(currentStage,true,connectionName,description);
                                                        currentStage++;
                                                }
                                                else
                                                        currentStage++;
                                        }
-                                       x = 
variableContext.getParameter("pipeline_op");
+                                       x = 
variableContext.getParameter("output_op");
                                        if (x != null && x.equals("Add"))
                                        {
                                                // Append a new stage at the end
-                                               String connectionName = 
variableContext.getParameter("pipeline_connectionname");
-                                               String description = 
variableContext.getParameter("pipeline_description");
-                                               
job.addPipelineStage(connectionName,description);
+                                               int precedent = 
Integer.parseInt(variableContext.getParameter("output_precedent"));
+                                               String connectionName = 
variableContext.getParameter("output_connectionname");
+                                               String description = 
variableContext.getParameter("output_description");
+                                               
job.addPipelineStage(precedent,true,connectionName,description);
                                        }
                                        
                                        if (op.equals("Continue"))

Modified: 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/interfaces/IJobDescription.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/interfaces/IJobDescription.java?rev=1603075&r1=1603074&r2=1603075&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/interfaces/IJobDescription.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/interfaces/IJobDescription.java
 Tue Jun 17 07:14:37 2014
@@ -140,7 +140,7 @@ public interface IJobDescription
   *@param pipelineStageDescription is the description.
   *@return the newly-created output specification.
   */
-  public OutputSpecification insertPipelineStage(int index, int 
prerequisiteStage, boolean isOutput, String pipelineStageConnectionName, String 
pipelineStageDescription);
+  public OutputSpecification insertPipelineStage(int index, boolean isOutput, 
String pipelineStageConnectionName, String pipelineStageDescription);
   
   /** Set the job type.
   *@param type is the type (as an integer).

Modified: 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobDescription.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobDescription.java?rev=1603075&r1=1603074&r2=1603075&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobDescription.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-962/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/JobDescription.java
 Tue Jun 17 07:14:37 2014
@@ -267,17 +267,21 @@ public class JobDescription implements I
   *@return the newly-created output specification.
   */
   @Override
-  public OutputSpecification insertPipelineStage(int index, int 
prerequisiteStage, boolean isOutput, String pipelineStageConnectionName, String 
pipelineStageDescription)
+  public OutputSpecification insertPipelineStage(int index, boolean isOutput, 
String pipelineStageConnectionName, String pipelineStageDescription)
   {
     if (readOnly)
       throw new IllegalStateException("Attempt to change read-only object");
-    PipelineStage ps = new 
PipelineStage(prerequisiteStage,isOutput,pipelineStageConnectionName,pipelineStageDescription);
+    // What we do here depends on the kind of stage we're inserting.
+    // Both kinds take the current stage's prerequisite as their own.  But 
what happens to the current stage will
+    // differ as to whether its reference changes or not.
+    PipelineStage currentStage = pipelineStages.get(index);
+    PipelineStage ps = new 
PipelineStage(currentStage.getPrerequisiteStage(),isOutput,pipelineStageConnectionName,pipelineStageDescription);
     pipelineStages.add(index,ps);
     // Adjust stage back-references
     int stage = index + 1;
     while (stage < pipelineStages.size())
     {
-      pipelineStages.get(stage).adjustForInsert(index);
+      pipelineStages.get(stage).adjustForInsert(index,isOutput);
       stage++;
     }
     return ps.getSpecification();
@@ -666,9 +670,9 @@ public class JobDescription implements I
       this.specification = spec;
     }
     
-    public void adjustForInsert(int index)
+    public void adjustForInsert(int index, boolean isOutput)
     {
-      if (prerequisiteStage >= index)
+      if (prerequisiteStage > index || (prerequisiteStage == index && 
!isOutput))
         prerequisiteStage++;
     }
     


Reply via email to