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/06/09 11:08:58 UTC
svn commit: r1601327 -
/manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java
Author: kwright
Date: Mon Jun 9 09:08:57 2014
New Revision: 1601327
URL: http://svn.apache.org/r1601327
Log:
Handle entry into the DELETE_NOOUTPUT state
Modified:
manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java
Modified: manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java?rev=1601327&r1=1601326&r2=1601327&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java (original)
+++ manifoldcf/branches/CONNECTORS-946/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/jobs/Jobs.java Mon Jun 9 09:08:57 2014
@@ -1338,7 +1338,37 @@ public class Jobs extends org.apache.man
public void noteTransformationConnectorDeregistration(Long jobID, int oldStatusValue)
throws ManifoldCFException
{
- deregisterConnector(jobID,oldStatusValue);
+ int newStatusValue;
+ // The following states are special, in that when the underlying connector goes away, the jobs
+ // in such states are switched away to something else. There are TWO reasons that a state may be in
+ // this category: EITHER we don't want the job in this state to be treated in the same way if its
+ // connector is uninstalled, OR we need feedback for the user interface. If it's the latter situation,
+ // then all usages of the corresponding states will be identical - and that's in fact precisely where we
+ // start with in all the code.
+ switch (oldStatusValue)
+ {
+ case STATUS_ACTIVE:
+ newStatusValue = STATUS_ACTIVE_UNINSTALLED;
+ break;
+ case STATUS_ACTIVESEEDING:
+ newStatusValue = STATUS_ACTIVESEEDING_UNINSTALLED;
+ break;
+ default:
+ newStatusValue = oldStatusValue;
+ break;
+ }
+ if (newStatusValue == oldStatusValue)
+ return;
+
+ StringSet invKey = new StringSet(getJobStatusKey());
+
+ HashMap newValues = new HashMap();
+ newValues.put(statusField,statusToString(newStatusValue));
+ newValues.put(assessmentStateField,assessmentStateToString(ASSESSMENT_KNOWN));
+ ArrayList list = new ArrayList();
+ String query = buildConjunctionClause(list,new ClauseDescription[]{
+ new UnitaryClause(idField,jobID)});
+ performUpdate(newValues,"WHERE "+query,list,invKey);
}
/** Signal to a job that an underlying transformation connector has been registered.
@@ -1358,10 +1388,6 @@ public class Jobs extends org.apache.man
public void noteOutputConnectorDeregistration(Long jobID, int oldStatusValue)
throws ManifoldCFException
{
- deregisterConnector(jobID,oldStatusValue);
- }
-
- /* ???
int newStatusValue;
// The following states are special, in that when the underlying connector goes away, the jobs
// in such states are switched away to something else. There are TWO reasons that a state may be in
@@ -1372,16 +1398,10 @@ public class Jobs extends org.apache.man
switch (oldStatusValue)
{
case STATUS_ACTIVE:
- newStatusValue = STATUS_ACTIVE_NOOUTPUT;
+ newStatusValue = STATUS_ACTIVE_UNINSTALLED;
break;
case STATUS_ACTIVESEEDING:
- newStatusValue = STATUS_ACTIVESEEDING_NOOUTPUT;
- break;
- case STATUS_ACTIVE_UNINSTALLED:
- newStatusValue = STATUS_ACTIVE_NEITHER;
- break;
- case STATUS_ACTIVESEEDING_UNINSTALLED:
- newStatusValue = STATUS_ACTIVESEEDING_NEITHER;
+ newStatusValue = STATUS_ACTIVESEEDING_UNINSTALLED;
break;
case STATUS_DELETING:
newStatusValue = STATUS_DELETING_NOOUTPUT;
@@ -1397,12 +1417,12 @@ public class Jobs extends org.apache.man
HashMap newValues = new HashMap();
newValues.put(statusField,statusToString(newStatusValue));
+ newValues.put(assessmentStateField,assessmentStateToString(ASSESSMENT_KNOWN));
ArrayList list = new ArrayList();
String query = buildConjunctionClause(list,new ClauseDescription[]{
new UnitaryClause(idField,jobID)});
performUpdate(newValues,"WHERE "+query,list,invKey);
}
- */
/** Signal to a job that its underlying output connector has returned.
*@param jobID is the identifier of the job.
@@ -1460,10 +1480,6 @@ public class Jobs extends org.apache.man
public void noteConnectorDeregistration(Long jobID, int oldStatusValue)
throws ManifoldCFException
{
- deregisterConnector(jobID,oldStatusValue);
- }
-
- /*
int newStatusValue;
// The following states are special, in that when the underlying connector goes away, the jobs
// in such states are switched away to something else. There are TWO reasons that a state may be in
@@ -1479,12 +1495,6 @@ public class Jobs extends org.apache.man
case STATUS_ACTIVESEEDING:
newStatusValue = STATUS_ACTIVESEEDING_UNINSTALLED;
break;
- case STATUS_ACTIVE_NOOUTPUT:
- newStatusValue = STATUS_ACTIVE_NEITHER;
- break;
- case STATUS_ACTIVESEEDING_NOOUTPUT:
- newStatusValue = STATUS_ACTIVESEEDING_NEITHER;
- break;
default:
newStatusValue = oldStatusValue;
break;
@@ -1496,12 +1506,12 @@ public class Jobs extends org.apache.man
HashMap newValues = new HashMap();
newValues.put(statusField,statusToString(newStatusValue));
+ newValues.put(assessmentStateField,assessmentStateToString(ASSESSMENT_KNOWN));
ArrayList list = new ArrayList();
String query = buildConjunctionClause(list,new ClauseDescription[]{
new UnitaryClause(idField,jobID)});
performUpdate(newValues,"WHERE "+query,list,invKey);
}
- */
/** Signal to a job that its underlying connector has returned.
*@param jobID is the identifier of the job.
@@ -1549,43 +1559,6 @@ public class Jobs extends org.apache.man
}
*/
- protected void deregisterConnector(Long jobID, int oldStatusValue)
- throws ManifoldCFException
- {
- // Make sure we transition to an uninstalled state, if we aren't there already.
- int newStatusValue;
- switch (oldStatusValue)
- {
- case STATUS_ACTIVE:
- newStatusValue = STATUS_ACTIVE_UNINSTALLED;
- break;
- case STATUS_ACTIVESEEDING:
- newStatusValue = STATUS_ACTIVESEEDING_UNINSTALLED;
- break;
- case STATUS_ACTIVE_NOOUTPUT:
- newStatusValue = STATUS_ACTIVE_UNINSTALLED;
- break;
- case STATUS_ACTIVESEEDING_NOOUTPUT:
- newStatusValue = STATUS_ACTIVESEEDING_UNINSTALLED;
- break;
- default:
- newStatusValue = oldStatusValue;
- break;
- }
- if (newStatusValue == oldStatusValue)
- return;
-
- StringSet invKey = new StringSet(getJobStatusKey());
-
- HashMap newValues = new HashMap();
- newValues.put(statusField,statusToString(newStatusValue));
- newValues.put(assessmentStateField,assessmentStateToString(ASSESSMENT_KNOWN));
- ArrayList list = new ArrayList();
- String query = buildConjunctionClause(list,new ClauseDescription[]{
- new UnitaryClause(idField,jobID)});
- performUpdate(newValues,"WHERE "+query,list,invKey);
- }
-
/** Note a change in connection configuration.
* This method will be called whenever a connection's configuration is modified, or when an external repository change
* is signalled.