Casting WebScript

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

Casting WebScript

Hola.

Yo realizo la siguiente busqueda en lucene en javascript:

var folder = search.luceneSearch("@cm\\:name:\""+category+"\" AND @cm\\:description:\""+description+"\"");

si no me ha dado resultados la búsqueda, me creo la carpeta con createFolder() y despues puedo dentro de ella crear otra carpeta y no me da error ninguno, pero si la carpeta ya esta creada, la búsqueda lo ke me devuelve es un nodo y no tiene el método createFolder().

Sabe alguién como hacer un cast al nodo para que sea un objeto carpeta?

Muchas gracias de antemano.
4 Replies
necro369
Member II

Re: Casting WebScript

Hola de nuevo, ya lo he resulto… era un fallo mio. Resulta ke la búsqueda de lucene aunque solo te devuelva un elemento te devuelve una lista, no como otras búsquedas propias de javascript, así que solo tenía que coger el elemento 0.

Aunque si me resuelven, ya solo por curiosidad, lo de los casting, os lo agradecería mucho.

Un saludo.
cristinamr
Advanced

Re: Casting WebScript

Buenas.

Tienes la función .type al que creo que le puedes asociar el tipo que quieras a un nodo, aunque como nunca lo he necesitado no lo he probado la verdad. Tendría que ser algo similar a: node.type="cm:folder";

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
necro369
Member II

Re: Casting WebScript

Muchas gracias Cristina, en cuanto lo pruebe ya comentare que tal funcina… aunque hasta ahora las búsquedas de lucene devuelve los nodos con su tipo correcto y no como un objeto generico Smiley Happy
yakon_8894
Member II

Re: Casting WebScript

Buenas necro369,

no necesitas hacer un cast para lo que necesitas. Tal y como has dicho la búsqueda de lucene devuelve un array de nodos con los resultados devueltos por lucene. Si el nodo es de tipo cm:folder podrás implementar ciertos métodos y si no lo es obtendrás un error al intentar ejecutarlos. Puedes usar la función isSubType(string type)  para comprobar si un nodo es de tipo cm:folder antes de intentar crear un espacio dentro de él. Para especializar un nodo lo puedes hacer directamente al crearlo o con el método specializeType(string type)

Saludos