AnsweredAssumed Answered

Problemas al renombrar una carpeta

Question asked by sances1704 on Apr 20, 2010
Latest reply on Apr 20, 2010 by cristinamr
Buenas, llevo poco tiempo utilizando alfresco y en este foro he encontrado mucha ayuda que me ha venido muy bien en mi desarrollo, pero ahora no encuentro la solución a este nuevo problema que me ha surgido. La cuestion es que yo tengo que hacer el renombrado de una de mis carpetas via WebService, y el problema es que una vez que realizo el renombrado no puedo acceder a las subcarpetas de dicha carpeta. Y necesito acceder a ellas dado que una vez renombrada necesito añadir nuevos documentos.
el codigo que tengo es el siguiente:
   //creo la nueva carpeta
                companyHomeParent = setCompanyHomeTiWorksFolder(storeRef, pathFolder,numeracion,documento.getId());
                String queryString = "+PATH:\"" + pathFolder+ "/tw:" + nombreCarpeta +"//*\""
      + "+TYPE:\""+Constants.TYPE_FOLDER+"\"";
               //recupero los hijos de la antigua carpeta
      List<Content> lista = getQueryResults(queryString, storeRef);
      if(lista.size()>0){   
         int tama = lista.size();
       Reference[] ref =new Reference[tama];
       for(int i=0; i<tama; i++)
          ref[i] = lista.get(i).getNode();
      Predicate predicate =new Predicate(ref, storeRef, null);
                //copio los hijos en la nueva carpeta
         CMLCopy ccopy = new CMLCopy(companyHomeParent, null, null, null, predicate, null, true);
          // Construimos el bloque CML
           CML cml = new CML();
           cml.setCopy(new CMLCopy[] {ccopy});
           // Ejecutamos el bloque CML
           WebServiceFactory.getRepositoryService().update(cml);
         
      }
          
      gest.borraCarpetaAlfresco(nombreCarpeta);

El problema llega cuando tengo que acceder a la carpeta hija para añadir mis nuevos documentos accedo a la carpeta de la siguiente manera:
       ParentReference companyHomeParent = null;
      try {
         //Therefore a reference to the maybe not existent space is required
         System.out.println("Entering pathFolder " + pathFolder);
         System.out.println("Entering space " + nombreCarpeta);
         Reference space = new Reference(storeRef, null, pathFolder+ "/cm:" + nombreCarpeta);
         WebServiceFactory.getRepositoryService().get(new Predicate(new Reference[]{space}, storeRef, null));
         System.out.println("inicio UtilsAlfresco:getCompanyHomeParentFolder–>Recupera una carpeta que ya existe");
         
         //Recupera una carpeta que ya existe
         companyHomeParent = new ParentReference(storeRef, null, pathFolder+ "/cm:" + nombreCarpeta, Constants.ASSOC_CONTAINS, nombreCarpeta);
   

      }catch (Exception e){
                       //si la carpeta no existe la creo como nueva.
         companyHomeParent = getCompanyHomeParentNewFolder(storeRef,nombreCarpeta, pathFolder);
      }

cuando llega la ejecucion a este ultimo metodo, el problea que obtengo es que no encuentra la carpeta y cuando intento crearla como nueva me dice que ya existe. Desde el cliente web de alfresco la carpeta existe y está correctamente bajo la nueva carpeta con su nuevo nombre. Pero no consigo acceder a ella.

¿Alguien sabe cual puede ser mi error?
Muchas gracias de antemano por ayudarme.

Outcomes