Ignore:
Timestamp:
07/27/14 20:28:19 (10 years ago)
Author:
rkrimmel
Message:

Harmonizing matches

Location:
branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/Match.java

    r1620 r1621  
    22 
    33import java.util.ArrayList; 
     4import java.util.Iterator; 
    45import java.util.LinkedList; 
    56 
    67public class Match { 
    78        private ArrayList<NumberSequence> matchseqs; 
    8          
    9         private LinkedList<MatchOccurence> occurences;  
    10          
    11          
    12         Match(){ 
     9 
     10        private LinkedList<MatchOccurence> occurences; 
     11 
     12        Match() { 
    1313                matchseqs = new ArrayList<NumberSequence>(2); 
    1414                occurences = new LinkedList<MatchOccurence>(); 
     
    1616                matchseqs.add(null); 
    1717        } 
    18          
     18 
    1919        public NumberSequence getFirstSequence() { 
    2020                return matchseqs.get(0); 
    2121        } 
    22          
     22 
    2323        public NumberSequence getSecondSequence() { 
    2424                return matchseqs.get(1); 
    2525        } 
    26          
     26 
    2727        public void setFirstSequence(NumberSequence seq) { 
    2828                matchseqs.set(0, seq); 
    2929        } 
    30          
     30 
    3131        public void setSecondSequence(NumberSequence seq) { 
    3232                matchseqs.set(1, seq); 
    3333        } 
    34          
     34 
    3535        public void addOccurence(MatchOccurence occurence) { 
    3636                occurences.add(occurence); 
    3737        } 
    38          
     38 
    3939        public int occurenceCount() { 
    4040                return occurences.size(); 
    41         }        
     41        } 
     42 
     43        public boolean equals(Match m) { 
     44                if ((m.getFirstSequence().equals(this.getFirstSequence()) || m 
     45                                .getFirstSequence().equals(this.getSecondSequence())) 
     46                                && (m.getSecondSequence().equals(this.getFirstSequence()) || m 
     47                                                .getSecondSequence().equals(this.getSecondSequence()))) { 
     48                        return true; 
     49                } 
     50                return false; 
     51        } 
     52 
     53        public LinkedList<MatchOccurence> getOccurences() { 
     54                return occurences; 
     55        } 
     56 
     57        public void setOccurences(LinkedList<MatchOccurence> occurences) { 
     58                this.occurences = occurences; 
     59        } 
     60 
     61         
     62        public void addOccurencesOf(Match m) { 
     63                LinkedList<MatchOccurence> occ = m.getOccurences(); 
     64                occurences.addAll(occ); 
     65        } 
    4266 
    4367} 
  • branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/NumberSequence.java

    r1620 r1621  
    22 
    33import java.util.ArrayList; 
     4import java.util.LinkedList; 
    45import java.util.Random; 
    56 
     
    6162        } 
    6263 
    63  
    64         public int containsPattern(Match pattern) { 
     64        //Searching occurences of  
     65        public LinkedList<Integer> containsPattern(Match pattern) { 
     66                LinkedList<Integer> result = new LinkedList<Integer>(); 
    6567                int i = 0; 
    66                 int count = 0; 
    6768                int[] pat1 = pattern.getFirstSequence().getSequence(); 
    6869                int[] pat2 = pattern.getSecondSequence().getSequence(); 
     
    8889                                        ipat2++; 
    8990                                } 
    90                                 count++; 
     91                                result.add(i); 
    9192                        } 
    9293                        i++; 
    9394                } 
    94                 return count; 
     95                return result; 
    9596        } 
    9697         
     
    119120                this.id = id; 
    120121        } 
     122         
     123        public boolean equals(NumberSequence n) { 
     124                int[] seq = n.getSequence(); 
     125                if(n.size() !=this.size()) { 
     126                        return false;  
     127                } 
     128                for (int i=0; i<n.size();i++) { 
     129                        if(seq[i] != this.sequence[i]) { 
     130                                return false; 
     131                        } 
     132                } 
     133                return true; 
     134        } 
     135         
     136         
    121137} 
Note: See TracChangeset for help on using the changeset viewer.