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
>> _________________________________________________
> 

Reply via email to