cancel
Showing results for 
Search instead for 
Did you mean: 

Leer Usuario de un grupo con la Api de JAVA

aac77621
Champ in-the-making
Champ in-the-making
Hola, necesitaría si alguien me puede ayudar como puedo realizar a nivel de codigo Java, no javascript para obtener los usuarios a partir de un grupo especifico.
Con este codigo obtengo todos los grupos:

AuthorityFilter authorityFilter = new AuthorityFilter();
authorityFilter.setAuthorityType("GROUP");
String[] allAuthorities = accessControlService.getAllAuthorities(authorityFilter);

y con este otro obtengo las propiedades de los usuarios:
administrationService.getUser(usuario);

Pero como puedo hacer para obtener de acuerdo a un grupo cuales son sus usuarios?
Encuentro mucho de esto hecho en javascript pero a nivel del uso de los servicios de la Api de java no lo obtengo.

Muchas gracias!
Alejandro
3 REPLIES 3

cristinamr
World-Class Innovator
World-Class Innovator
Buenas.

Usa lucene para tu búsqueda 😃 Por cierto, te has confundido de subforo, este es para compartir código no pedir ayuda  :mrgreen:

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

aac77621
Champ in-the-making
Champ in-the-making
Ahi pude lograrlo. Dejo el código en java por si alguien lo necesita. En internet busque pero no encontre la solución. asi que "Lucene" me sirvió.

   // TRAE A PARTIR DE UN GRUPO, LOS USUARIOS QUE PERTENECEN A ESE GRUPO 
   private String  allUsers(String group){
      StringBuffer usuario= new StringBuffer();
      try{
         String PATH="/{http://www.alfresco.org/model/system/1.0}system/{http://www.alfresco.org/model/system/1.0}authoritie...;
             Store store = new Store(Constants.WORKSPACE_STORE,"SpacesStore");
            Query query = new Query();
            query.setLanguage("lucene");
            String querys = "TYPE:\"cm:authorityContainer\" and PATH:\"cm:GROUP_"+group+"\"";
            query.setStatement(querys);
           QueryResult results = WebServiceFactory.getRepositoryService().query(store, query, false);
         ResultSetRow[] rows = results.getResultSet().getRows();
         String uuid="";
         boolean isExistGroups=false;
         for (ResultSetRow row : rows) {
         NamedValue[] values = row.getColumns();
            for (NamedValue col : values) {
               if(PATH.equals(col.getValue().trim())){
                  isExistGroups=true;
               }
               if(isExistGroups && "{http://www.alfresco.org/model/system/1.0}node-uuid'.equals(col.getName().toString().trim())){
                  uuid=col.getValue();
                  isExistGroups=false;
               }   
            }            
         }   
          Reference folderReference = new Reference(store,uuid,PATH);
          QueryResult resu = WebServiceFactory.getRepositoryService().queryChildren(folderReference);
          ResultSetRow[] rowSet = resu.getResultSet().getRows();
          for (ResultSetRow row : rowSet) {
              NamedValue[] values = row.getColumns();
                for (NamedValue col : values) {
                   if("{http://www.alfresco.org/model/content/1.0}owner'.equals(col.getName().toString())){
                      usuario.append(col.getValue()+",");
                   }
                }
         }   
      }catch (Exception e) {
         // TODO: handle exception
         System.out.println(""+e.getMessage());
      }
      return usuario.toString();
   }

Muchas Gracias

cristinamr
World-Class Innovator
World-Class Innovator
Gracias a ti por el aporte Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc