Problema NodeService en JAVA

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

Problema NodeService en JAVA

Buenas,

tengo un problema al usar el nodeService en un script java.
tengo un nodo del tipo NodeRef, y lo que quiero es coger otro nodo, que esta en la misma carpeta que este nodo.
Os pongo el codigo que tengo puesto ahora y que no me funciona (funciona todo bien menos las 2 ultimas lineas de codigo)
protected void executeImpl(Action action, NodeRef node) {
      // TODO Auto-generated method stub
      logger.debug("executeImpl");

      //logger del nombre del nodo, funciona bien y me da su nombre
      logger.debug("node.name: "+nodeService.getProperty(node, ContentModel.PROP_NAME));
      
      //Cojo el parent del nodo
      ChildAssociationRef childAssociationRef = nodeService.getPrimaryParent(node);
      NodeRef parent = childAssociationRef.getParentRef();
      
      //logger del nombre del parent, funciona correctamente y me da el nombre del parent
      logger.debug("parent.name: "+nodeService.getProperty(parent, ContentModel.PROP_NAME));
      
      //Aqui es donde tengo los problemas, teniendo el parent no consigo obtener el nodo de otro fuchero
      NodeRef nodoPrueba = nodeService.getChildByName(parent, ContentModel.PROP_CONTENT, "prueba.txt");
      NodeRef nodoPrueba2 = nodeService.getChildByName(parent, ContentModel.PROP_CONTENT, "eec2e919-9bd8-44ef-9315-99b554bf5d3a");
//      el nodeRef del nodo: workspace://SpacesStore/eec2e919-9bd8-44ef-9315-99b554bf5d3a
   }

No se como coger el nodo "prueba.txt" que se encuentra en la misma carpeta, tanto nodoPrueba como nodoPrueba2 siempre me dan null. Quizas tengo que usar otro servicio?

Muchas gracias de antemano
4 Replies
ruben_arjonilla
Member II

Re: Problema NodeService en JAVA

vale, ya he encontrado la manera de hacerlo.
Utilizando el FileFolderService y la funciona searchSimple:
NodeRef nodoPrueba = fileFolderService.searchSimple(parent, "prueba.txt");
yakon_8894
Member II

Re: Problema NodeService en JAVA

Hola ruben,

ya veo que has solucionado el problema, pero solo por curiosidad… el error no estaría en que estabas pasando como tipo de asociación ContentModel.PROP_CONTENT al método getChildByName?

Las veces que he usado ese método para algo similar a lo que intentas hacer le he pasado el parámetro ContentModel.ASSOC_CONTAINS y me ha funcionado correctamente.

Saludos
ruben_arjonilla
Member II

Re: Problema NodeService en JAVA

Lo probare, la verdad es que hice varias pruebas,
ContentModel.ASSOC_CHILDREN
ContentModel.PROP_CONTENT

Pero el de ContentModel.ASSOC_CONTAINS no lo probé, en cuanto tenga un momento lo pruebo y lo comento por aquí para salir de dudas.

Muchas gracias Smiley Happy
ruben_arjonilla
Member II

Re: Problema NodeService en JAVA

Pues efectivamente, funciona tal como decias.

Por tanto hay 2 formas de usarlo:
NodeRef nodoPrueba = nodeService.getChildByName(parent, ContentModel.ASSOC_CONTAINS, "prueba.txt");
NodeRef nodoPrueba = fileFolderService.searchSimple(parent, "prueba.txt");

Gracias por tu comentario Smiley Happy