You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2014/12/21 20:53:37 UTC
svn commit: r1647200 -
/manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
Author: kwright
Date: Sun Dec 21 19:53:37 2014
New Revision: 1647200
URL: http://svn.apache.org/r1647200
Log:
Add API support for notifications in jobs
Modified:
manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
Modified: manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java?rev=1647200&r1=1647199&r2=1647200&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java (original)
+++ manifoldcf/branches/CONNECTORS-1119/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/ManifoldCF.java Sun Dec 21 19:53:37 2014
@@ -4232,6 +4232,7 @@ public class ManifoldCF extends org.apac
protected static final String JOBNODE_STAGECONNECTIONNAME = "stage_connectionname";
protected static final String JOBNODE_STAGEDESCRIPTION = "stage_description";
protected static final String JOBNODE_STAGESPECIFICATION = "stage_specification";
+ protected static final String JOBNODE_NOTIFICATIONSTAGE = "notificationstage";
/** Convert a node into a job description.
*@param jobDescription is the job to be filled in.
@@ -4297,6 +4298,39 @@ public class ManifoldCF extends org.apac
pipelineStages.put(stageID,new PipelineStage(stagePrerequisite,stageIsOutput.equals("true"),
stageConnectionName,stageDescription,stageSpecification));
}
+ else if (childType.equals(JOBNODE_NOTIFICATIONSTAGE))
+ {
+ String stageConnectionName = null;
+ String stageDescription = null;
+ ConfigurationNode stageSpecification = null;
+ for (int q = 0; q < child.getChildCount(); q++)
+ {
+ ConfigurationNode cn = child.findChild(q);
+ if (cn.getType().equals(JOBNODE_STAGECONNECTIONNAME))
+ stageConnectionName = cn.getValue();
+ else if (cn.getType().equals(JOBNODE_STAGEDESCRIPTION))
+ stageDescription = cn.getValue();
+ else if (cn.getType().equals(JOBNODE_STAGESPECIFICATION))
+ {
+ stageSpecification = cn;
+ }
+ else
+ throw new ManifoldCFException("Found an unexpected node type: '"+cn.getType()+"'");
+ }
+ if (stageConnectionName == null)
+ throw new ManifoldCFException("Missing required field: '"+JOBNODE_STAGECONNECTIONNAME+"'");
+ Specification os = jobDescription.addNotification(stageConnectionName,stageDescription);
+ os.clearChildren();
+ if (stageSpecification != null)
+ {
+ for (int j = 0; j < stageSpecification.getChildCount(); j++)
+ {
+ ConfigurationNode cn = stageSpecification.findChild(j);
+ os.addChild(os.getChildCount(),new SpecificationNode(cn));
+ }
+ }
+
+ }
else if (childType.equals(JOBNODE_DOCUMENTSPECIFICATION))
{
// Get the job's document specification, clear out the children, and copy new ones from the child.
@@ -4499,7 +4533,7 @@ public class ManifoldCF extends org.apac
}
}
-
+
/** Convert a job description into a ConfigurationNode.
*@param jobNode is the node to be filled in.
*@param job is the job description.
@@ -4574,6 +4608,34 @@ public class ManifoldCF extends org.apac
stage = new ConfigurationNode(JOBNODE_STAGESPECIFICATION);
for (int k = 0; k < spec.getChildCount(); k++)
{
+ ConfigurationNode cn = spec.getChild(k);
+ stage.addChild(stage.getChildCount(),cn);
+ }
+ child.addChild(child.getChildCount(),stage);
+ jobNode.addChild(jobNode.getChildCount(),child);
+ }
+
+ for (int j = 0; j < job.countNotifications(); j++)
+ {
+ child = new ConfigurationNode(JOBNODE_NOTIFICATIONSTAGE);
+ ConfigurationNode stage;
+ stage = new ConfigurationNode(JOBNODE_STAGEID);
+ stage.setValue(Integer.toString(j));
+ child.addChild(child.getChildCount(),stage);
+ stage = new ConfigurationNode(JOBNODE_STAGECONNECTIONNAME);
+ stage.setValue(job.getNotificationConnectionName(j));
+ child.addChild(child.getChildCount(),stage);
+ String description = job.getNotificationDescription(j);
+ if (description != null)
+ {
+ stage = new ConfigurationNode(JOBNODE_STAGEDESCRIPTION);
+ stage.setValue(description);
+ child.addChild(child.getChildCount(),stage);
+ }
+ Specification spec = job.getNotificationSpecification(j);
+ stage = new ConfigurationNode(JOBNODE_STAGESPECIFICATION);
+ for (int k = 0; k < spec.getChildCount(); k++)
+ {
ConfigurationNode cn = spec.getChild(k);
stage.addChild(stage.getChildCount(),cn);
}