Changeset 1595 for DCWoRMS/branches


Ignore:
Timestamp:
11/28/16 13:11:21 (8 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java

    r1548 r1595  
    210210                        if(w.getAnd() != null) { 
    211211                                parCnt = w.getAnd().getParentOpTypeItemCount(); 
    212                                 if(parCnt == 0) 
    213                                 { 
    214                                         availableTasks.add(task); 
    215                                 } 
    216                                 else 
    217                                 { 
     212                                if(parCnt == 0) { 
     213                                        availableTasks.add(task); 
     214                                } else { 
    218215                                        for(int j = 0; j < parCnt; j++){ 
    219216                                                ParentType par = w.getAnd().getParentOpTypeItem(j).getParent(); 
    220217                                                if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 
    221                                                         if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
     218                                                        if(!checkTaskState(task.getJobId(), par.getContent(), TaskStatesName.FINISHED)){ 
     219                                                        //if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
    222220                                                                break; 
    223221                                                        } 
     
    232230                        else if(w.getOr() != null) { 
    233231                                parCnt = w.getOr().getParentOpTypeItemCount(); 
    234                                 if(parCnt == 0) 
    235                                 { 
    236                                         availableTasks.add(task); 
    237                                 } 
    238                                 else 
    239                                 { 
     232                                if(parCnt == 0) { 
     233                                        availableTasks.add(task); 
     234                                } else { 
    240235                                        for(int j = 0; j < parCnt; j++){ 
    241236                                                ParentType par = w.getOr().getParentOpTypeItem(j).getParent(); 
    242237                                                if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 
    243                                                         if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
     238                                                        if(!checkTaskState(task.getJobId(), par.getContent(), TaskStatesName.FINISHED)){ 
     239                                                        //if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
    244240                                                                continue; 
    245241                                                        } 
     
    254250                        else { 
    255251                                parCnt = w.getParentCount(); 
    256                                 if(parCnt == 0) 
    257                                 { 
    258                                         availableTasks.add(task); 
    259                                 } 
    260                                 else 
    261                                 { 
     252                                if(parCnt == 0) { 
     253                                        availableTasks.add(task); 
     254                                } else { 
    262255                                        for(int j = 0; j < parCnt; j++){ 
    263256                                                ParentType par = w.getParent(j); 
    264257                                                if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 
    265258                                                        if(par.getContent().contains("_")){ 
    266                                                                 if(!checkTaskCompletion(par.getContent().split("_")[0], par.getContent().split("_")[1])){ 
     259                                                                if(!checkTaskState(par.getContent().split("_")[0], par.getContent().split("_")[1], TaskStatesName.FINISHED)){ 
     260                                                                //if(!checkTaskCompletion(par.getContent().split("_")[0], par.getContent().split("_")[1])){ 
    267261                                                                        continue; 
    268262                                                                } 
    269                                                         } 
    270                                                         else if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
     263                                                        }                                                        
     264                                                        else if(!checkTaskState(task.getJobId(), par.getContent(), TaskStatesName.FINISHED)){ 
     265                                                        //else if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 
    271266                                                                continue; 
    272267                                                        } 
     
    321316        } 
    322317         
     318        private boolean checkTaskState(String jobID, String taskID, TaskStatesName taskState){ 
     319                JobInterface<?> job = getJobInfo(jobID); 
     320                try { 
     321                        switch (taskState){ 
     322                                case QUEUED:{ 
     323                                        if(job.getTask(taskID).getStatus() == (int)BrokerConstants.JOB_STATUS_SUBMITTED) 
     324                                                return true; 
     325                                }  
     326                                case FINISHED:{ 
     327                                        if(job.getTask(taskID).isFinished()) 
     328                                                return true; 
     329                                } 
     330                        default: 
     331                                break; 
     332                        } 
     333 
     334                } catch (NoSuchFieldException e) { 
     335                        //e.printStackTrace(); 
     336                } 
     337                return false; 
     338        } 
     339         
    323340        public static void reset(){ 
    324341                jobs.clear(); 
Note: See TracChangeset for help on using the changeset viewer.