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<Map<String, Object>> 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<QueryResult> 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<Map<String, Object>> retrieveResult(boolean retrieveContent, 
int readSize,
+    public List<Map<String, Object>> retrieveResult(Boolean retrieveContent, 
Integer readSize,
                                                     ItemIterable<QueryResult> 
itemIterable) {
         List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
+        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<String, Object> 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 {


Reply via email to