--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java 2016/01/14 13:28:08 2813 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java 2016/01/14 17:13:55 2814 @@ -1,7 +1,9 @@ package dk.daoas.daoadresseservice; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.Set; public class AliasGenerator { @@ -16,7 +18,9 @@ } } - ArrayList replacements = new ArrayList(); + private ArrayList replacements = new ArrayList(); + private Map> aliasCache = new HashMap>(8192); + public AliasGenerator() { replacements.add( new Replacement("alle", "allé") ); @@ -181,9 +185,22 @@ } - public Set findVejAliaser(String vejnavn) { vejnavn = vejnavn.toLowerCase(); + + Set aliasSet = aliasCache.get(vejnavn); + if (aliasSet == null) { + aliasSet = genererVejAliaser(vejnavn); + aliasCache.put(vejnavn, aliasSet); + } + + return aliasSet; + + } + + + private Set genererVejAliaser(String vejnavn) { + HashSet aliasSet = new HashSet(); aliasSet.add(vejnavn);