Author: degenaro
Date: Thu Feb  2 15:35:12 2017
New Revision: 1781407

URL: http://svn.apache.org/viewvc?rev=1781407&view=rev
Log:
UIMA-5292 DUCC Orchestrator (OR) does not propagate Reason/Extended Reason when 
log file is unwritable

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

Modified: 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java
URL: 
http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java?rev=1781407&r1=1781406&r2=1781407&view=diff
==============================================================================
--- 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java
 (original)
+++ 
uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java
 Thu Feb  2 15:35:12 2017
@@ -484,6 +484,24 @@ public class ProcessAccounting {
                logger.trace(methodName, job.getDuccId(), 
messages.fetch("exit"));
        }
        
+       private boolean changed(String s1, String s2) {
+               boolean retVal = false;
+               if((s1 == null) && (s2 == null)) {
+               }
+               else if((s1 == null) && (s2 != null)) {
+                       retVal = true;
+               }
+               else if((s1 != null) && (s2 == null)) {
+                       retVal = true;
+               }
+               else if(s1.equals(s2)) {
+               }
+               else {
+                       retVal = true;
+               }
+               return retVal;
+       }
+       
        private void copyReasonForStoppingProcess(IDuccWorkJob job, 
IDuccProcess inventoryProcess, IDuccProcess process) {
                String methodName = "copyReasonForStoppingProcess";
                logger.trace(methodName, job.getDuccId(), 
messages.fetch("enter"));
@@ -496,26 +514,16 @@ public class ProcessAccounting {
                case Killed:
                        String reasonNew = 
inventoryProcess.getReasonForStoppingProcess();
                        String reasonOld = 
process.getReasonForStoppingProcess();
+                       if(changed(reasonOld, reasonNew)) {
+                               process.setReasonForStoppingProcess(reasonNew);
+                               logger.info(methodName, job.getDuccId(), 
process.getDuccId(), messages.fetchLabel("process reason 
code")+reasonOld+"->"+reasonNew);
+                       }
                        String extendedReasonNew = 
inventoryProcess.getExtendedReasonForStoppingProcess();
-                       if(reasonNew != null) {
-                               if(reasonOld == null) {
-                                       
process.setReasonForStoppingProcess(reasonNew);
-                                       logger.info(methodName, 
job.getDuccId(), process.getDuccId(), messages.fetchLabel("process reason 
code")+process.getReasonForStoppingProcess());
-                                       if(extendedReasonNew != null) {
-                                               
process.setExtendedReasonForStoppingProcess(extendedReasonNew);
-                                               logger.info(methodName, 
job.getDuccId(), process.getDuccId(), messages.fetchLabel("process extended 
reason code")+process.getExtendedReasonForStoppingProcess());
-                                       }
-                               }
-                               else if(!reasonNew.equals(reasonOld)) {
-                                       
process.setReasonForStoppingProcess(reasonNew);
-                                       logger.info(methodName, 
job.getDuccId(), process.getDuccId(), messages.fetchLabel("process reason 
code")+process.getReasonForStoppingProcess());
-                                       if(extendedReasonNew != null) {
-                                               
process.setExtendedReasonForStoppingProcess(extendedReasonNew);
-                                               logger.info(methodName, 
job.getDuccId(), process.getDuccId(), messages.fetchLabel("process extended 
reason code")+process.getExtendedReasonForStoppingProcess());
-                                       }
-                               }
+                       String extendedReasonOld = 
process.getExtendedReasonForStoppingProcess();
+                       if(changed(extendedReasonOld, extendedReasonNew)) {
+                               
process.setExtendedReasonForStoppingProcess(extendedReasonNew);
+                               logger.info(methodName, job.getDuccId(), 
process.getDuccId(), messages.fetchLabel("process extended reason 
code")+extendedReasonOld+"->"+extendedReasonNew);
                        }
-                       
                        break;
                default:
                        break;


Reply via email to