Changeset 1049 for DCWoRMS/trunk/src/schedframe/scheduling/manager
- Timestamp:
- 05/23/13 22:49:27 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/src/schedframe/scheduling/manager/tasks/JobRegistryImpl.java
r493 r1049 10 10 import org.apache.commons.logging.LogFactory; 11 11 import org.qcg.broker.schemas.resreqs.ParentType; 12 import org.qcg.broker.schemas.resreqs.Workflow; 12 13 import org.qcg.broker.schemas.resreqs.types.TaskStatesName; 13 14 … … 117 118 if(task.getStatus() != (int)BrokerConstants.TASK_STATUS_UNSUBMITTED) 118 119 continue; 119 try{ 120 //the following procedure supports only one nested structure 121 Workflow w = task.getDescription().getWorkflow(); 122 if (w == null){ 123 availableTasks.add(task); 124 continue; 125 } 126 if(w.getAnd() != null) { 127 parCnt = w.getAnd().getParentOpTypeItemCount(); 128 if(parCnt == 0) 129 { 130 availableTasks.add(task); 131 } 132 else 133 { 134 for(int j = 0; j < parCnt; j++){ 135 ParentType par = w.getAnd().getParentOpTypeItem(j).getParent(); 136 if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 137 if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 138 break; 139 } 140 } 141 previousTaskSucceedCnt++; 142 } 143 144 if(previousTaskSucceedCnt == parCnt) 145 availableTasks.add(task); 146 } 147 } 148 else if(w.getOr() != null) { 149 parCnt = w.getOr().getParentOpTypeItemCount(); 150 if(parCnt == 0) 151 { 152 availableTasks.add(task); 153 } 154 else 155 { 156 for(int j = 0; j < parCnt; j++){ 157 ParentType par = w.getOr().getParentOpTypeItem(j).getParent(); 158 if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 159 if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 160 continue; 161 } 162 } 163 previousTaskSucceedCnt++; 164 } 165 166 if(previousTaskSucceedCnt > 0) 167 availableTasks.add(task); 168 } 169 } 170 171 else { 172 parCnt = w.getParentCount(); 173 if(parCnt == 0) 174 { 175 availableTasks.add(task); 176 } 177 else 178 { 179 for(int j = 0; j < parCnt; j++){ 180 ParentType par = w.getParent(j); 181 if(par.getTriggerState().compareTo(TaskStatesName.FINISHED) == 0){ 182 if(!checkTaskCompletion(task.getJobId(), par.getContent())){ 183 continue; 184 } 185 } 186 previousTaskSucceedCnt++; 187 } 188 189 if(previousTaskSucceedCnt == parCnt) 190 availableTasks.add(task); 191 } 192 } 193 194 /*try{ 120 195 parCnt = task.getDescription().getWorkflow().getParentCount(); 121 196 } catch(Exception e){ … … 142 217 else if (previousTaskSucceedCnt == parCnt) 143 218 availableTasks.add(task); 144 } 219 }*/ 145 220 } 146 221 return availableTasks;
Note: See TracChangeset
for help on using the changeset viewer.