Transformer one = new SearchResultToAttrValueList( "cn" ); //$NON-NLS-1$
Transformer two = new StringToGrantedAuthority();
Transformer[] transformers = { one, two };
Transformer transformer = new ChainedTransformer( transformers );
LdapSearch rolesSearch = new GenericLdapSearch( getContextSource(), paramsFactory, transformer );
SearchControls con2 = new SearchControls();
con1.setReturningAttributes( new String[] { "cn" } ); //$NON-NLS-1$
LdapSearchParamsFactory paramsFactory2 =
new LdapSearchParamsFactoryImpl( "ou=groups", "(objectClass=groupOfUniqueNames)", con2 ); //$NON-NLS-1$//$NON-NLS-2$
Transformer oneB = new SearchResultToAttrValueList( "cn" ); //$NON-NLS-1$
Transformer twoB = new StringToGrantedAuthority();
Transformer[] transformers2 = { oneB, twoB };
Transformer transformer2 = new ChainedTransformer( transformers2 );
LdapSearch rolesSearch2 = new GenericLdapSearch( getContextSource(), paramsFactory2, transformer2 );
Set searches = new HashSet();
searches.add( rolesSearch );
searches.add( rolesSearch2 );
UnionizingLdapSearch unionSearch = new UnionizingLdapSearch( searches );