Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D3EE1D578 for ; Sat, 11 Aug 2012 12:31:16 +0000 (UTC) Received: (qmail 9738 invoked by uid 500); 11 Aug 2012 12:31:16 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 9649 invoked by uid 500); 11 Aug 2012 12:31:15 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 9636 invoked by uid 99); 11 Aug 2012 12:31:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 11 Aug 2012 12:31:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 11 Aug 2012 12:31:14 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 02855238890D; Sat, 11 Aug 2012 12:30:31 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1371928 - in /camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis: CMISProducer.java CMISQueryProducer.java CMISSessionFacade.java Date: Sat, 11 Aug 2012 12:30:30 -0000 To: commits@camel.apache.org From: bibryam@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120811123031.02855238890D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bibryam Date: Sat Aug 11 12:30:30 2012 New Revision: 1371928 URL: http://svn.apache.org/viewvc?rev=1371928&view=rev Log: Improve logging and fix a bug in cmis component Modified: camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISQueryProducer.java camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java Modified: camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java?rev=1371928&r1=1371927&r2=1371928&view=diff ============================================================================== --- camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java (original) +++ camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java Sat Aug 11 12:30:30 2012 @@ -49,6 +49,7 @@ public class CMISProducer extends Defaul public void process(Exchange exchange) throws Exception { CmisObject cmisObject = createNode(exchange); + LOG.debug("Created node with id: {}", cmisObject.getId()); exchange.getOut().setBody(cmisObject.getId()); } Modified: camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISQueryProducer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISQueryProducer.java?rev=1371928&r1=1371927&r2=1371928&view=diff ============================================================================== --- camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISQueryProducer.java (original) +++ camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISQueryProducer.java Sat Aug 11 12:30:30 2012 @@ -43,11 +43,18 @@ public class CMISQueryProducer extends D private List> executeQuery(Exchange exchange) throws Exception { String query = exchange.getIn().getMandatoryBody(String.class); - boolean retrieveContent = exchange.getIn().getHeader(CamelCMISConstants.CAMEL_CMIS_RETRIEVE_CONTENT, - false, Boolean.class); - int readSize = exchange.getIn().getHeader(CamelCMISConstants.CAMEL_CMIS_READ_SIZE, 0, Integer.class); + Boolean retrieveContent = getRetrieveContent(exchange); + Integer readSize = getReadSize(exchange); ItemIterable itemIterable = cmisSessionFacade.executeQuery(query); return cmisSessionFacade.retrieveResult(retrieveContent, readSize, itemIterable); } + + private Integer getReadSize(Exchange exchange) { + return exchange.getIn().getHeader(CamelCMISConstants.CAMEL_CMIS_READ_SIZE, Integer.class); + } + + private Boolean getRetrieveContent(Exchange exchange) { + return exchange.getIn().getHeader(CamelCMISConstants.CAMEL_CMIS_RETRIEVE_CONTENT, Boolean.class); + } } Modified: camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java?rev=1371928&r1=1371927&r2=1371928&view=diff ============================================================================== --- camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java (original) +++ camel/trunk/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java Sat Aug 11 12:30:30 2012 @@ -28,6 +28,7 @@ import org.apache.chemistry.opencmis.cli import org.apache.chemistry.opencmis.client.api.DocumentType; import org.apache.chemistry.opencmis.client.api.Folder; import org.apache.chemistry.opencmis.client.api.ItemIterable; +import org.apache.chemistry.opencmis.client.api.ObjectType; import org.apache.chemistry.opencmis.client.api.OperationContext; import org.apache.chemistry.opencmis.client.api.QueryResult; import org.apache.chemistry.opencmis.client.api.Session; @@ -117,9 +118,11 @@ public class CMISSessionFacade { } //some duplication - public List> retrieveResult(boolean retrieveContent, int readSize, + public List> retrieveResult(Boolean retrieveContent, Integer readSize, ItemIterable itemIterable) { List> result = new ArrayList>(); + boolean queryForContent = retrieveContent != null ? retrieveContent : readContent; + int documentsToRead = readSize != null ? readSize : readCount; int count = 0; int pageNumber = 0; boolean finished = false; @@ -128,14 +131,14 @@ public class CMISSessionFacade { LOG.debug("Processing page {}", pageNumber); for (QueryResult item : currentPage) { Map properties = CMISHelper.propertyDataToMap(item.getProperties()); - if (retrieveContent) { + if (queryForContent) { InputStream inputStream = getContentStreamFor(item); properties.put(CamelCMISConstants.CAMEL_CMIS_CONTENT_STREAM, inputStream); } result.add(properties); count++; - if (count == readSize) { + if (count == documentsToRead) { finished = true; break; } @@ -156,7 +159,9 @@ public class CMISSessionFacade { public Document getDocument(QueryResult queryResult) { if (CamelCMISConstants.CMIS_DOCUMENT - .equals(queryResult.getPropertyValueById(PropertyIds.OBJECT_TYPE_ID))) { + .equals(queryResult.getPropertyValueById(PropertyIds.OBJECT_TYPE_ID)) || + CamelCMISConstants.CMIS_DOCUMENT + .equals(queryResult.getPropertyValueById(PropertyIds.BASE_TYPE_ID))) { String objectId = (String)queryResult.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue(); ObjectIdImpl objectIdImpl = new ObjectIdImpl(objectId); return (org.apache.chemistry.opencmis.client.api.Document)session.getObject(objectIdImpl); @@ -177,7 +182,11 @@ public class CMISSessionFacade { } public boolean isObjectTypeVersionable(String objectType) { - return ((DocumentType)session.getTypeDefinition(objectType)).isVersionable(); + if (CamelCMISConstants.CMIS_DOCUMENT.equals(objectType)) { + ObjectType typeDefinition = session.getTypeDefinition(objectType); + return ((DocumentType)typeDefinition).isVersionable(); + } + return false; } public ContentStream createContentStream(String fileName, byte[] buf, String mimeType) throws Exception {