J'ai un HashSet contenant tous les groupes que j'ai récupérés de ma base de données. On m'a demandé de filtrer ce résultat en supprimant deux groupes spécifiques. Cela semble trivial mais je n'arrive pas à trouver une solution solide pour stocker les groupes spécifiques que je veux filtrer.Filtrer des objets spécifiques à partir d'une requête de recherche dans Alfresco en utilisant Java
Mon idée est de simplement créer un tableau contenant des références aux deux groupes dont j'ai besoin de filtrer. Je peux ensuite filtrer ma requête de recherche avec tout ce qui est dans le tableau. Ce qui me préoccupe, c'est qu'à l'avenir, ils pourraient demander de filtrer davantage de groupes et peut-être qu'un tableau n'est peut-être pas une bonne idée.
//Creates the array containing groups to filter out
String[] hiddenGroups = {"group1","group2"};
//retrieves all groups
Set<String>allGroups = new HashSet<String>();
allGroups.addAll(authorityService.getAllAuthorities(AuthorityType.GROUP);
List<String>results = new ArrayList<String>();
//filters out specified groups
for (String group : allGroups) {
boolean isHidden = false;
for (String hiddenGroup : hiddenGroups) {
if (hiddenGroup.equalsIgnorecase(group)) {
isHidden = true;
}
}
if (!isHidden){
results.add(group);
}
}
HI Bialecki, Merci de m'avoir aidé à optimiser mon code. Je ne savais pas que Hashset avait ces capacités. Une chose que je veux ajouter, cependant, est que l'utilisation d'une boucle for que j'ai trouvée ci-dessus a donné une exception de modification simultanée. Pour résoudre ce problème, je viens de créer un itérateur et de l'utiliser pour parcourir l'ensemble. – Snowright