You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/07/19 11:32:02 UTC

[2/2] camel git commit: Upgrade cmis and fixed CS

Upgrade cmis and fixed CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c1e500b0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c1e500b0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c1e500b0

Branch: refs/heads/master
Commit: c1e500b0965e7a1afdd0ac97b4e4242f981c7e8b
Parents: e9703d3
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Jul 19 11:37:30 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jul 19 11:37:30 2015 +0200

----------------------------------------------------------------------
 .../camel/component/cmis/CMISProducer.java      | 278 +++++++++----------
 .../camel/component/cmis/CMISSessionFacade.java |  35 ++-
 .../camel/component/cmis/CMISProducerTest.java  |  34 +--
 parent/pom.xml                                  |   2 +-
 4 files changed, 177 insertions(+), 172 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c1e500b0/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
index 49e4f80..f3d1b76 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISProducer.java
@@ -43,143 +43,143 @@ import org.slf4j.LoggerFactory;
  * The CMIS producer.
  */
 public class CMISProducer extends DefaultProducer {
-	private static final Logger LOG = LoggerFactory.getLogger(CMISProducer.class);
-	private final CMISSessionFacade cmisSessionFacade;
-
-	public CMISProducer(CMISEndpoint endpoint, CMISSessionFacade cmisSessionFacade) {
-		super(endpoint);
-		this.cmisSessionFacade = cmisSessionFacade;
-	}
-
-	public void process(Exchange exchange) throws Exception {
-		CmisObject cmisObject = createNode(exchange);
-		LOG.debug("Created node with id: {}", cmisObject.getId());
-		exchange.getOut().setBody(cmisObject.getId());
-	}
-
-	private Map<String, Object> filterTypeProperties(Map<String, Object> properties) {
-		Map<String, Object> result = new HashMap<String, Object>(properties.size());
-
-		String objectTypeName = CamelCMISConstants.CMIS_DOCUMENT;
-		if (properties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
-			objectTypeName = (String) properties.get(PropertyIds.OBJECT_TYPE_ID);
-		}
-
-		Set<String> types = new HashSet<String>();
-		types.addAll(cmisSessionFacade.getPropertiesFor(objectTypeName));
-
-		if (cmisSessionFacade.supportsSecondaries() && properties.containsKey(PropertyIds.SECONDARY_OBJECT_TYPE_IDS)) {
-			@SuppressWarnings("unchecked")
-			Collection<String> secondaryTypes = (Collection<String>) properties.get(PropertyIds.SECONDARY_OBJECT_TYPE_IDS);
-			for (String secondaryType : secondaryTypes) {
-				types.addAll(cmisSessionFacade.getPropertiesFor(secondaryType));
-			}
-		}
-
-		for (Map.Entry<String, Object> entry : properties.entrySet()) {
-			if (types.contains(entry.getKey())) {
-				result.put(entry.getKey(), entry.getValue());
-			}
-		}
-		return result;
-	}
-
-	private CmisObject createNode(Exchange exchange) throws Exception {
-		validateRequiredHeader(exchange, PropertyIds.NAME);
-
-		Message message = exchange.getIn();
-		String parentFolderPath = parentFolderPathFor(message);
-		Folder parentFolder = getFolderOnPath(exchange, parentFolderPath);
-		Map<String, Object> cmisProperties = filterTypeProperties(message.getHeaders());
-
-		if (isDocument(exchange)) {
-			String fileName = message.getHeader(PropertyIds.NAME, String.class);
-			String mimeType = getMimeType(message);
-			byte[] buf = getBodyData(message);
-			ContentStream contentStream = cmisSessionFacade.createContentStream(fileName, buf, mimeType);
-			return storeDocument(parentFolder, cmisProperties, contentStream);
-		} else if (isFolder(message)) {
-			return storeFolder(parentFolder, cmisProperties);
-		} else { // other types
-			return storeDocument(parentFolder, cmisProperties, null);
-		}
-	}
-
-	private Folder getFolderOnPath(Exchange exchange, String path) {
-		try {
-			return (Folder) cmisSessionFacade.getObjectByPath(path);
-		} catch (CmisObjectNotFoundException e) {
-			throw new RuntimeExchangeException("Path not found " + path, exchange, e);
-		}
-	}
-
-	private String parentFolderPathFor(Message message) {
-		String customPath = message.getHeader(CamelCMISConstants.CMIS_FOLDER_PATH, String.class);
-		if (customPath != null) {
-			return customPath;
-		}
-
-		if (isFolder(message)) {
-			String path = (String) message.getHeader(PropertyIds.PATH);
-			String name = (String) message.getHeader(PropertyIds.NAME);
-			if (path != null && path.length() > name.length()) {
-				return path.substring(0, path.length() - name.length());
-			}
-		}
-
-		return "/";
-	}
-
-	private boolean isFolder(Message message) {
-		String baseTypeId = message.getHeader(PropertyIds.OBJECT_TYPE_ID, String.class);
-		if (baseTypeId != null) {
-			return CamelCMISConstants.CMIS_FOLDER.equals(cmisSessionFacade.getCMISTypeFor(baseTypeId));
-		}
-		return message.getBody() == null;
-	}
-
-	private Folder storeFolder(Folder parentFolder, Map<String, Object> cmisProperties) {
-		if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
-			cmisProperties.put(PropertyIds.OBJECT_TYPE_ID, CamelCMISConstants.CMIS_FOLDER);
-		}
-		LOG.debug("Creating folder with properties: {}", cmisProperties);
-		return parentFolder.createFolder(cmisProperties);
-	}
-
-	private Document storeDocument(Folder parentFolder, Map<String, Object> cmisProperties, ContentStream contentStream) {
-		if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
-			cmisProperties.put(PropertyIds.OBJECT_TYPE_ID, CamelCMISConstants.CMIS_DOCUMENT);
-		}
-
-		VersioningState versioningState = VersioningState.NONE;
-		if (cmisSessionFacade.isObjectTypeVersionable((String) cmisProperties.get(PropertyIds.OBJECT_TYPE_ID))) {
-			versioningState = VersioningState.MAJOR;
-		}
-		LOG.debug("Creating document with properties: {}", cmisProperties);
-		return parentFolder.createDocument(cmisProperties, contentStream, versioningState);
-	}
-
-	private void validateRequiredHeader(Exchange exchange, String name) throws NoSuchHeaderException {
-		ExchangeHelper.getMandatoryHeader(exchange, name, String.class);
-	}
-
-	private boolean isDocument(Exchange exchange) {
-		String baseTypeId = exchange.getIn().getHeader(PropertyIds.OBJECT_TYPE_ID, String.class);
-		if (baseTypeId != null) {
-			return CamelCMISConstants.CMIS_DOCUMENT.equals(cmisSessionFacade.getCMISTypeFor(baseTypeId));
-		}
-		return exchange.getIn().getBody() != null;
-	}
-
-	private byte[] getBodyData(Message message) {
-		return message.getBody(byte[].class);
-	}
-
-	private String getMimeType(Message message) throws NoSuchHeaderException {
-		String mimeType = message.getHeader(PropertyIds.CONTENT_STREAM_MIME_TYPE, String.class);
-		if (mimeType == null) {
-			mimeType = MessageHelper.getContentType(message);
-		}
-		return mimeType;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(CMISProducer.class);
+    private final CMISSessionFacade cmisSessionFacade;
+
+    public CMISProducer(CMISEndpoint endpoint, CMISSessionFacade cmisSessionFacade) {
+        super(endpoint);
+        this.cmisSessionFacade = cmisSessionFacade;
+    }
+
+    public void process(Exchange exchange) throws Exception {
+        CmisObject cmisObject = createNode(exchange);
+        LOG.debug("Created node with id: {}", cmisObject.getId());
+        exchange.getOut().setBody(cmisObject.getId());
+    }
+
+    private Map<String, Object> filterTypeProperties(Map<String, Object> properties) {
+        Map<String, Object> result = new HashMap<String, Object>(properties.size());
+
+        String objectTypeName = CamelCMISConstants.CMIS_DOCUMENT;
+        if (properties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
+            objectTypeName = (String) properties.get(PropertyIds.OBJECT_TYPE_ID);
+        }
+
+        Set<String> types = new HashSet<String>();
+        types.addAll(cmisSessionFacade.getPropertiesFor(objectTypeName));
+
+        if (cmisSessionFacade.supportsSecondaries() && properties.containsKey(PropertyIds.SECONDARY_OBJECT_TYPE_IDS)) {
+            @SuppressWarnings("unchecked")
+            Collection<String> secondaryTypes = (Collection<String>) properties.get(PropertyIds.SECONDARY_OBJECT_TYPE_IDS);
+            for (String secondaryType : secondaryTypes) {
+                types.addAll(cmisSessionFacade.getPropertiesFor(secondaryType));
+            }
+        }
+
+        for (Map.Entry<String, Object> entry : properties.entrySet()) {
+            if (types.contains(entry.getKey())) {
+                result.put(entry.getKey(), entry.getValue());
+            }
+        }
+        return result;
+    }
+
+    private CmisObject createNode(Exchange exchange) throws Exception {
+        validateRequiredHeader(exchange, PropertyIds.NAME);
+
+        Message message = exchange.getIn();
+        String parentFolderPath = parentFolderPathFor(message);
+        Folder parentFolder = getFolderOnPath(exchange, parentFolderPath);
+        Map<String, Object> cmisProperties = filterTypeProperties(message.getHeaders());
+
+        if (isDocument(exchange)) {
+            String fileName = message.getHeader(PropertyIds.NAME, String.class);
+            String mimeType = getMimeType(message);
+            byte[] buf = getBodyData(message);
+            ContentStream contentStream = cmisSessionFacade.createContentStream(fileName, buf, mimeType);
+            return storeDocument(parentFolder, cmisProperties, contentStream);
+        } else if (isFolder(message)) {
+            return storeFolder(parentFolder, cmisProperties);
+        } else { // other types
+            return storeDocument(parentFolder, cmisProperties, null);
+        }
+    }
+
+    private Folder getFolderOnPath(Exchange exchange, String path) {
+        try {
+            return (Folder) cmisSessionFacade.getObjectByPath(path);
+        } catch (CmisObjectNotFoundException e) {
+            throw new RuntimeExchangeException("Path not found " + path, exchange, e);
+        }
+    }
+
+    private String parentFolderPathFor(Message message) {
+        String customPath = message.getHeader(CamelCMISConstants.CMIS_FOLDER_PATH, String.class);
+        if (customPath != null) {
+            return customPath;
+        }
+
+        if (isFolder(message)) {
+            String path = (String) message.getHeader(PropertyIds.PATH);
+            String name = (String) message.getHeader(PropertyIds.NAME);
+            if (path != null && path.length() > name.length()) {
+                return path.substring(0, path.length() - name.length());
+            }
+        }
+
+        return "/";
+    }
+
+    private boolean isFolder(Message message) {
+        String baseTypeId = message.getHeader(PropertyIds.OBJECT_TYPE_ID, String.class);
+        if (baseTypeId != null) {
+            return CamelCMISConstants.CMIS_FOLDER.equals(cmisSessionFacade.getCMISTypeFor(baseTypeId));
+        }
+        return message.getBody() == null;
+    }
+
+    private Folder storeFolder(Folder parentFolder, Map<String, Object> cmisProperties) {
+        if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
+            cmisProperties.put(PropertyIds.OBJECT_TYPE_ID, CamelCMISConstants.CMIS_FOLDER);
+        }
+        LOG.debug("Creating folder with properties: {}", cmisProperties);
+        return parentFolder.createFolder(cmisProperties);
+    }
+
+    private Document storeDocument(Folder parentFolder, Map<String, Object> cmisProperties, ContentStream contentStream) {
+        if (!cmisProperties.containsKey(PropertyIds.OBJECT_TYPE_ID)) {
+            cmisProperties.put(PropertyIds.OBJECT_TYPE_ID, CamelCMISConstants.CMIS_DOCUMENT);
+        }
+
+        VersioningState versioningState = VersioningState.NONE;
+        if (cmisSessionFacade.isObjectTypeVersionable((String) cmisProperties.get(PropertyIds.OBJECT_TYPE_ID))) {
+            versioningState = VersioningState.MAJOR;
+        }
+        LOG.debug("Creating document with properties: {}", cmisProperties);
+        return parentFolder.createDocument(cmisProperties, contentStream, versioningState);
+    }
+
+    private void validateRequiredHeader(Exchange exchange, String name) throws NoSuchHeaderException {
+        ExchangeHelper.getMandatoryHeader(exchange, name, String.class);
+    }
+
+    private boolean isDocument(Exchange exchange) {
+        String baseTypeId = exchange.getIn().getHeader(PropertyIds.OBJECT_TYPE_ID, String.class);
+        if (baseTypeId != null) {
+            return CamelCMISConstants.CMIS_DOCUMENT.equals(cmisSessionFacade.getCMISTypeFor(baseTypeId));
+        }
+        return exchange.getIn().getBody() != null;
+    }
+
+    private byte[] getBodyData(Message message) {
+        return message.getBody(byte[].class);
+    }
+
+    private String getMimeType(Message message) throws NoSuchHeaderException {
+        String mimeType = message.getHeader(PropertyIds.CONTENT_STREAM_MIME_TYPE, String.class);
+        if (mimeType == null) {
+            mimeType = MessageHelper.getContentType(message);
+        }
+        return mimeType;
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/c1e500b0/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java
----------------------------------------------------------------------
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java
index 34d6a4a..0006c2b 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISSessionFacade.java
@@ -18,7 +18,11 @@ package org.apache.camel.component.cmis;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -169,9 +173,9 @@ public class CMISSessionFacade {
 
     public Document getDocument(QueryResult queryResult) {
         if (CamelCMISConstants.CMIS_DOCUMENT.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();
-            return (org.apache.chemistry.opencmis.client.api.Document)session.getObject(objectId);
+                || CamelCMISConstants.CMIS_DOCUMENT.equals(queryResult.getPropertyValueById(PropertyIds.BASE_TYPE_ID))) {
+            String objectId = (String) queryResult.getPropertyById(PropertyIds.OBJECT_ID).getFirstValue();
+            return (org.apache.chemistry.opencmis.client.api.Document) session.getObject(objectId);
         }
         return null;
     }
@@ -191,21 +195,22 @@ public class CMISSessionFacade {
     public boolean isObjectTypeVersionable(String objectType) {
         if (CamelCMISConstants.CMIS_DOCUMENT.equals(getCMISTypeFor(objectType))) {
             ObjectType typeDefinition = session.getTypeDefinition(objectType);
-            return ((DocumentType)typeDefinition).isVersionable();
+            return ((DocumentType) typeDefinition).isVersionable();
         }
         return false;
     }
 
-	public boolean supportsSecondaries() {
-		if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0)
-			return false;
-		for (ObjectType type : session.getTypeChildren(null, false)) {
-			if (BaseTypeId.CMIS_SECONDARY.value().equals(type.getId())) {
-				return true;
-			}
-		}
-		return false;
-	}
+    public boolean supportsSecondaries() {
+        if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) {
+            return false;
+        }
+        for (ObjectType type : session.getTypeChildren(null, false)) {
+            if (BaseTypeId.CMIS_SECONDARY.value().equals(type.getId())) {
+                return true;
+            }
+        }
+        return false;
+    }
 
     public ContentStream createContentStream(String fileName, byte[] buf, String mimeType) throws Exception {
         return buf != null ? session.getObjectFactory()

http://git-wip-us.apache.org/repos/asf/camel/blob/c1e500b0/components/camel-cmis/src/test/java/org/apache/camel/component/cmis/CMISProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cmis/src/test/java/org/apache/camel/component/cmis/CMISProducerTest.java b/components/camel-cmis/src/test/java/org/apache/camel/component/cmis/CMISProducerTest.java
index 6cb0445..06e1cab 100644
--- a/components/camel-cmis/src/test/java/org/apache/camel/component/cmis/CMISProducerTest.java
+++ b/components/camel-cmis/src/test/java/org/apache/camel/component/cmis/CMISProducerTest.java
@@ -65,7 +65,7 @@ public class CMISProducerTest extends CMISTestSupport {
         String newNodeId = exchange.getOut().getBody(String.class);
 
         CmisObject cmisObject = retrieveCMISObjectByIdFromServer(newNodeId);
-        Document doc = (Document)cmisObject;
+        Document doc = (Document) cmisObject;
         assertEquals("text/plain", doc.getPropertyValue(PropertyIds.CONTENT_STREAM_MIME_TYPE));
     }
 
@@ -94,7 +94,7 @@ public class CMISProducerTest extends CMISTestSupport {
         assertNotNull(newNodeId);
 
         CmisObject cmisObject = retrieveCMISObjectByIdFromServer(newNodeId);
-        Document doc = (Document)cmisObject;
+        Document doc = (Document) cmisObject;
         assertEquals("cmis:document", doc.getPropertyValue(PropertyIds.OBJECT_TYPE_ID));
     }
 
@@ -127,24 +127,24 @@ public class CMISProducerTest extends CMISTestSupport {
                 newNode.getPropertyValue(PropertyIds.CONTENT_STREAM_MIME_TYPE));
     }
 
-	@Test
-	public void cmisSecondaryTypePropertiesAreStored() throws Exception {
+    @Test
+    public void cmisSecondaryTypePropertiesAreStored() throws Exception {
 
-		List<String> secondaryTypes = Arrays.asList("MySecondaryType");
+        List<String> secondaryTypes = Arrays.asList("MySecondaryType");
 
-		Exchange exchange = createExchangeWithInBody("Some content to be store");
-		exchange.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "text/plain; charset=UTF-8");
-		exchange.getIn().getHeaders().put(PropertyIds.NAME, "test.txt");
-		exchange.getIn().getHeaders().put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, secondaryTypes);
-		exchange.getIn().getHeaders().put("SecondaryStringProp", "secondaryTypePropValue");
+        Exchange exchange = createExchangeWithInBody("Some content to be store");
+        exchange.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "text/plain; charset=UTF-8");
+        exchange.getIn().getHeaders().put(PropertyIds.NAME, "test.txt");
+        exchange.getIn().getHeaders().put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, secondaryTypes);
+        exchange.getIn().getHeaders().put("SecondaryStringProp", "secondaryTypePropValue");
 
-		template.send(exchange);
-		String newNodeId = exchange.getOut().getBody(String.class);
-		CmisObject newNode = retrieveCMISObjectByIdFromServer(newNodeId);
+        template.send(exchange);
+        String newNodeId = exchange.getOut().getBody(String.class);
+        CmisObject newNode = retrieveCMISObjectByIdFromServer(newNodeId);
 
-		assertEquals(1, newNode.getSecondaryTypes().size());
-		assertEquals("secondaryTypePropValue", newNode.getPropertyValue("SecondaryStringProp"));
-	}
+        assertEquals(1, newNode.getSecondaryTypes().size());
+        assertEquals("secondaryTypePropValue", newNode.getPropertyValue("SecondaryStringProp"));
+    }
 
     @Test(expected = ResolveEndpointFailedException.class)
     public void failConnectingToNonExistingRepository() throws Exception {
@@ -171,7 +171,7 @@ public class CMISProducerTest extends CMISTestSupport {
         template.send(exchange);
         String newNodeId = exchange.getOut().getBody(String.class);
 
-        Document document = (Document)retrieveCMISObjectByIdFromServer(newNodeId);
+        Document document = (Document) retrieveCMISObjectByIdFromServer(newNodeId);
         String documentFullPath = document.getPaths().get(0);
         assertEquals(existingFolderStructure + "/test.file", documentFullPath);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c1e500b0/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index d826219..0e001d6 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -90,7 +90,7 @@
     <cglib-version>2.2</cglib-version>
     <chunk-templates-version>3.0.0</chunk-templates-version>
     <classmate-version>1.0.0</classmate-version>
-    <cmis-version>0.8.0</cmis-version>
+    <cmis-version>0.13.0</cmis-version>
     <cometd-bayeux-version>6.1.11</cometd-bayeux-version>
     <cometd-java-client-version>2.4.3</cometd-java-client-version>
     <cometd-java-server-bundle-version>2.3.1_2</cometd-java-server-bundle-version>