Could you please iterate through all results - even though getTotalNumItems() returns 0 - and count the results? Would it be possible to capture the network traffic?
Florian On 20/04/2011 12:30, Geert Vanheusden wrote: > Ok, I extracted some code in a separate application. > > ------------------------------------- > > package be.idewe.park; > > import java.util.HashMap; > import java.util.Map; > > import org.apache.chemistry.opencmis.client.api.ItemIterable; > import org.apache.chemistry.opencmis.client.api.QueryResult; > import org.apache.chemistry.opencmis.client.api.Session; > import org.apache.chemistry.opencmis.client.api.SessionFactory; > import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl; > import org.apache.chemistry.opencmis.commons.SessionParameter; > import org.apache.chemistry.opencmis.commons.enums.BindingType; > > public class TestQuery { > > /** > * @param args > */ > public static void main(String[] args) { > TestQuery testQuery = new TestQuery(); > > Session session = testQuery.getSession(); > ItemIterable<QueryResult> query = session.query("SELECT > DOCUMENT.*, EMPLOYEEDOCUMENT.* FROM park:document AS DOCUMENT JOIN > park:employeeDocument AS EMPLOYEEDOCUMENT ON DOCUMENT.cmis:objectId = > EMPLOYEEDOCUMENT.cmis:objectId WHERE > (EMPLOYEEDOCUMENT.employeeDoc:currentEmployeeName LIKE '%VANHEUSDEN%')", > false); > > System.out.println(query.getTotalNumItems()); > > } > > public Session getSession() { > // default factory implementation of client runtime > SessionFactory f = SessionFactoryImpl.newInstance(); > Map<String, String> parameter = new HashMap<String, String>(); > > // user credentials > parameter.put(SessionParameter.USER, "admin"); > parameter.put(SessionParameter.PASSWORD, "admin"); > > // connection settings > parameter.put(SessionParameter.ATOMPUB_URL, > "http://localhost:7070/alfresco/s/cmis"); > parameter.put(SessionParameter.BINDING_TYPE, > BindingType.ATOMPUB.value()); > > // session locale > parameter.put(SessionParameter.LOCALE_ISO3166_COUNTRY, "be"); > parameter.put(SessionParameter.LOCALE_ISO639_LANGUAGE, "nl"); > parameter.put(SessionParameter.LOCALE_VARIANT, ""); > > parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, > "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl"); > > return f.getRepositories(parameter).get(0).createSession(); > } > > } > ---------------------------- > > And here a POM snippet: > > <dependencies> > <!-- OpenCMIS --> > <dependency> > <groupId>org.apache.chemistry.opencmis</groupId> > <artifactId>chemistry-opencmis-client-impl</artifactId> > <version>0.3.0</version> > </dependency> > <dependency> > <groupId>org.alfresco.cmis.client</groupId> > <artifactId>alfresco-opencmis-extension</artifactId> > <version>0.2</version> > </dependency> > </dependencies> > > --------------------------- > > So when I execute this code I get "0" (incorrect). If I replace the > dependency with "0.2.0-incubating" it returns "1". > > Kind regards, > > Geert > > > ----- Original Message ----- > From: "Florian Müller"<florian.muel...@alfresco.com> > To: dev@chemistry.apache.org > Sent: Wednesday, April 20, 2011 12:44:01 PM > Subject: Re: Different result with same query but other OpenCMIS version > > No, Alfresco uses a different parser. > If the CMIS query didn't change and the repository implementation didn't > change, only the interpretation of the results can be different on the client > side. But we haven't touched that code for quite a while. > > Florian > > > On 20/04/2011 11:37, Jens Hübel wrote: >> Does the Alfresco implementation use the opencmis query parser? Even that >> should not have been changed with the exception of a few minor patches. Is >> there a chance to find out what native queries are generated from the CMIS >> one? >> >> Jens >> >> >> -----Original Message----- >> From: Geert Vanheusden [mailto:g.vanheus...@aca-it.be] >> Sent: Mittwoch, 20. April 2011 11:41 >> To: dev >> Subject: Different result with same query but other OpenCMIS version >> >> Dear, >> >> I just upgraded to OpenCMIS 0.3.0 (coming from 0.2.0-incubating) and I >> noticed that the same query I used before returns an incorrect result. >> >> I have a custom document type (park:document) and a park:employeeDocument >> aspect. >> >> When I execute the following query using OpenCMIS 0.2.0-incubating I have >> one document as a result (correct). If I execute the same query using >> OpenCMIS 0.3.0 then there are no documents returned. >> >> cmisSession.query(" >> SELECT DOCUMENT.*, EMPLOYEEDOCUMENT.* >> FROM park:document AS DOCUMENT >> JOIN park:employeeDocument AS EMPLOYEEDOCUMENT >> ON DOCUMENT.cmis:objectId = EMPLOYEEDOCUMENT.cmis:objectId >> WHERE (EMPLOYEEDOCUMENT.employeeDoc:currentEmployeeName LIKE '%VANHEUSDEN%') >> ", false) >> >> I am using the alfresco-opencmis-extension 0.2 and querying against an >> Alfreso enterprise 3.4. >> If I execute the same query in the latest version of the OpenCMIS workbench >> I have also one document as a result (correct). >> >> Any ideas? Maybe a bug in OpenCMIS 0.3.0? >> >> Kind regards, >> >> Geert Vanheusden >> >> >> _________________________________________________ >> >> We published a new company movie featuring YOU! >> See http://www.aca-it.be/movie >> _________________________________________________ >