Ignore:
Timestamp:
03/18/13 11:46:47 (11 years ago)
Author:
pharms
Message:
  • refactoring of task tree node comparison to be able to optimize the comparisons for the different comparison levels lexically, syntactically, semantically
File:
1 edited

Legend:

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

    r1113 r1125  
    2929public class NodeIdentityRule implements NodeComparisonRule { 
    3030 
    31     /* 
    32      * (non-Javadoc) 
    33      *  
    34      * @see de.ugoe.cs.tasktree.nodeequality.NodeEqualityRule#apply(TaskTreeNode, TaskTreeNode) 
     31    /* (non-Javadoc) 
     32     * @see NodeComparisonRule#isApplicable(ITaskTreeNode, ITaskTreeNode) 
     33     */ 
     34    @Override 
     35    public boolean isApplicable(ITaskTreeNode node1, ITaskTreeNode node2) { 
     36        return (node1 == node2); 
     37    } 
     38 
     39    /* (non-Javadoc) 
     40     * @see NodeComparisonRule#areLexicallyEqual(ITaskTreeNode, ITaskTreeNode) 
     41     */ 
     42    @Override 
     43    public boolean areLexicallyEqual(ITaskTreeNode node1, ITaskTreeNode node2) { 
     44        return (node1 == node2); 
     45    } 
     46 
     47    /* (non-Javadoc) 
     48     * @see NodeComparisonRule#areSyntacticallyEqual(ITaskTreeNode, ITaskTreeNode) 
     49     */ 
     50    @Override 
     51    public boolean areSyntacticallyEqual(ITaskTreeNode node1, ITaskTreeNode node2) { 
     52        return (node1 == node2); 
     53    } 
     54 
     55    /* (non-Javadoc) 
     56     * @see NodeComparisonRule#areSemanticallyEqual(ITaskTreeNode, ITaskTreeNode) 
     57     */ 
     58    @Override 
     59    public boolean areSemanticallyEqual(ITaskTreeNode node1, ITaskTreeNode node2) { 
     60        return (node1 == node2); 
     61    } 
     62 
     63    /* (non-Javadoc) 
     64     * @see NodeComparisonRule#compare(ITaskTreeNode, ITaskTreeNode) 
    3565     */ 
    3666    @Override 
    3767    public NodeEquality compare(ITaskTreeNode node1, ITaskTreeNode node2) { 
    38         if (node1 == node2) { 
     68        if (isApplicable(node1, node2)) { 
    3969            return NodeEquality.IDENTICAL; 
    4070        } 
Note: See TracChangeset for help on using the changeset viewer.