001
014
015 package com.liferay.portal.security.auth;
016
017 import com.liferay.portal.kernel.util.StringBundler;
018 import com.liferay.portal.kernel.util.StringPool;
019 import com.liferay.portal.kernel.util.StringUtil;
020 import com.liferay.portal.kernel.util.Validator;
021
022
025 public class FamilyNameFirstFullNameGenerator extends DefaultFullNameGenerator {
026
027 @Override
028 public String[] splitFullName(String fullName) {
029 String firstName = StringPool.BLANK;
030 String middleName = StringPool.BLANK;
031 String lastName = StringPool.BLANK;
032
033 if (Validator.isNotNull(fullName)) {
034 String[] name = StringUtil.split(fullName, StringPool.SPACE);
035
036 if (name.length == 1) {
037 firstName = name[0];
038
039 return new String[] {firstName, middleName, lastName};
040 }
041
042 lastName = name[0];
043 firstName = name[1];
044
045 if (name.length > 2) {
046 for (int i = 2; i < name.length; i++) {
047 if (Validator.isNull(name[i].trim())) {
048 continue;
049 }
050
051 if (i != 2) {
052 middleName += StringPool.SPACE;
053 }
054
055 middleName += name[i].trim();
056 }
057 }
058 }
059
060 return new String[] {firstName, middleName, lastName};
061 }
062
063 @Override
064 protected String buildFullName(
065 String firstName, String middleName, String lastName,
066 boolean useInitials) {
067
068 StringBundler sb = new StringBundler(5);
069
070 if (Validator.isNotNull(lastName)) {
071 sb.append(lastName);
072 sb.append(StringPool.SPACE);
073 }
074
075 if (useInitials) {
076 firstName = firstName.substring(0, 1);
077 }
078
079 sb.append(firstName);
080
081 if (Validator.isNotNull(middleName)) {
082 if (useInitials) {
083 middleName = middleName.substring(0, 1);
084 }
085
086 sb.append(StringPool.SPACE);
087 sb.append(middleName);
088 }
089
090 return sb.toString();
091 }
092
093 }