Skip to content

Commit

Permalink
Ort.validate(String) refactored
Browse files Browse the repository at this point in the history
  • Loading branch information
oboehm committed Jan 21, 2018
1 parent 39b9c9e commit dcdaf64
Showing 1 changed file with 23 additions and 19 deletions.
42 changes: 23 additions & 19 deletions src/main/java/de/jfachwert/post/Ort.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,6 @@ public Ort(String name) {
this(split(name));
}

private static String[] split(String name) {
String input = validate(name);
String[] splitted = new String[]{"", input};
if (input.contains(" ")) {
try {
String plz = PLZ.validate(StringUtils.substringBefore(input, " "));
splitted[0] = plz;
splitted[1] = StringUtils.substringAfter(input, " ").trim();
} catch (ValidationException ex) {
LOG.log(Level.FINE, "no PLZ inside '" + name + "' found:", ex);
}
}
return splitted;
}

private Ort(String[] values) {
this(values[0].isEmpty() ? null : new PLZ(values[0]), values[1]);
}
Expand All @@ -85,14 +70,33 @@ public Ort(PLZ plz, String name) {
}

/**
* Ein Orstname muss mindestens aus einem Zeichen bestehen.
* Ein Orstname muss mindestens aus einem Zeichen bestehen. Allerdings
* koennte der ueberbebene Name auch die PLZ noch beinhalten. Dies wird
* bei der Validierung beruecksichtigt.
*
* @param ortsname der Ortsname
* @param name der Ortsname (mit oder ohne PLZ)
* @return der validierte Ortsname zur Weiterverabeitung
*/
public static String validate(String ortsname) {
public static String validate(String name) {
String[] splitted = split(name);
String ortsname = splitted[1];
LengthValidator.validate(ortsname, 1, Integer.MAX_VALUE);
return ortsname;
return name;
}

private static String[] split(String name) {
String input = StringUtils.trimToEmpty(name);
String[] splitted = new String[]{"", input};
if (input.contains(" ")) {
try {
String plz = PLZ.validate(StringUtils.substringBefore(input, " "));
splitted[0] = plz;
splitted[1] = StringUtils.substringAfter(input, " ").trim();
} catch (ValidationException ex) {
LOG.log(Level.FINE, "no PLZ inside '" + name + "' found:", ex);
}
}
return splitted;
}

/**
Expand Down

0 comments on commit dcdaf64

Please sign in to comment.