use of org.apache.commons.collections.Transformer in project sling by apache.
the class FileResourceMapper method getChildren.
@SuppressWarnings("unchecked")
@Override
public Iterator<Resource> getChildren(final ResourceResolver resolver, final Resource parent) {
final String parentPath = parent.getPath();
File parentFile = parent.adaptTo(File.class);
// not a FsResource, try to create one from the resource
if (parentFile == null) {
// if the parent path is at or below the provider root, get
// the respective file
parentFile = getFile(parentPath);
// a repository item with the same path actually exists
if (parentFile == null) {
if (providerFile.exists() && !StringUtils.startsWith(parentPath, providerRoot)) {
String parentPathPrefix = parentPath.concat("/");
if (providerRoot.startsWith(parentPathPrefix)) {
String relPath = providerRoot.substring(parentPathPrefix.length());
if (relPath.indexOf('/') < 0) {
Resource res = new FileResource(resolver, providerRoot, providerFile, contentFileExtensions, contentFileCache);
return IteratorUtils.singletonIterator(res);
}
}
}
// no children here
return null;
}
}
// ensure parent is a directory
if (!parentFile.isDirectory()) {
return null;
}
Iterator<File> children = IteratorUtils.filteredIterator(IteratorUtils.arrayIterator(parentFile.listFiles()), new Predicate() {
@Override
public boolean evaluate(Object object) {
File file = (File) object;
return !contentFileExtensions.matchesSuffix(file);
}
});
if (!children.hasNext()) {
return null;
}
return IteratorUtils.transformedIterator(children, new Transformer() {
@Override
public Object transform(Object input) {
File file = (File) input;
String path = parentPath + "/" + file.getName();
return new FileResource(resolver, path, file, contentFileExtensions, contentFileCache);
}
});
}
use of org.apache.commons.collections.Transformer in project ddf by codice.
the class SolrMetacardClientImpl method deleteByIds.
@Override
public void deleteByIds(String fieldName, List<? extends Serializable> identifiers, boolean forceCommit) throws IOException, SolrServerException {
if (identifiers == null || identifiers.size() == 0) {
return;
}
if (Metacard.ID.equals(fieldName)) {
CollectionUtils.transform(identifiers, new Transformer() {
@Override
public Object transform(Object o) {
return o.toString();
}
});
client.deleteById((List<String>) identifiers);
} else {
if (identifiers.size() < SolrCatalogProvider.MAX_BOOLEAN_CLAUSES) {
client.deleteByQuery(getIdentifierQuery(fieldName, identifiers));
} else {
int i = 0;
for (i = SolrCatalogProvider.MAX_BOOLEAN_CLAUSES; i < identifiers.size(); i += SolrCatalogProvider.MAX_BOOLEAN_CLAUSES) {
client.deleteByQuery(getIdentifierQuery(fieldName, identifiers.subList(i - SolrCatalogProvider.MAX_BOOLEAN_CLAUSES, i)));
}
client.deleteByQuery(getIdentifierQuery(fieldName, identifiers.subList(i - SolrCatalogProvider.MAX_BOOLEAN_CLAUSES, identifiers.size())));
}
}
if (forceCommit) {
client.commit();
}
}
use of org.apache.commons.collections.Transformer in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAllUserNames1Sorted.
/**
* Same as above except sorted.
*/
@Test
public void testGetAllUserNames1Sorted() throws Exception {
SearchControls con1 = new SearchControls();
// $NON-NLS-1$
con1.setReturningAttributes(new String[] { "uniqueMember" });
LdapSearchParamsFactoryImpl paramFactory = // $NON-NLS-1$//$NON-NLS-2$
new LdapSearchParamsFactoryImpl("ou=groups", "(objectClass=groupOfUniqueNames)", con1);
paramFactory.afterPropertiesSet();
// $NON-NLS-1$ //$NON-NLS-2$
Transformer transformer1 = new SearchResultToAttrValueList("uniqueMember", "uid");
GenericLdapSearch allUsernamesSearch = new GenericLdapSearch(getContextSource(), paramFactory, transformer1);
allUsernamesSearch.afterPropertiesSet();
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setAllUsernamesSearch(allUsernamesSearch);
userRoleListService.setUsernameComparator(new DefaultUsernameComparator());
List res = userRoleListService.getAllUsers();
assertTrue(res.indexOf("pat") < res.indexOf("tiffany"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAllUserNames1Sorted(): " + res);
}
}
use of org.apache.commons.collections.Transformer in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetAllAuthorities1.
/**
* Search for all roles (aka authorities) starting at <code>ou=roles</code>, looking for objects with
* <code>objectClass=organizationalRole</code>, and returning the <code>cn</code> attribute.
*/
@Test
public void testGetAllAuthorities1() {
SearchControls con1 = new SearchControls();
// $NON-NLS-1$
con1.setReturningAttributes(new String[] { "cn" });
LdapSearchParamsFactory paramsFactory = // $NON-NLS-1$//$NON-NLS-2$
new LdapSearchParamsFactoryImpl("ou=roles", "(objectClass=organizationalRole)", con1);
// $NON-NLS-1$
Transformer one = new SearchResultToAttrValueList("cn");
Transformer two = new StringToGrantedAuthority();
Transformer[] transformers = { one, two };
Transformer transformer = new ChainedTransformer(transformers);
LdapSearch rolesSearch = new GenericLdapSearch(getContextSource(), paramsFactory, transformer);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setAllAuthoritiesSearch(rolesSearch);
List res = userRoleListService.getAllRoles();
// $NON-NLS-1$
assertTrue(res.contains("ROLE_CTO"));
// $NON-NLS-1$
assertTrue(res.contains("ROLE_CEO"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getAllAuthorities1(): " + res);
}
}
use of org.apache.commons.collections.Transformer in project pentaho-platform by pentaho.
the class DefaultLdapUserRoleListServiceTest method testGetUsernamesInRole1.
/**
* Search for all users starting at <code>ou=users</code>, looking for objects with
* <code>businessCategory=cn={0}*</code>, and returning the <code>uid</code> attribute. This search implies that the
* schema is setup such that a user's roles come from one of the user's attributes.
*/
@Test
public void testGetUsernamesInRole1() {
SearchControls con1 = new SearchControls();
// $NON-NLS-1$
con1.setReturningAttributes(new String[] { "uid" });
LdapSearchParamsFactory paramFactory = // $NON-NLS-1$//$NON-NLS-2$
new LdapSearchParamsFactoryImpl("ou=users", "(businessCategory=cn={0}*)", con1);
// $NON-NLS-1$
Transformer transformer1 = new SearchResultToAttrValueList("uid");
GrantedAuthorityToString transformer2 = new GrantedAuthorityToString();
LdapSearch usernamesInRoleSearch = new GenericLdapSearch(getContextSource(), paramFactory, transformer1, transformer2);
DefaultLdapUserRoleListService userRoleListService = getDefaultLdapUserRoleListService();
userRoleListService.setUsernamesInRoleSearch(usernamesInRoleSearch);
// $NON-NLS-1$
List<String> res = userRoleListService.getUsersInRole(null, "DEV");
// $NON-NLS-1$
assertTrue(res.contains("pat"));
// $NON-NLS-1$
assertTrue(res.contains("tiffany"));
if (logger.isDebugEnabled()) {
// $NON-NLS-1$
logger.debug("results of getUsernamesInRole1(): " + res);
}
}
Aggregations