/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java
ViewVC logotype

Diff of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2808 by torben, Thu Jan 14 10:12:35 2016 UTC revision 2814 by torben, Thu Jan 14 17:13:55 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.daoadresseservice;  package dk.daoas.daoadresseservice;
2    
3  import java.util.ArrayList;  import java.util.ArrayList;
4    import java.util.HashMap;
5  import java.util.HashSet;  import java.util.HashSet;
6    import java.util.Map;
7  import java.util.Set;  import java.util.Set;
8    
9  public class AliasGenerator {  public class AliasGenerator {
# Line 16  public class AliasGenerator { Line 18  public class AliasGenerator {
18                  }                  }
19          }          }
20                    
21          ArrayList<Replacement> replacements = new ArrayList<Replacement>();          private ArrayList<Replacement> replacements = new ArrayList<Replacement>();
22            private Map<String, Set<String>> aliasCache = new HashMap<String, Set<String>>(8192);
23            
24                    
25          public AliasGenerator() {          public AliasGenerator() {
26                  replacements.add( new Replacement("alle", "allé") );                  replacements.add( new Replacement("alle", "allé") );
# Line 73  public class AliasGenerator { Line 77  public class AliasGenerator {
77                  replacements.add( new Replacement("østre", "øster") );                  replacements.add( new Replacement("østre", "øster") );
78                  replacements.add( new Replacement("øster", "østre") );                  replacements.add( new Replacement("øster", "østre") );
79                                    
80                    replacements.add( new Replacement("nordre", "nørre") );
81                    replacements.add( new Replacement("nørre", "nordre") );
82                    
83                  replacements.add( new Replacement("borgmester", "borgm") );                  replacements.add( new Replacement("borgmester", "borgm") );
84                  replacements.add( new Replacement("borgm", "borgmester") );                  replacements.add( new Replacement("borgm", "borgmester") );
85                                    
# Line 172  public class AliasGenerator { Line 179  public class AliasGenerator {
179                                                                    
180                  replacements.add( new Replacement("kronborg", "krbg") ); //Krbg ladegårdsvej, 3000                  replacements.add( new Replacement("kronborg", "krbg") ); //Krbg ladegårdsvej, 3000
181                  replacements.add( new Replacement("krbg", "kronborg") );                  replacements.add( new Replacement("krbg", "kronborg") );
182                    
183                    System.out.println("AliasGenetator, loaded replacements: " + replacements.size() );
184                                                                    
185          }          }
186                    
187                    
           
188          public Set<String> findVejAliaser(String vejnavn) {          public Set<String> findVejAliaser(String vejnavn) {
189                  vejnavn = vejnavn.toLowerCase();                  vejnavn = vejnavn.toLowerCase();
190                    
191                    Set<String> aliasSet = aliasCache.get(vejnavn);
192                    if (aliasSet == null) {
193                            aliasSet = genererVejAliaser(vejnavn);
194                            aliasCache.put(vejnavn, aliasSet);
195                    }
196                    
197                    return aliasSet;
198                    
199            }
200            
201            
202            private Set<String> genererVejAliaser(String vejnavn) {
203                    
204                  HashSet<String> aliasSet = new HashSet<String>();                  HashSet<String> aliasSet = new HashSet<String>();
205                  aliasSet.add(vejnavn);                  aliasSet.add(vejnavn);
206                                    
207                  for (Replacement repl : replacements) {                  for (Replacement repl : replacements) {
208                          aliasSet.add( vejnavn.replace(repl.search, repl.replace) );                          if (vejnavn.indexOf(repl.search) >= 0) {
209                                    aliasSet.add( vejnavn.replace(repl.search, repl.replace) );    
210                            }
211                            
212                  }                  }
213                                                                    
214                                                                                                    

Legend:
Removed from v.2808  
changed lines
  Added in v.2814

  ViewVC Help
Powered by ViewVC 1.1.20