You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/02/06 20:17:23 UTC

svn commit: r1443144 - /uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java

Author: degenaro
Date: Wed Feb  6 19:17:23 2013
New Revision: 1443144

URL: http://svn.apache.org/viewvc?rev=1443144&view=rev
Log:
UIMA-2642 Transfer cancel --reason to persistent DuccWorkJob

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java?rev=1443144&r1=1443143&r2=1443144&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java Wed Feb  6 19:17:23 2013
@@ -657,8 +657,19 @@ implements Orchestrator {
 				String tgtUser = duccWorkJob.getStandardInfo().getUser().trim();
 				if(isAuthorized(dwid, reqUser, tgtUser, reqRole)) {
 					logger.debug(methodName, dwid, "reqUser:"+reqUser+" "+"reqRole:"+reqRole+" "+"tgtUser:"+tgtUser);
-					IRationale rationale = new Rationale("job canceled by userid "+reqUser);
-					stateManager.jobTerminate(duccWorkJob, JobCompletionType.CanceledByUser, rationale, ProcessDeallocationType.JobCanceled);
+					String message = "job canceled by userid "+reqUser;
+					if(properties.containsKey(SpecificationProperties.key_reason)) {
+						String reason = properties.getProperty(SpecificationProperties.key_reason);
+						if(reason != null) {
+							message += ": "+reason;
+						}
+					}
+					IRationale rationale = new Rationale(message);
+					JobCompletionType jobCompletionType = JobCompletionType.CanceledByUser;
+					if(reqRole.equals(SpecificationProperties.key_role_administrator)) {
+						jobCompletionType = JobCompletionType.CanceledByAdministrator;
+					}
+					stateManager.jobTerminate(duccWorkJob, jobCompletionType, rationale, ProcessDeallocationType.JobCanceled);
 					OrchestratorCheckpoint.getInstance().saveState();
 					// prepare for reply to canceler
 					properties.put(JobReplyProperties.key_message, JobReplyProperties.msg_canceled);