in src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/PrincipalNameGeneratorImpl.java [199:241]
public NameInfo getPrincipalName(Map<String, ?> parameters, AuthorizableType type,
PrincipalNameFilter principalNameFilter, PrincipalNameGenerator defaultPrincipalNameGenerator) {
String valueToUse = null;
boolean doFilter = true;
// find the first request parameter that matches one of
// our parameterNames, in order, and has a value
// we first check for the special sling parameters
valueToUse = getValueToUse(parameters, SlingPostConstants.RP_NODE_NAME);
if (valueToUse != null) {
doFilter = false;
}
if ( valueToUse == null ) {
valueToUse = getValueToUse(parameters, SlingPostConstants.RP_NODE_NAME_HINT);
if (valueToUse == null && parameterNames != null) {
for (String param : parameterNames) {
valueToUse = getValueToUse(parameters, param);
if (valueToUse != null) {
break;
}
}
}
}
String result = valueToUse;
// should we filter?
if (doFilter && result != null && principalNameFilter != null) {
// filter value so that it works as a principal name
result = principalNameFilter.filter(result);
}
// max length
if (doFilter && result != null && result.length() > maxLength) {
result = result.substring(0, maxLength);
}
if (result != null) {
return new NameInfo(result, doFilter);
} else {
return null;
}
}