I am doing a classification of the mimetype by comparing the end of the file name, like this: public static String getMimeType(String nomeArquivo) { String ret = null; if(nomeArquivo.endsWith(".avi")) { ret = "video/x-msvideo"; } else if (nomeArquivo.endsWith(".doc")) { ret = "application/msword"; } else if (nomeArquivo.endsWith(".htm")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".html")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".mht")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".cfm")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".jsp")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".jspx")) { ret = "text/html"; } else if (nomeArquivo.endsWith(".pdf")) { ret = "application/pdf"; } else if (nomeArquivo.endsWith(".ppt")) { ret = "application/mspowerpoint"; } else if (nomeArquivo.endsWith(".rtf")) { ret = "application/rtf"; } else if (nomeArquivo.endsWith(".sxc")) { ret = "application/vnd.sun.xml.calc"; } else if (nomeArquivo.endsWith(".sxi")) { ret = "application/vnd.sun.xml.impress"; } else if (nomeArquivo.endsWith(".sxw")) { ret = "application/vnd.sun.xml.writer"; } else if (nomeArquivo.endsWith(".txt")) { ret = "text/plain"; } else if (nomeArquivo.endsWith(".xls")) { ret = "application/msexcel"; } else if (nomeArquivo.endsWith(".xml")) { ret = "text/xml"; } else if (nomeArquivo.endsWith(".xsl")) { ret = "text/xml"; } else if (nomeArquivo.endsWith(".java")) { ret = "text/plain"; } else if (nomeArquivo.endsWith(".bat")) { ret = "text/plain"; } else if (nomeArquivo.endsWith(".ods")) { ret = "application/vnd.oasis.opendocument.spreadsheet"; } else if (nomeArquivo.endsWith(".odt")) { ret = "application/vnd.oasis.opendocument.text"; } else if (nomeArquivo.endsWith(".odf")) { ret = "application/vnd.oasis.opendocument.formula"; } else if (nomeArquivo.endsWith(".odg")) { ret = "application/vnd.oasis.opendocument.graphics"; } else if (nomeArquivo.endsWith(".odd")) { ret = "application/vnd.oasis.opendocument.database"; } else if (nomeArquivo.endsWith(".odp")) { ret = "application/vnd.oasis.opendocument.presentation"; } return ret; }
So, the jcr:mimeType gets the "correct" value when I am saving the nt:resource node. But I am searching any document I put there and there is no result, or if there is it is unstable for all the extensions the textfilters assume that it does. Normally I put the file inside a node (nt:resource) that is inside a nt:folder, and do the query: SELECT * FROM nt:folder WHERE CONTAINS(*,'TEXTSEARCHINGFOR') My repository xml does reference to textfilters. The textfilters are based on the information in the jcr:mimetype to build the index, no? Is there no way to rebuild the indexes without have to restart the jboss? I am not seeing this funcionallity works, but I need it working, what are the best pratice for that (if it exists). Thanks Helio >hsp wrote: >> I don't mind what could be happen, but my application doesn't search any >> values (properties or binary contents). If I do the simple query in >> XPath: //*[jcr:contains(.,'lidando')] > >can you provide a small test case that reproduces this behaviour? Thanks. > >> or the other: >> >> //*[jcr:like(@jcr:primaryType,'%nt:folder%')] > >JSR 170 specifies that jcr:like() does not work with properties of type >NAME. you should rather use the equals operator or the element node test: > >//[EMAIL PROTECTED]:primaryType == 'nt:folder'] > (returns nodes that are of type nt:folder) > >//element(*, nt:folder) > (returns nodes that are of type nt:folder or of types that are derived >from nt:folder) > >regards > marcel >