[Schmitzm-commits] r2173 - 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
Tue Dec 18 18:40:13 CET 2012


Author: alfonx
Date: 2012-12-18 18:40:13 +0100 (Tue, 18 Dec 2012)
New Revision: 2173

Modified:
   trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
   trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
Log:


Modified: trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
===================================================================
--- trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2012-12-17 23:25:23 UTC (rev 2172)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2012-12-18 17:40:13 UTC (rev 2173)
@@ -30,13 +30,18 @@
 
 	final static Pattern REGEX_splitHnZusatz = regexCache.getPattern("(\\d+)\\s*(.*?)\\s*$");
 	final static Pattern REGEX_splitFullString = regexCache
-			.getPattern("^(" +
-					"Planken\\s*[^\\d]\\s*\\d|"+
-					".*\\d+\\.+[^\\d]*|[^\\d,]+|" +
-					"[^\\d,]+(?:\\d+\\.)++[^\\d,]+" +
+			.getPattern("^("
+					+
+					"Planken\\s*[^\\d]\\s*\\d|"
+					+
+					".*\\d+\\.+[^\\d]*|[^\\d,]+|"
+					+
+					"[^\\d,]+(?:\\d+\\.)++[^\\d,]+"
+					+
 					")"
 					+ "\\s*"
-					+ "(\\d+\\s*u\\.\\s*\\d+\\s*-\\s*\\d+|" +
+					+ "(\\d+\\s*u\\.\\s*\\d+\\s*-\\s*\\d+|"
+					+
 					"\\d+\\s*/\\s*\\d+|\\d+\\s*-\\s*\\d+|\\d+|\\d+\\s*[,\\s*\\d+]+|\\d+\\s*[&]\\s*\\d+|\\d+\\s*bis\\s*\\d+|\\d+\\s*\\\\\\s*\\d+|\\d+\\s*[/\\s*\\d+]+)"
 					+ "\\s*+" + "([^\\d].*[0][\\d]+|[^\\d]*?)" + "\\s*$");
 
@@ -190,7 +195,7 @@
 			origHn = stringStrHnZusatz[1];
 		if (stringStrHnZusatz.length == 3)
 			origZusatz = stringStrHnZusatz[2];
-		
+
 		if (origStrasse == null || origStrasse.isEmpty() || !origStrasse.matches(".*[A-Za-z][A-Za-z]+.*")) {
 			final String[] splitHn = splitHn(origHn, origZusatz);
 			return new String[] { null, splitHn[0], splitHn[1] };
@@ -210,11 +215,11 @@
 		String zusammen = origStrasse + " " + (origHn != null ? " " + origHn : "")
 				+ (origZusatz != null ? " " + origZusatz : "");
 		zusammen = zusammen.replaceAll("3. Juni", "Dritten Juni");
-				
+
 		zusammen = trimQuotes(zusammen);
 		zusammen = removeKommataAfterStreetname(zusammen);
 		zusammen = removeTrailingHyphens(zusammen);
-//		zusammen = removeSpaces(zusammen);
+		// zusammen = removeSpaces(zusammen);
 		zusammen = removeLeadingSpacesInfrontOfNumbers(zusammen);
 
 		zusammen = removeSpacesBetweenHiphenAndDotAndLetters(zusammen);
@@ -229,7 +234,8 @@
 			// + origStrasse + " " + origHn + " " + origZusatz);
 			// return new String[] { null, splitHn[0], splitHn[1] };
 
-			Pattern p = regexCache.getPattern("([^\\d]*)\\s([\\d]+[^\\s]*\\s*-\\s*[^\\s]*|[\\d]+[^\\s]*|[\\d]+\\s+\\d+)$");
+			Pattern p = regexCache
+					.getPattern("([^\\d]*)\\s([\\d]+[^\\s]*\\s*-\\s*[^\\s]*|[\\d]+[^\\s]*|[\\d]+\\s+\\d+)$");
 			m = p.matcher(zusammen);
 			if (m.find()) {
 				strasse = m.group(1);
@@ -290,7 +296,7 @@
 		// if (warn)
 		// log.debug("Aus '" + origStrasse + "' wurde Strasse='" + strasse + "', HN='" + StringUtils.trimToNull(hn)
 		// + "', Zusatz='" + StringUtils.trimToNull(zusatz) + "', richtig?");
-		
+
 		strasse = strasse.replace("Dritten Juni", "3. Juni");
 
 		return new String[] { strasse, StringUtils.trimToNull(hn), StringUtils.trimToNull(zusatz) };
@@ -515,29 +521,31 @@
 
 		strasse = strasse.toLowerCase();
 
-		// http://de.wikipedia.org/wiki/Mannheimer_Planken 
-		strasse = RegexCache.getInstance().replaceAll(strasse, "^planken\\b", "");
-		
-		strasse = RegexCache.getInstance().replaceAll(strasse, "\\(.*?\\)", "");
+		// http://de.wikipedia.org/wiki/Mannheimer_Planken
+		RegexCache rC = RegexCache.getInstance();
+		strasse = rC.replaceAll(strasse, "^planken\\b", "");
 
-		strasse = RegexCache.getInstance().replaceAll(strasse, "x{2,}$", "");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "\\sx+$", "");
+		strasse = rC.replaceAll(strasse, "\\(.*?\\)", "");
 
-		strasse = RegexCache.getInstance().replaceAll(strasse, "wegx$", "weg");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "strassex$", "strasse");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "alleex$", "allee");
+		strasse = rC.replaceAll(strasse, "", "");
+		strasse = rC.replaceAll(strasse, "x{2,}$", "");
+		strasse = rC.replaceAll(strasse, "\\sx+$", "");
 
-		strasse = RegexCache.getInstance().replaceAll(strasse, "str$", "strasse");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "str[\\.\\s]", "strasse");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "strase", "strasse");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "ßtrase", "strasse");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "alle\\b", "allee");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "alee\\b", "allee");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "\\s+s$", "strasse");
+		strasse = rC.replaceAll(strasse, "wegx$", "weg");
+		strasse = rC.replaceAll(strasse, "strassex$", "strasse");
+		strasse = rC.replaceAll(strasse, "alleex$", "allee");
 
-		strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
-		strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
+		strasse = rC.replaceAll(strasse, "str$", "strasse");
+		strasse = rC.replaceAll(strasse, "str[\\.\\s]", "strasse");
+		strasse = rC.replaceAll(strasse, "strase", "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, "\\s+s$", "strasse");
 
+		strasse = rC.replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
+		strasse = rC.replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
+
 		strasse = norm(strasse);
 
 		return strasse;

Modified: trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
===================================================================
--- trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2012-12-17 23:25:23 UTC (rev 2172)
+++ trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2012-12-18 17:40:13 UTC (rev 2173)
@@ -343,11 +343,17 @@
 		assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser in der O.L."));
 		assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser in der Oberlausitz"));
 		assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser Oberlausitz"));
+		
 
 	}
 
 	@Test
 	public void testNormalizeStrasse() {
+		assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf´m Hennekamp"));
+		assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf'm Hennekamp"));
+		assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf`m Hennekamp"));
+		assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf^m Hennekamp"));
+		
 		assertEquals("a2", AddrStringUtil.normalizeStr("Planken A 2"));
 		assertEquals("a2", AddrStringUtil.normalizeStr("Planken A2"));
 		assertEquals("lilienthalstrasse", AddrStringUtil.normalizeStr("Lilienthalstraße (ggü. Haus 7)"));



More information about the Schmitzm-commits mailing list