Page 1 of 1

Duda sobre OKMNote

PostPosted:Wed Jun 29, 2011 4:42 pm
by amartincaro
Buenas tardes:

tengo instalado Open KM 5.0.3 y estoy utilizando el webservice OKMNote. Tengo una duda sobre el comportamiento del método list.

En el caso de que el documento no tenga notas añadidas está devolviendo una PathNotFoundException. Yo, la verdad, estaba esperando un null o un array de notas vacío. Simplemente quería saber si se trata de un bug o es realmente el comportamiento que se espera de él.

Muchísimas gracias por vuestras respuestas.

Re: Duda sobre OKMNote

PostPosted:Sat Jul 02, 2011 1:08 pm
by jllort
Dentro de un nodo documento el nodo hijo okm:note es opcional ( es decir puede no existir ). Es normal que te de un path not found. Antes de hacer un get deberías comprobar si el nodo existe, hay un metodo para ello en el repository llamado hasNode que devuelve un booleano

Re: Duda sobre OKMNote

PostPosted:Mon Jul 04, 2011 10:20 am
by amartincaro
Muchas gracias por tu respuesta.

No veo exactamente cómo hacer lo que propones. El método del que estamos hablando es el método list del webservice OKMNote.
Code: Select all
Note[] list(String token, String nodePath)

Retrieve a list of notes from a document.

Parameters

    token - The session authorization token.
    nodePath - The path that identifies an unique document. 

Returns

    An array with the document notes. 

Throws

    PathNotFoundException - If there is no document in the repository with this path.
    AccessDeniedException - If there is any security problem: you can't access this document because of lack of permissions.
    RepositoryException - If there is any general repository problem. 
El segundo parámetro es un path a un documento existente y, en mi caso, cualquier llamada a este método se hace siempre sabiendo con total seguridad que el documento existe. Por eso te comentaba que si estoy pidiendo al gestor documental una lista de notas asociadas a un documento me resulta extraño que si éste no tiene la respuesta sea una PathNotFoundException. He revisado el servlet y no veo ningun método que me permita saber si un documento tiene o no un nodo de tipo okm:note.

Disculpa si me estoy liando yo solo :-(

Re: Duda sobre OKMNote

PostPosted:Tue Jul 05, 2011 4:50 pm
by jllort
Tienes un docPath a este le añades "/okm:note" y antes de obtener el list mediante el WS del repository ejecuta el isNode que te devolverá un booleano indicando si este nodo existe o no. Cuando disparas el list se supone que este nodo existe.

Re: Duda sobre OKMNote

PostPosted:Wed Jul 06, 2011 8:31 am
by amartincaro
Hola:

así lo haré y muchas gracias por tu respuesta :-)

EDIT: Por si alguien se topa con lo mismo simplemente una aclaración: el nodo del que debemos consultar su existencia es "/okm:notes" en lugar de "/okm:note".
¡Gracias de nuevo!

Re: Duda sobre OKMNote

PostPosted:Wed Jul 06, 2011 8:49 pm
by pavila
El método correcto para comprobar la existencia de un nodo es OKMRepository.hasNode(String token, String path).