use of org.apereo.cas.util.transforms.GroovyPrincipalNameTransformer in project cas by apereo.
the class PrincipalNameTransformerUtils method newPrincipalNameTransformer.
/**
* New principal name transformer.
*
* @param p the p
* @return the principal name transformer
*/
public static PrincipalNameTransformer newPrincipalNameTransformer(final PrincipalTransformationProperties p) {
val chain = new ChainingPrincipalNameTransformer();
if (p.getGroovy().getLocation() != null) {
val t = new GroovyPrincipalNameTransformer(p.getGroovy().getLocation());
chain.addTransformer(t);
}
if (StringUtils.isNotBlank(p.getPattern())) {
val t = new RegexPrincipalNameTransformer(p.getPattern());
chain.addTransformer(t);
}
if (StringUtils.isNotBlank(p.getPrefix()) || StringUtils.isNotBlank(p.getSuffix())) {
val t = new PrefixSuffixPrincipalNameTransformer();
t.setPrefix(p.getPrefix());
t.setSuffix(p.getSuffix());
chain.addTransformer(t);
}
if (p.getCaseConversion() == PrincipalTransformationProperties.CaseConversion.UPPERCASE) {
val t = new ConvertCasePrincipalNameTransformer();
t.setToUpperCase(true);
chain.addTransformer(t);
}
if (p.getCaseConversion() == PrincipalTransformationProperties.CaseConversion.LOWERCASE) {
val t = new ConvertCasePrincipalNameTransformer();
t.setToUpperCase(false);
chain.addTransformer(t);
}
if (StringUtils.isNotBlank(p.getBlockingPattern())) {
val t = new BlockingPrincipalNameTransformer(p.getBlockingPattern());
chain.addTransformer(t);
}
return chain;
}
Aggregations