/[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 2814 by torben, Thu Jan 14 17:13:55 2016 UTC revision 2815 by torben, Thu Jan 14 18:03:16 2016 UTC
# Line 6  import java.util.HashSet; Line 6  import java.util.HashSet;
6  import java.util.Map;  import java.util.Map;
7  import java.util.Set;  import java.util.Set;
8    
9    import dk.daoas.daoadresseservice.util.DeduplicateHelper;
10    
11  public class AliasGenerator {  public class AliasGenerator {
12                    
13          static class Replacement {          static class Replacement {
# Line 21  public class AliasGenerator { Line 23  public class AliasGenerator {
23          private ArrayList<Replacement> replacements = new ArrayList<Replacement>();          private ArrayList<Replacement> replacements = new ArrayList<Replacement>();
24          private Map<String, Set<String>> aliasCache = new HashMap<String, Set<String>>(8192);          private Map<String, Set<String>> aliasCache = new HashMap<String, Set<String>>(8192);
25                    
26            DeduplicateHelper<String> aliasHelper = new DeduplicateHelper<String>(400000); // Indeholder pt 379664 entries
27            
28                    
29          public AliasGenerator() {          public AliasGenerator() {
30                  replacements.add( new Replacement("alle", "allé") );                  replacements.add( new Replacement("alle", "allé") );
# Line 184  public class AliasGenerator { Line 188  public class AliasGenerator {
188                                                                    
189          }          }
190                    
191            public void clear() {
192                    aliasCache.clear();
193                    aliasHelper.clear();            
194            }
195            
196                    
197          public Set<String> findVejAliaser(String vejnavn) {          public Set<String> findVejAliaser(String vejnavn) {
198                  vejnavn = vejnavn.toLowerCase();                  vejnavn = vejnavn.toLowerCase();
# Line 191  public class AliasGenerator { Line 200  public class AliasGenerator {
200                  Set<String> aliasSet = aliasCache.get(vejnavn);                  Set<String> aliasSet = aliasCache.get(vejnavn);
201                  if (aliasSet == null) {                  if (aliasSet == null) {
202                          aliasSet = genererVejAliaser(vejnavn);                          aliasSet = genererVejAliaser(vejnavn);
203                            
204                            aliasSet = vaskAliaser( aliasSet );
205                            
206                          aliasCache.put(vejnavn, aliasSet);                          aliasCache.put(vejnavn, aliasSet);
207                  }                  }
208                                    
# Line 198  public class AliasGenerator { Line 210  public class AliasGenerator {
210                                    
211          }          }
212                    
213            private Set<String> vaskAliaser(Set<String> input) {
214                    HashSet<String> output = new HashSet<String>( input.size() );
215                    
216                    for (String alias : input) {
217                            String vasketAlias = AddressUtils.vaskVejnavn(alias);
218                            vasketAlias = aliasHelper.getInstance(vasketAlias);
219                            output.add(vasketAlias);
220                    }
221                    
222                    return output;
223            }
224            
225                    
226          private Set<String> genererVejAliaser(String vejnavn) {          private Set<String> genererVejAliaser(String vejnavn) {
227                                    

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

  ViewVC Help
Powered by ViewVC 1.1.20