Ignore:
Timestamp:
04/04/13 16:06:07 (11 years ago)
Author:
pharms
Message:
  • complete refactoring of task tree model with a separation of task models and task instances
  • appropriate adaptation of task tree generation process
  • appropriate adaptation of commands and task tree visualization
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java

    r1127 r1146  
    1515package de.ugoe.cs.autoquest.tasktrees.temporalrelation; 
    1616 
    17 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence; 
    18 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeBuilder; 
    19 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode; 
    20 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNodeFactory; 
     17import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 
     18import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskBuilder; 
     19import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance; 
     20import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstanceList; 
     21import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskFactory; 
    2122 
    2223/** 
     
    3536     *  
    3637     */ 
    37     static ISequence getSubSequenceInRange(ITaskTreeNode        parent, 
    38                                            int                   startIndex, 
    39                                            int                   endIndex, 
    40                                            String                description, 
    41                                            ITaskTreeNodeFactory  nodeFactory, 
    42                                            ITaskTreeBuilder      builder) 
     38    static ITaskInstance getSubSequenceInRange(ITaskInstanceList parent, 
     39                                               int               startIndex, 
     40                                               int               endIndex, 
     41                                               ITask             model, 
     42                                               ITaskFactory      taskFactory, 
     43                                               ITaskBuilder      taskBuilder) 
    4344    { 
    44         ISequence sequence = nodeFactory.createNewSequence(); 
    45         if (description != null) { 
    46             builder.setDescription(sequence, description); 
     45        ITaskInstance subsequence = taskFactory.createNewTaskInstance(model); 
     46 
     47        for (int i = startIndex; i <= endIndex; i++) { 
     48            taskBuilder.addChild(subsequence, parent.get(i)); 
    4749        } 
    4850 
    49         for (int i = startIndex; i <= endIndex; i++) { 
    50             builder.addChild(sequence, parent.getChildren().get(i)); 
    51         } 
    52  
    53         return sequence; 
     51        return subsequence; 
    5452    } 
    5553 
     
    5755     *  
    5856     */ 
    59     static ISequence createNewSubSequenceInRange(ITaskTreeNode        parent, 
    60                                                  int                   startIndex, 
    61                                                  int                   endIndex, 
    62                                                  String                description, 
    63                                                  ITaskTreeNodeFactory  nodeFactory, 
    64                                                  ITaskTreeBuilder      builder) 
     57    static ITaskInstance createNewSubSequenceInRange(ITaskInstanceList parent, 
     58                                                     int               startIndex, 
     59                                                     int               endIndex, 
     60                                                     ITask             model, 
     61                                                     ITaskFactory      taskFactory, 
     62                                                     ITaskBuilder      taskBuilder) 
    6563    { 
    66         ISequence sequence = nodeFactory.createNewSequence(); 
    67         if (description != null) { 
    68             builder.setDescription(sequence, description); 
     64        ITaskInstance subsequence = taskFactory.createNewTaskInstance(model); 
     65 
     66        for (int i = startIndex; i <= endIndex; i++) { 
     67            taskBuilder.addChild(subsequence, parent.get(startIndex)); 
     68            taskBuilder.removeTaskInstance(parent, startIndex); 
    6969        } 
    7070 
    71         for (int i = startIndex; i <= endIndex; i++) { 
    72             builder.addChild(sequence, parent.getChildren().get(startIndex)); 
    73             builder.removeChild((ISequence) parent, startIndex); 
    74         } 
    7571 
    76         builder.addChild((ISequence) parent, startIndex, sequence); 
     72        taskBuilder.addTaskInstance(parent, startIndex, subsequence); 
    7773 
    78         return sequence; 
     74        return subsequence; 
    7975    } 
    8076 
Note: See TracChangeset for help on using the changeset viewer.