como puedo ejecutar este script?

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

como puedo ejecutar este script?

Buenas, estoy buscando la forma de ejecutar este script, pensaba que ejecutandolo como una accion sobre un directorio por ejemplo surtiria efecto poniendo las etiquetas de servidor, pero no es asi. Como puedo ejecutar este código?, lo que hace el código es eliminar usuarios, lo he codigo del foro en ingles.

este es el código:

   public static void userDel( String userLogin, boolean userDeleteRepo ) throws Exception {
        repositoryService     = WebServiceFactory.getRepositoryService();
        contentService         = WebServiceFactory.getContentService();
        administrationService = WebServiceFactory.getAdministrationService();
        // check the user
        try {
            // test before the user
           administrationService.getUser(userLogin);
       } catch (Exception e){
          throw new Exception("User " + userLogin + " does not exists.");
       }
      
       administrationService.deleteUsers(new String[]{userLogin});
       System.out.println("The user "+userLogin+" has been deleted.");

        if (userDeleteRepo){
           Store store = new Store(Constants.WORKSPACE_STORE,"SpacesStore");
           Reference folderReference = new Reference(store,null,"/app:company_home/app:user_homes/cm:"+userLogin);
       
           // get the reference for the folder
           try {
              repositoryService.get(new Predicate(new Reference[]{folderReference},store,null));
           } catch (Exception e) {
              e.printStackTrace();
              throw new Exception("Unable to get the folder for user "+userLogin+".");                     
           }
       
           try {
              CML cml = new CML();
              CMLDelete cmlDelete = new CMLDelete();
              cmlDelete.setWhere(new Predicate(new Reference[]{folderReference},store,null));
              cml.setDelete(new CMLDelete[]{cmlDelete});
              UpdateResult[] results = repositoryService.update(cml);
           }
           catch (Exception e) {
              e.printStackTrace();
           }
           System.out.println("the folder "+userLogin+" has been deleted.");
        }
    }


Gracias y saludos.
4 Replies
pjcaracuel_2349
Active Member II

Re: como puedo ejecutar este script?

Buenas,

Esto que has puesto no es un script, es una clase java que hace uso de los webservices de alfresco.

¿Has probado a mirar como implementar eso mismo usando webscript? Tienen la misma potencia que los webservices y no necesitas un entorno de desarrollo estilo eclipse para implementarlos.
http://wiki.alfresco.com/wiki/Web_Scripts#Why_use_Web_Scripts.3F

Para hacerlo via webservices, podias apoyarte en los ejemplos que proporciona alfresco de los webservices con el SDK
http://wiki.alfresco.com/wiki/Web_Service_Samples_for_Java

Saludos
giorgio
Member II

Re: como puedo ejecutar este script?

Pensaba que la eliminacion de usuarios no se podia hacer con javascript.
y ejecutar java desde un web script no lo he hecho todavia, no sabia que tambien se podia.
le seguiré echando un vistazo al vinculo que me has pasado.

Saludos y gracias.
pjcaracuel_2349
Active Member II

Re: como puedo ejecutar este script?

Tambien se puede ejecutar una clase java desde webscript.
http://wiki.alfresco.com/wiki/Java-backed_Web_Scripts_Samples#Writing_the_Web_Script_.28Java.29_3

Saludos
giorgio
Member II

Re: como puedo ejecutar este script?

Buenas, pjcaracuel, gracias por tu respuesta, pero he intentado ejecutar esa clase java por todos los medios posibles y no lo he conseguido,
leí el vínculo que me pasaste y incluso probé los codigos de ejemplo que se muestra ahi, y tambien petan esos codigos.
de todas formas he restaurado la base de datos asi que ya puedo cargar solo los usuarios  que quiero sin tener que borrar los demas.

Gracias de todas formas, seguiré intentando ejecutar el java con webscript ya que me puede venir bien para otras cosas, pero hasta ahora ya te digo que no lo he conseguido.

Saludos.