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++;
}