Ok. That does the trick.

Is it incorrect to define those parameters?

Geert

----- Original Message -----
From: "Florian Müller" <[email protected]>
To: "Geert Vanheusden" <[email protected]>
Sent: Wednesday, April 20, 2011 3:16:57 PM
Subject: Re: Different result with same query but other OpenCMIS version

Please remove all LOCALE session parameters and run the query again.

Florian


On 20/04/2011 13:47, Geert Vanheusden wrote:
> Ok.
>
> Added the following:
>
> for (QueryResult queryResult : query) {
>       System.out.println("- " + 
> queryResult.getPropertyValueById("cmis:objectId"));
> }
> System.out.println("Total results: " + query.getTotalNumItems());
>
>
> Results:
>
> 0.2.0:
> ------
> - workspace://SpacesStore/586dbf3c-dc8d-4b5a-a331-7f04c5b9d7ad
> Total results: 1
>
> 0.3.0:
> ------
> Total results: 0
>
>
> And the links to the Wireshark packets:
>
> http://dl.dropbox.com/u/623463/alf/OpenCMIS-0.2.0-debug.txt
> http://dl.dropbox.com/u/623463/alf/OpenCMIS-0.3.0-debug.txt
>
> The POST url looks identical... very strange.
>
> Kind regards,
>
> Geert
>
> ----- Original Message -----
> From: "Florian Müller"<[email protected]>
> To: [email protected], "Geert Vanheusden"<[email protected]>
> Sent: Wednesday, April 20, 2011 2:05:37 PM
> Subject: Re: Different result with same query but other OpenCMIS version
>
> 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"<[email protected]>
>> To: [email protected]
>> 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:[email protected]]
>>> 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