protected boolean isGeneratingDisplayName( String pattern, String firstName, String lastName, String middleName, String property, Object prevValue) { String name = getFieldValue("name"); if (StringUtils.isNotEmpty(name)) { switch (property) { case "firstName": firstName = (String) prevValue; break; case "lastName": lastName = (String) prevValue; break; case "middleName": middleName = (String) prevValue; break; } String displayName; try { displayName = UserUtils.formatName(pattern, firstName, lastName, middleName); } catch (ParseException e) { return false; } if (!name.equals(displayName)) { return true; } } return false; }
public static String formatName(String pattern, String firstName, String lastName, String middleName) throws ParseException { if (pattern == null || pattern.length() == 0) throw new ParseException("Pattern error", 0); if (firstName == null || firstName.equals("null")) firstName = ""; if (lastName == null || lastName.equals("null")) lastName = ""; if (middleName == null || middleName.equals("null")) middleName = ""; String[] params = StringUtils.substringsBetween(pattern, "{", "}"); int i; for (i = 0; i < params.length; i++) { pattern = StringUtils.replace(pattern, "{" + params[i] + "}", "{" + i + "}", 1); params[i] = parseParam(params[i], firstName, lastName, middleName); } for (i = 0; i < params.length; i++) { pattern = StringUtils.replace(pattern, "{" + i + "}", params[i], 1); } return pattern; }
displayedName = UserUtils.formatName(pattern, firstName, lastName, middleName); } catch (ParseException pe) { displayedName = "";