Changeset 1294 for trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRule.java
- Timestamp:
- 08/14/13 17:04:42 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRule.java
r1287 r1294 26 26 import de.ugoe.cs.autoquest.tasktrees.taskequality.TaskEquality; 27 27 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration; 28 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIterationInstance; 28 29 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection; 30 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelectionInstance; 29 31 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence; 32 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequenceInstance; 30 33 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 31 34 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder; … … 159 162 SymbolMap<ITaskInstance, ITask> uniqueTasks = 160 163 preparationTaskHandlingStrategy.createSymbolMap(); 161 Task Comparator comparator = preparationTaskHandlingStrategy.getTaskComparator();164 TaskInstanceComparator comparator = preparationTaskHandlingStrategy.getTaskComparator(); 162 165 163 166 int unifiedTasks = 0; … … 235 238 { 236 239 Map<ITask, IIteration> iterations = new HashMap<ITask, IIteration>(); 237 Map<IIteration, List<I TaskInstance>> iterationInstances =238 new HashMap<IIteration, List<I TaskInstance>>();240 Map<IIteration, List<IIterationInstance>> iterationInstances = 241 new HashMap<IIteration, List<IIterationInstance>>(); 239 242 240 243 for (ITask iteratedTask : iteratedTasks) { 241 244 IIteration iteration = taskFactory.createNewIteration(); 242 245 iterations.put(iteratedTask, iteration); 243 iterationInstances.put(iteration, new LinkedList<I TaskInstance>());244 } 245 246 I TaskInstance iterationInstance = null;246 iterationInstances.put(iteration, new LinkedList<IIterationInstance>()); 247 } 248 249 IIterationInstance iterationInstance = null; 247 250 248 251 for (IUserSession session : sessions) { … … 275 278 } 276 279 277 for (Map.Entry<IIteration, List<ITaskInstance>> entry : iterationInstances.entrySet()) { 280 for (Map.Entry<IIteration, List<IIterationInstance>> entry : iterationInstances.entrySet()) 281 { 278 282 harmonizeIterationInstancesModel(entry.getKey(), entry.getValue()); 279 283 } … … 283 287 * 284 288 */ 285 private void harmonizeIterationInstancesModel(IIteration iteration,286 List<I TaskInstance> iterationInstances)289 private void harmonizeIterationInstancesModel(IIteration iteration, 290 List<IIterationInstance> iterationInstances) 287 291 { 288 292 List<ITask> iteratedTaskVariants = new LinkedList<ITask>(); 289 Task Comparator comparator = preparationTaskHandlingStrategy.getTaskComparator();293 TaskInstanceComparator comparator = preparationTaskHandlingStrategy.getTaskComparator(); 290 294 291 295 // merge the lexically different variants of iterated task to a unique list 292 for (I TaskInstance iterationInstance : iterationInstances) {296 for (IIterationInstance iterationInstance : iterationInstances) { 293 297 for (ITaskInstance executionVariant : iterationInstance) { 294 298 ITask candidate = executionVariant.getTask(); … … 323 327 taskBuilder.setMarkedTask(iteration, selection); 324 328 325 for (I TaskInstance instance : iterationInstances) {329 for (IIterationInstance instance : iterationInstances) { 326 330 for (int i = 0; i < instance.size(); i++) { 327 ITaskInstance selectionInstance = taskFactory.createNewTaskInstance(selection); 328 taskBuilder.addChild(selectionInstance, instance.get(i)); 331 ISelectionInstance selectionInstance = 332 taskFactory.createNewTaskInstance(selection); 333 taskBuilder.setChild(selectionInstance, instance.get(i)); 329 334 taskBuilder.setTaskInstance(instance, i, selectionInstance); 330 335 } … … 490 495 Console.traceln(Level.FINEST, "replacing " + sequence.getId() + ": " + task); 491 496 492 List<I TaskInstance> sequenceInstances =497 List<ISequenceInstance> sequenceInstances = 493 498 replaceTaskOccurrences(task, appData.getSessions(), sequence); 494 499 … … 510 515 * 511 516 */ 512 private void harmonizeSequenceInstancesModel(ISequence sequence,513 List<I TaskInstance> sequenceInstances,514 int sequenceLength)517 private void harmonizeSequenceInstancesModel(ISequence sequence, 518 List<ISequenceInstance> sequenceInstances, 519 int sequenceLength) 515 520 { 516 Task Comparator comparator = preparationTaskHandlingStrategy.getTaskComparator();521 TaskInstanceComparator comparator = preparationTaskHandlingStrategy.getTaskComparator(); 517 522 518 523 // ensure for each subtask that lexically different variants are preserved … … 520 525 List<ITask> subTaskVariants = new LinkedList<ITask>(); 521 526 522 for (I TaskInstance sequenceInstance : sequenceInstances) {527 for (ISequenceInstance sequenceInstance : sequenceInstances) { 523 528 ITask candidate = sequenceInstance.get(subTaskIndex).getTask(); 524 529 … … 556 561 taskBuilder.addChild(sequence, selection); 557 562 558 for (I TaskInstance instance : sequenceInstances) {559 I TaskInstance selectionInstance =563 for (ISequenceInstance instance : sequenceInstances) { 564 ISelectionInstance selectionInstance = 560 565 taskFactory.createNewTaskInstance(selection); 561 taskBuilder. addChild(selectionInstance, instance.get(subTaskIndex));566 taskBuilder.setChild(selectionInstance, instance.get(subTaskIndex)); 562 567 taskBuilder.setTaskInstance(instance, subTaskIndex, selectionInstance); 563 568 } … … 572 577 * @param tree 573 578 */ 574 private List<I TaskInstance> replaceTaskOccurrences(List<ITaskInstance> task,575 List<IUserSession> sessions,576 ISequence temporalTaskModel)579 private List<ISequenceInstance> replaceTaskOccurrences(List<ITaskInstance> task, 580 List<IUserSession> sessions, 581 ISequence temporalTaskModel) 577 582 { 578 List<I TaskInstance> sequenceInstances = new LinkedList<ITaskInstance>();583 List<ISequenceInstance> sequenceInstances = new LinkedList<ISequenceInstance>(); 579 584 580 585 for (IUserSession session : sessions) {
Note: See TracChangeset
for help on using the changeset viewer.