MatchRule1.java
01 package gate.creole.orthomatcher;
02 
03 
04 /** RULE #1: If the two names are identical then they are the same
05  * no longer used, because I do the check for same string via the
06  * hash table of previous annotations
07  * Condition(s): depend on case
08  * Applied to: annotations other than names
09  */
10 public class MatchRule1 implements OrthoMatcherRule{
11 
12   OrthoMatcher orthomatcher;
13   
14   public MatchRule1(OrthoMatcher orthmatcher){
15     this.orthomatcher=orthmatcher;
16   }
17   
18   @Override
19   public boolean value(String s1,
20             String s2) {
21       
22     
23       boolean retVal = OrthoMatcherHelper.straightCompare(s1, s2, orthomatcher.caseSensitive);
24       //if straight compare didn't work, try a little extra logic
25       if (!retVal)
26         retVal = orthomatcher.getOrthography().fuzzyMatch(s1, s2);
27 
28       if (retVal && OrthoMatcher.log.isDebugEnabled()) {
29         OrthoMatcher.log.debug("rule 1 matched " + s1 + "(id: " + orthomatcher.longAnnot.getId() ") to "
30                 + s2+ "(id: " + orthomatcher.shortAnnot.getId() ")");
31       }
32     
33       if (retValOrthoMatcherHelper.usedRule(1);
34       
35       return retVal;
36   }
37   
38   @Override
39   public String getId(){
40     return "MatchRule1";
41   }
42 }