Leer Usuario de un grupo con la Api de JAVA

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
aac77621
Member II

Leer Usuario de un grupo con la Api de JAVA

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
cristinamr
Intermediate

Re: Leer Usuario de un grupo con la Api de JAVA

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.
aac77621
Member II

Re: Leer Usuario de un grupo con la Api de JAVA

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
Intermediate

Re: Leer Usuario de un grupo con la Api de JAVA

Gracias a ti por el aporte Smiley Wink