[Schmitzm-commits] r2390 - in trunk/schmitzm-adresses/src: main/java/de/schmitzm/adresses test/java/de/schmitzm/adresses

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Wed Sep 11 17:35:27 CEST 2013


Author: alfonx
Date: 2013-09-11 17:35:27 +0200 (Wed, 11 Sep 2013)
New Revision: 2390

Modified:
   trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
   trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
Log:
leichte optimierungen bei norm*()

Modified: trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
===================================================================
--- trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2013-08-30 11:29:07 UTC (rev 2389)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2013-09-11 15:35:27 UTC (rev 2390)
@@ -577,20 +577,16 @@
 		strasse = strasse.toLowerCase();
 
 		final RegexCache rC = RegexCache.getInstance();
-		
+
 		// http://de.wikipedia.org/wiki/Mannheimer_Planken
 		strasse = rC.replaceAll(strasse, "^planken\\b", "");
-		
-		strasse = rC.replaceAll(strasse, "^wladimir-iljitsch-", "wi"); // TODO NACHPFLEGEN IN SQL http://redmine.wikisquare.de/issues/3405
-		
-		strasse = rC.replaceAll(strasse, "\\bst\\.? ", "sankt"); // TODO NACHPFLEGEN IN SQL http://redmine.wikisquare.de/issues/3405
 
-		strasse = rC.replaceAll(strasse, "\\(.*?\\)", "");
+		strasse = rC.replaceAll(strasse, "^wladimir-iljitsch-", "wi");
 
-		strasse = rC.replaceAll(strasse, "[´'`^]", "");
-		strasse = rC.replaceAll(strasse, "x{2,}$", "");
-		strasse = rC.replaceAll(strasse, "\\sx+$", "");
+		strasse = rC.replaceAll(strasse, "\\bst\\.? ", "sankt");
 
+		strasse = rC.replaceAll(strasse, "(?:\\(.*?\\)|[´'`^]|x{2,}$|\\sx+$)", "");
+
 		strasse = rC.replaceAll(strasse, "wegx$", "weg");
 		strasse = rC.replaceAll(strasse, "strassex$", "strasse");
 		strasse = rC.replaceAll(strasse, "alleex$", "allee");
@@ -600,15 +596,14 @@
 		strasse = rC.replaceAll(strasse, "strase", "strasse");
 		strasse = rC.replaceAll(strasse, "stra[^a-z]e", "strasse");
 		strasse = rC.replaceAll(strasse, "ßtrase", "strasse");
-		strasse = rC.replaceAll(strasse, "alle\\b", "allee");
-		strasse = rC.replaceAll(strasse, "alee\\b", "allee");
+		strasse = rC.replaceAll(strasse, "al[el]e\\b", "allee");
 		strasse = rC.replaceAll(strasse, "\\s+s$", "strasse");
 
 		strasse = rC.replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
 		strasse = rC.replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
 
-		strasse = rC.replaceAll(strasse, "^gr\\.", "grosse");// TODO INS SQL!
-		strasse = rC.replaceAll(strasse, "^kl\\.", "kleine");// TODO INS SQL!
+		strasse = rC.replaceAll(strasse, "^gr\\.", "grosse");
+		strasse = rC.replaceAll(strasse, "^kl\\.", "kleine");
 
 		strasse = norm(strasse);
 
@@ -626,16 +621,17 @@
 		ort = ort.toLowerCase();
 
 		// ein in kammern stehender zusatz " (main)" wird in "xmein.." umgewandelt
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bo(?:ber)?pf(?:alz|\\.)?\\b", "oberpfalz");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bu(?:nter)?pf(?:alz|\\.)?\\b", "unterpfalz");
+
 		ort = RegexCache.getInstance().replaceAll(ort, "\\((.*)\\)", "xx$1");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\b\\s+,\\s+\\b", "xx");
 
 		ort = RegexCache.getInstance().replaceAll(ort, "(?i)freiburg.+(i\\.?.?b(\\.||reisgau))[^r]",
 				"freiburg im breisgau");
 		ort = RegexCache.getInstance().replaceAll(ort, "(?i)^\\s*emmerich$", "emmerich am rhein");
 
 		ort = RegexCache.getInstance().replaceAll(ort, "\\brbge\\.?\\b", "ruebenberge");
-		ort = RegexCache.getInstance().replaceAll(ort, "\\bopf\\.?\\b", "oberpfalz");
-		ort = RegexCache.getInstance().replaceAll(ort, "\\bupf\\.?\\b", "unterpfalz");
-
 		ort = RegexCache.getInstance().replaceAll(ort, "\\bo\\.\\s?l\\.", "oberlausitz"); // 3.9.2012
 
 		ort = RegexCache
@@ -698,21 +694,20 @@
 
 		txt = LangUtil.removeWhitespacesToEmpty(txt);
 
-		txt = txt.replaceAll("(ä|ã€)", "ae");
-		
-		txt = txt.replaceAll("(ü|ã¼|ãœ)", "ue");
+		txt = txt.replaceAll("(?:ä|ã€)", "ae");
 
+		txt = txt.replaceAll("(?:ü|ã¼|ãœ)", "ue");
+
 		txt = txt.replaceAll("ö", "oe");
-		txt = txt.replaceAll("(ß|ß|ãŸ)", "ss");
+
+		txt = txt.replaceAll("(?:ß|ß|ãŸ)", "ss");
+
 		txt = txt.replaceAll("[éè]", "e");
+
 		txt = txt.replaceAll("[áà]", "a");
-		txt = txt.replaceAll("-", "");
-		txt = txt.replaceAll(",", "");
-		txt = txt.replaceAll("/", "");
-		txt = txt.replaceAll("[)(]", "");
-		txt = txt.replaceAll("\\.", "");
-		txt = txt.replaceAll("\\s*", "");
 
+		txt = txt.replaceAll("[)(\\.\\s,/\\-]+", "");
+
 		return txt;
 	}
 

Modified: trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
===================================================================
--- trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2013-08-30 11:29:07 UTC (rev 2389)
+++ trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2013-09-11 15:35:27 UTC (rev 2390)
@@ -318,8 +318,7 @@
 	@Test
 	public void testNormalizeOrt() {
 
-		// TODO beim nächsten Update der Funktion mitmachen
-		// assertEquals("weidenxxoberpfalz", AddrStringUtil.normalizeOrt("Weiden , Oberpf"));
+		assertEquals("weidenxxoberpfalz", AddrStringUtil.normalizeOrt("Weiden , Oberpf"));
 
 		assertEquals("weidenxxoberpfalz", AddrStringUtil.normalizeOrt("Weiden i.d.OPf."));
 		assertEquals("weidenxxoberpfalz", AddrStringUtil.normalizeOrt("Weiden in.d.OPf."));
@@ -370,22 +369,18 @@
 
 	@Test
 	public void testNormalizeStrasse() {
-		// TODO auch ins SQL übertragen!!!
+
+		// Wladimir-Iljitsch-Lenin-Straße .. gibt es in D-Land nur mit Abkürzung W.L.
 		assertEquals("wileninstrasse", AddrStringUtil.normalizeStr("W.-I.-Lenin-Str."));
-		// TODO auch ins SQL übertragen:  Wladimir-Iljitsch-Lenin-Straße .. gibt es in D-Land nur mit Abkürzung W.L.
 		assertEquals("wileninstrasse", AddrStringUtil.normalizeStr("Wladimir-Iljitsch-Lenin-Straße"));
-		
-		// TODO auch ins SQL übertragen!!!
+
+		assertEquals("kleineoelbruchstrasse", AddrStringUtil.normalizeStr("Kl. Ölbruchstr."));
 		assertEquals("grosseoelbruchstrasse", AddrStringUtil.normalizeStr("Gr. Ölbruchstr."));
-		// TODO auch ins SQL übertragen!!!
+
 		assertEquals("sanktlaurentiusstrasse", AddrStringUtil.normalizeStr("Sankt Laurentius Strasse"));
-		// TODO auch ins SQL übertragen!!!
 		assertEquals("sanktlaurentiusstrasse", AddrStringUtil.normalizeStr("St Laurentius Strasse"));
-		// TODO auch ins SQL übertragen!!!
 		assertEquals("sanktlaurentiusstrasse", AddrStringUtil.normalizeStr("St. Laurentius Strasse"));
-		
-		// TODO alle Umlaute auch hier!
-		// TODO aus ins SQL übertragen?!
+
 		assertEquals("kreuzaeckerstrasse", AddrStringUtil.normalizeStr("KreuzÀckerstrasse"));
 		assertEquals("teichstrasse", AddrStringUtil.normalizeStr("Teichstraße"));
 		assertEquals("muesserstrasse", AddrStringUtil.normalizeStr("Müsserstrasse"));



More information about the Schmitzm-commits mailing list