Espacio no encontrado

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

Espacio no encontrado

Hola,

Utilizando la versión Labs de Alfresco, e intentando integrarla con una aplicación propia, me encuentro con un problema que no se porqué ocurre.

Tengo un espacio con el nombre "BARCELONA", y cuando lo busco desde mi aplicación de esta manera:


String espacio = "BARCELONA";
String consulta = "@\\{http\\://www.alfresco.org/model/content/1.0\\}name:\"" + espacio + "\"";
        Query query = new Query();
        query.setLanguage(Constants.QUERY_LANG_LUCENE);
        query.setStatement(consulta);

        try {
            //Ejecutamos la peticion y recogemos los resultados
            QueryResult qrst = WebServiceFactory.getRepositoryService().query(ALF_STORE, query, false);
            ResultSet x = qrst.getResultSet();
            resultadoBusqueda = x.getRows();

Hay veces que la variable resultadoBusqueda es nula, cuando dicho espacio si que existe en Alfresco. Lo curioso es que hay veces que me devuelve datos, y hay veces que como os he comentado, obtengo un null. Temas de permisos no es, porque el usuario con el que lanzo la búsqueda tiene acceso a este espacio.

¿Qué puede estar pasando?

Muchas gracias por adelantado,

Un saludo.
1 Reply
joherrero
Member II

Re: Espacio no encontrado

Hola!
Se me ocurren un par de soluciones a ver si te pueden servir.
La primera consiste en comprobar que los nombres de tus espacios cumplen la ISO 9075 (tienes funciones en la API) ya que, por ejemplo, un simple espacio (_x0020_) o un nombre que empiece por un número te puede fastidiar la consulta.
La segunda es que puedas tener mal construida la búsqueda. Parece ser que lo que quieres hacer es buscar todos los elementos con "name" igual a lo que contenga la cadena espacio (en este caso BARCELONA). Para esto yo usaría la consulta:

String espacio = "BARCELONA";
String consulta = "@cm\\:name:\""+espacio+"\"";
Si usas otro namespace lo tendrás que sustituir por cm que es el equivalente al que has puesto tú pero resulta más cómodo (ojo con las barras, si la sintaxis está mal puede hacer cosas raras sin dar error).
Espero que te haya servido de ayuda.