Ignore:
Timestamp:
04/08/13 16:50:21 (11 years ago)
Author:
pharms
Message:
  • complete refactoring of task tree model with a separation of task models and task instances
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/rules/patterns/UsagePattern.java

    r1150 r1152  
    2222import com.google.common.collect.Iterables; 
    2323 
    24 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree; 
    25 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode; 
     24import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask; 
     25import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel; 
    2626import de.ugoe.cs.autoquest.usability.tasktree.IterativeDFSFilterStrategy; 
    27 import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTreeFilter; 
    28 import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTreeNodeTypeFilter; 
     27import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskModelFilter; 
     28import de.ugoe.cs.autoquest.usability.tasktree.filters.TaskTypeFilter; 
    2929 
    3030/** 
     
    3737public class UsagePattern { 
    3838     
    39     private TaskTreeFilter taskTreeFilter = new TaskTreeFilter(new IterativeDFSFilterStrategy()); 
     39    private TaskModelFilter taskTreeFilter = new TaskModelFilter(new IterativeDFSFilterStrategy()); 
    4040     
    41     private TaskTreeNodeTypeFilter concernedNode; 
     41    private TaskTypeFilter concernedTask; 
    4242 
    4343    private List<UsagePatternVisitor> patternVisitors; 
     
    5353     * @param eventType 
    5454     */ 
    55     public UsagePattern(TaskTreeNodeTypeFilter concernedNode, 
     55    public UsagePattern(TaskTypeFilter concernedNode, 
    5656                        UsagePatternVisitor... patternVisitor) 
    5757    { 
    5858        this.patternVisitors = Arrays.asList(patternVisitor); 
    59         this.concernedNode = concernedNode; 
     59        this.concernedTask = concernedNode; 
    6060    } 
    6161 
    62     public boolean containedIn(ITaskTree taskTree) { 
    63         List<ITaskTreeNode> allConcernedNodes = filterAllConcernedNodeFrom(taskTree); 
    64         for(ITaskTreeNode concernedNode : allConcernedNodes) { 
    65             applyAllVisitors(concernedNode); 
     62    public boolean containedIn(ITaskModel taskModel) { 
     63        List<ITask> allConcernedTasks = filterAllConcernedTasksFrom(taskModel); 
     64        for(ITask concernedTask : allConcernedTasks) { 
     65            applyAllVisitors(concernedTask); 
    6666            if(allVisitorsArePresent()) { 
    6767                this.present = true; 
     
    7575    } 
    7676 
    77     private void applyAllVisitors(ITaskTreeNode concernedNode) { 
     77    private void applyAllVisitors(ITask concernedTask) { 
    7878        Optional<UsagePatternVisitor> previousVisitor = Optional.absent(); 
    7979        for(UsagePatternVisitor visitor : patternVisitors) { 
    8080            if(appliedOnSelectionNode(previousVisitor)) { 
    81                 for(ITaskTreeNode selectionNode : previousVisitor.get().getRetainedSelectionNodes()) { 
    82                     selectionNode.accept(visitor); 
     81                for(ITask selection : previousVisitor.get().getRetainedSelectionNodes()) { 
     82                    selection.accept(visitor); 
    8383                } 
    8484            } else { 
    8585                previousVisitor = Optional.of(visitor); 
    86                 concernedNode.accept(visitor); 
     86                concernedTask.accept(visitor); 
    8787            } 
    8888        } 
     
    101101     * @return 
    102102     */ 
    103     private List<ITaskTreeNode> filterAllConcernedNodeFrom(ITaskTree taskTree) { 
    104         return this.taskTreeFilter.filterByNodeType(this.concernedNode).from(taskTree).nodesMatchedFilter(); 
     103    private List<ITask> filterAllConcernedTasksFrom(ITaskModel taskModel) { 
     104        return this.taskTreeFilter.filterByNodeType(this.concernedTask).from(taskModel).tasksMatchedFilter(); 
    105105    } 
    106106     
Note: See TracChangeset for help on using the changeset viewer.