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 2016/11/25 09:04:25 UTC

[11/20] camel git commit: Refactor API Facade to avoid use of ByteArrays because it causes OOM. Refactor DTO package members to be dumb DTOs.

Refactor API Facade to avoid use of ByteArrays because it causes OOM.
Refactor DTO package members to be dumb DTOs.


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

Branch: refs/heads/camel-2.18.x
Commit: 236b7f13fc305755f0fe5fbbae0115ae2a9f0665
Parents: 99f70ac
Author: Edoardo Causarano <ed...@gmail.com>
Authored: Thu Nov 17 14:12:31 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Nov 25 10:01:34 2016 +0100

----------------------------------------------------------------------
 .../dropbox/core/DropboxAPIFacade.java          | 159 +++++++++----------
 .../component/dropbox/dto/DropboxDelResult.java |  23 ++-
 .../dropbox/dto/DropboxFileDownloadResult.java  |  44 ++---
 .../dropbox/dto/DropboxFileUploadResult.java    |  50 +++---
 .../dropbox/dto/DropboxMoveResult.java          |  33 +++-
 .../component/dropbox/dto/DropboxResult.java    |  11 +-
 .../dropbox/dto/DropboxSearchResult.java        |  33 ++--
 .../DropboxScheduledPollGetConsumer.java        |  25 ++-
 .../DropboxScheduledPollSearchConsumer.java     |  17 +-
 .../producer/DropboxDelProducer.java            |  13 +-
 .../producer/DropboxGetProducer.java            |  26 ++-
 .../producer/DropboxMoveProducer.java           |  10 +-
 .../producer/DropboxPutProducer.java            |  27 +++-
 .../producer/DropboxSearchProducer.java         |  17 +-
 .../dropbox/util/DropboxResultHeader.java       |   2 +-
 .../DropboxConsumerSearchQueryTest.java         |   2 +-
 .../consumer/DropboxConsumerSearchTest.java     |   2 +-
 .../DropboxProducerSearchQueryTest.java         |   2 +-
 .../producer/DropboxProducerSearchTest.java     |   2 +-
 19 files changed, 278 insertions(+), 220 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/core/DropboxAPIFacade.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/core/DropboxAPIFacade.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/core/DropboxAPIFacade.java
index 9edfcc6..0176d97 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/core/DropboxAPIFacade.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/core/DropboxAPIFacade.java
@@ -16,32 +16,25 @@
  */
 package org.apache.camel.component.dropbox.core;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.dropbox.core.DbxClient;
 import com.dropbox.core.DbxEntry;
 import com.dropbox.core.DbxException;
 import com.dropbox.core.DbxWriteMode;
-import org.apache.camel.component.dropbox.dto.DropboxDelResult;
-import org.apache.camel.component.dropbox.dto.DropboxFileDownloadResult;
-import org.apache.camel.component.dropbox.dto.DropboxFileUploadResult;
-import org.apache.camel.component.dropbox.dto.DropboxMoveResult;
-import org.apache.camel.component.dropbox.dto.DropboxResult;
-import org.apache.camel.component.dropbox.dto.DropboxSearchResult;
+import org.apache.camel.Exchange;
+import org.apache.camel.component.dropbox.dto.*;
 import org.apache.camel.component.dropbox.util.DropboxException;
 import org.apache.camel.component.dropbox.util.DropboxResultCode;
 import org.apache.camel.component.dropbox.util.DropboxUploadMode;
+import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.*;
 
 import static org.apache.camel.component.dropbox.util.DropboxConstants.DROPBOX_FILE_SEPARATOR;
 
@@ -50,22 +43,20 @@ public final class DropboxAPIFacade {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxAPIFacade.class);
 
-    private static DropboxAPIFacade instance;
     private static DbxClient client;
+    private final Exchange exchange;
 
-    private DropboxAPIFacade() { }
+    private DropboxAPIFacade(Exchange exchange) {
+        this.exchange = exchange;
+    }
 
     /**
      * Return a singleton instance of this class
      * @param client the DbxClient performing dropbox low level operations
      * @return the singleton instance of this class
      */
-    public static DropboxAPIFacade getInstance(DbxClient client) {
-        if (instance == null) {
-            instance = new DropboxAPIFacade();
-            DropboxAPIFacade.client = client;
-        }
-        return instance;
+    public static DropboxAPIFacade getInstance(DbxClient client, Exchange exchange) {
+        return new DropboxAPIFacade(exchange);
     }
 
     /**
@@ -79,12 +70,10 @@ public final class DropboxAPIFacade {
      * @return a DropboxResult object reporting for each remote path the result of the operation.
      * @throws DropboxException
      */
-    public DropboxResult put(String localPath, String remotePath, DropboxUploadMode mode) throws DropboxException {
-        DropboxResult result = new DropboxFileUploadResult();
-        //a map representing for each path the result of the put operation
-        Map<String, DropboxResultCode> resultEntries = null;
+    public DropboxFileUploadResult put(String localPath, String remotePath, DropboxUploadMode mode) throws DropboxException {
         //in case the remote path is not specified, the remotePath = localPath
         String dropboxPath = remotePath == null ? localPath : remotePath;
+
         DbxEntry entry = null;
         try {
             entry = DropboxAPIFacade.client.getMetadata(dropboxPath);
@@ -104,19 +93,17 @@ public final class DropboxAPIFacade {
                     dropboxPath = dropboxPath + fileLocalPath.getName();
                 }
             }
-            resultEntries = new HashMap<String, DropboxResultCode>(1);
+
+            DropboxFileUploadResult result;
             try {
                 DbxEntry.File uploadedFile = putSingleFile(fileLocalPath, dropboxPath, mode);
                 if (uploadedFile == null) {
-                    resultEntries.put(dropboxPath, DropboxResultCode.KO);
+                    result = new DropboxFileUploadResult(dropboxPath, DropboxResultCode.KO);
                 } else {
-                    resultEntries.put(dropboxPath, DropboxResultCode.OK);
+                    result = new DropboxFileUploadResult(dropboxPath, DropboxResultCode.OK);
                 }
-
             } catch (Exception ex) {
-                resultEntries.put(dropboxPath, DropboxResultCode.KO);
-            } finally {
-                result.setResultEntries(resultEntries);
+                result = new DropboxFileUploadResult(dropboxPath, DropboxResultCode.KO);
             }
             return result;
         } else {       //verify uploading of a list of files inside a dir
@@ -132,10 +119,11 @@ public final class DropboxAPIFacade {
             String oldDropboxPath = dropboxPath;
             //list all files in a dir
             Collection<File> listFiles = FileUtils.listFiles(fileLocalPath, null, true);
-            if (listFiles == null || listFiles.isEmpty()) {
+            if (listFiles.isEmpty()) {
                 throw new DropboxException(localPath + " doesn't contain any files");
             }
-            resultEntries = new HashMap<String, DropboxResultCode>(listFiles.size());
+
+            HashMap<String, DropboxResultCode> resultMap = new HashMap<String, DropboxResultCode>(listFiles.size());
             for (File file : listFiles) {
                 String absPath = file.getAbsolutePath();
                 int indexRemainingPath = localPath.length();
@@ -148,25 +136,24 @@ public final class DropboxAPIFacade {
                     LOG.info("uploading:" + fileLocalPath + "," + dropboxPath);
                     DbxEntry.File uploadedFile = putSingleFile(file, dropboxPath, mode);
                     if (uploadedFile == null) {
-                        resultEntries.put(dropboxPath, DropboxResultCode.KO);
+                        resultMap.put(dropboxPath, DropboxResultCode.KO);
                     } else {
-                        resultEntries.put(dropboxPath, DropboxResultCode.OK);
+                        resultMap.put(dropboxPath, DropboxResultCode.OK);
                     }
                 } catch (Exception ex) {
-                    resultEntries.put(dropboxPath, DropboxResultCode.KO);
+                    resultMap.put(dropboxPath, DropboxResultCode.KO);
                 }
                 dropboxPath = oldDropboxPath;
             }
-            result.setResultEntries(resultEntries);
-            return result;
+            return new DropboxFileUploadResult(resultMap);
         }
     }
 
     private DbxEntry.File putSingleFile(File inputFile, String dropboxPath, DropboxUploadMode mode) throws Exception {
         FileInputStream inputStream = new FileInputStream(inputFile);
-        DbxEntry.File uploadedFile = null;
+        DbxEntry.File uploadedFile;
         try {
-            DbxWriteMode uploadMode = null;
+            DbxWriteMode uploadMode;
             if (mode == DropboxUploadMode.force) {
                 uploadMode = DbxWriteMode.force();
             } else {
@@ -189,28 +176,25 @@ public final class DropboxAPIFacade {
      * @return a DropboxResult object containing all the files found.
      * @throws DropboxException
      */
-    public DropboxResult search(String remotePath, String query) throws DropboxException {
-        DropboxResult result = new DropboxSearchResult();
-        DbxEntry.WithChildren listing = null;
+    public DropboxSearchResult search(String remotePath, String query) throws DropboxException {
+        DbxEntry.WithChildren listing;
         if (query == null) {
             LOG.info("search no query");
             try {
                 listing = DropboxAPIFacade.client.getMetadataWithChildren(remotePath);
+                return new DropboxSearchResult(listing.children);
             } catch (DbxException e) {
                 throw new DropboxException(remotePath + " does not exist or can't obtain metadata");
             }
-            result.setResultEntries(listing.children);
         } else {
             LOG.info("search by query:" + query);
-            List<DbxEntry> entries = null;
             try {
-                entries = DropboxAPIFacade.client.searchFileAndFolderNames(remotePath, query);
+                List<DbxEntry> entries = DropboxAPIFacade.client.searchFileAndFolderNames(remotePath, query);
+                return new DropboxSearchResult(entries);
             } catch (DbxException e) {
                 throw new DropboxException(remotePath + " does not exist or can't obtain metadata");
             }
-            result.setResultEntries(entries);
         }
-        return result;
     }
 
     /**
@@ -220,16 +204,13 @@ public final class DropboxAPIFacade {
      * @return a DropboxResult object with the result of the delete operation.
      * @throws DropboxException
      */
-    public DropboxResult del(String remotePath) throws DropboxException {
-        DropboxResult result = null;
+    public DropboxDelResult del(String remotePath) throws DropboxException {
         try {
             DropboxAPIFacade.client.delete(remotePath);
         } catch (DbxException e) {
             throw new DropboxException(remotePath + " does not exist or can't obtain metadata");
         }
-        result = new DropboxDelResult();
-        result.setResultEntries(remotePath);
-        return result;
+        return new DropboxDelResult(remotePath);
     }
 
     /**
@@ -239,16 +220,13 @@ public final class DropboxAPIFacade {
      * @return a DropboxResult object with the result of the move operation.
      * @throws DropboxException
      */
-    public DropboxResult move(String remotePath, String newRemotePath) throws DropboxException {
-        DropboxResult result = null;
+    public DropboxMoveResult move(String remotePath, String newRemotePath) throws DropboxException {
         try {
             DropboxAPIFacade.client.move(remotePath, newRemotePath);
+            return new DropboxMoveResult(remotePath, newRemotePath);
         } catch (DbxException e) {
             throw new DropboxException(remotePath + " does not exist or can't obtain metadata");
         }
-        result = new DropboxMoveResult();
-        result.setResultEntries(remotePath + "-" + newRemotePath);
-        return result;
     }
 
     /**
@@ -257,58 +235,65 @@ public final class DropboxAPIFacade {
      * @return a DropboxResult object with the content (ByteArrayOutputStream) of every files inside the remote path.
      * @throws DropboxException
      */
-    public DropboxResult get(String remotePath) throws DropboxException {
-        DropboxResult result = new DropboxFileDownloadResult();
-        //a map representing for each path the result of the baos
-        Map<String, ByteArrayOutputStream> resultEntries = new HashMap<String, ByteArrayOutputStream>();
-        //iterate from the remotePath
-        downloadFilesInFolder(remotePath, resultEntries);
-        //put the map of baos as result
-        result.setResultEntries(resultEntries);
-        return result;
+    public DropboxFileDownloadResult get(String remotePath) throws DropboxException {
+        return new DropboxFileDownloadResult(downloadFilesInFolder(remotePath));
+    }
+
+
+    public boolean isDirectory(String path) throws DropboxException {
+        try {
+            DbxEntry.WithChildren listing = DropboxAPIFacade.client.getMetadataWithChildren(path);
+            return listing.children != null;
+        } catch (DbxException e) {
+            throw new DropboxException(path + " does not exist or can't obtain metadata");
+        }
     }
 
-    private void downloadFilesInFolder(String path, Map<String, ByteArrayOutputStream> resultEntries) throws DropboxException {
-        DbxEntry.WithChildren listing = null;
+
+    private Map<String, OutputStream> downloadFilesInFolder(String path) throws DropboxException {
+        DbxEntry.WithChildren listing;
         try {
             listing = DropboxAPIFacade.client.getMetadataWithChildren(path);
         } catch (DbxException e) {
             throw new DropboxException(path + " does not exist or can't obtain metadata");
         }
+
         if (listing.children == null) {
             LOG.info("downloading a single file...");
-            downloadSingleFile(path, resultEntries);
-            return;
+            Map.Entry<String, OutputStream> entry = downloadSingleFile(path);
+            return Collections.singletonMap(entry.getKey(), entry.getValue());
         }
+        Map<String, OutputStream> result = new HashMap<String, OutputStream>();
         for (DbxEntry entry : listing.children) {
             if (entry.isFile()) {
                 try {
-                    //get the baos of the file
-                    downloadSingleFile(entry.path, resultEntries);
+                    Map.Entry<String, OutputStream> singleFile = downloadSingleFile(entry.path);
+                    result.put(singleFile.getKey(), singleFile.getValue());
                 } catch (DropboxException e) {
                     LOG.warn("can't download from " + entry.path);
                 }
             } else {
-                //iterate on folder
-                downloadFilesInFolder(entry.path, resultEntries);
+                Map<String, OutputStream> filesInFolder = downloadFilesInFolder(entry.path);
+                result.putAll(filesInFolder);
             }
         }
+        return result;
     }
 
-    private void downloadSingleFile(String path, Map<String, ByteArrayOutputStream> resultEntries) throws DropboxException {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        DbxEntry.File downloadedFile;
+    private Map.Entry<String, OutputStream> downloadSingleFile(String path) throws DropboxException {
         try {
-            downloadedFile = DropboxAPIFacade.client.getFile(path, null, baos);
+            OutputStreamBuilder target = OutputStreamBuilder.withExchange(exchange);
+            DbxEntry.File downloadedFile = DropboxAPIFacade.client.getFile(path, null, target);
+            if (downloadedFile != null) {
+                LOG.info("downloaded path:" + path);
+                return new AbstractMap.SimpleEntry<String, OutputStream>(path, target);
+            } else {
+                return null;
+            }
         } catch (DbxException e) {
             throw new DropboxException(path + " does not exist or can't obtain metadata");
         } catch (IOException e) {
             throw new DropboxException(path + " can't obtain a stream");
         }
-        if (downloadedFile != null) {
-            resultEntries.put(path, baos);
-            LOG.info("downloaded path:" + path + " - baos size:" + baos.size());
-        }
-
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxDelResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxDelResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxDelResult.java
index 1963c11..dc9cb12 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxDelResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxDelResult.java
@@ -19,17 +19,16 @@ package org.apache.camel.component.dropbox.dto;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
-public class DropboxDelResult extends DropboxResult {
-    
-    /**
-     * Object payload contained in Exchange
-     * Exchange Body is populated with the remote path deleted on dropbox.
-     * @param exchange
-     */
-    @Override
-    public void populateExchange(Exchange exchange) {
-        String remotePath = (String)resultEntries;
-        exchange.getIn().setHeader(DropboxResultHeader.DELETED_PATH.name(), remotePath);
-        exchange.getIn().setBody(remotePath);
+public class DropboxDelResult {
+
+    private final String entry;
+
+    public DropboxDelResult(String entry) {
+        this.entry = entry;
     }
+
+    public String getEntry() {
+        return entry;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileDownloadResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileDownloadResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileDownloadResult.java
index 394b05d..cea9933 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileDownloadResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileDownloadResult.java
@@ -17,43 +17,23 @@
 package org.apache.camel.component.dropbox.dto;
 
 import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
-public class DropboxFileDownloadResult extends DropboxResult {
+public class DropboxFileDownloadResult {
 
-    /**
-     * Object payload contained in Exchange
-     * In case of a single file Exchange Header is populated with the name of the remote path downloaded
-     * In case of a multiple files Exchange Header is populated with the name of the remote paths downloaded
-     * In case of a single file Exchange Body is populated with the ByteArrayOutputStream downloaded from dropbox.
-     * In case of multiple files Exchange Body is populated with a map containing as key the remote path
-     * and as value the linked ByteArrayOutputStream
-     * @param exchange
-     */
-    @Override
-    public void populateExchange(Exchange exchange) {
-        //in case we have only one baos put it directly in body
-        Map<String, ByteArrayOutputStream> map = (Map<String, ByteArrayOutputStream>)resultEntries;
-        if (map.size() == 1) {
-            //set info in exchange
-            String pathExtracted = null;
-            ByteArrayOutputStream baosExtracted = null;
-            for (Map.Entry<String, ByteArrayOutputStream> entry : map.entrySet()) {
-                pathExtracted = entry.getKey();
-                baosExtracted = entry.getValue();
-            }
-            exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILE.name(), pathExtracted);
-            exchange.getIn().setBody(baosExtracted);
-        } else {
-            StringBuffer pathsExtracted = new StringBuffer();
-            for (Map.Entry<String, ByteArrayOutputStream> entry : map.entrySet()) {
-                pathsExtracted.append(entry.getKey() + "\n");
-            }
-            exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILES.name(), pathsExtracted.toString());
-            exchange.getIn().setBody(map);
-        }
+    private final Map<String, OutputStream> entries;
+
+    public DropboxFileDownloadResult(Map<String, OutputStream> entries) {
+        this.entries = entries;
+    }
+
+    public Map<String, OutputStream> getEntries() {
+        return Collections.unmodifiableMap(entries);
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileUploadResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileUploadResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileUploadResult.java
index 5774558..11868f9 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileUploadResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxFileUploadResult.java
@@ -16,44 +16,30 @@
  */
 package org.apache.camel.component.dropbox.dto;
 
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
 import org.apache.camel.component.dropbox.util.DropboxResultCode;
 import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
 
-public class DropboxFileUploadResult extends DropboxResult {
-
-    /**
-     * Object payload contained in Exchange
-     * In case of a single file Exchange Header is populated with the name of the remote path uploaded
-     * In case of a multiple files Exchange Header is populated with the name of the remote paths uploaded
-     * In case of a single file Exchange Body is populated with the result code of the upload operation for the remote path.
-     * In case of multiple files Exchange Body is populated with a map containing as key the remote path uploaded
-     * and as value the result code of the upload operation
-     * @param exchange
-     */
-    @Override
-    public void populateExchange(Exchange exchange) {
-        Map<String, DropboxResultCode> map = (Map<String, DropboxResultCode>)resultEntries;
-        if (map.size() == 1) {
-            //set info in exchange
-            String pathExtracted = null;
-            DropboxResultCode codeExtracted = null;
-            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
-                pathExtracted = entry.getKey();
-                codeExtracted = entry.getValue();
-            }
-            exchange.getIn().setHeader(DropboxResultHeader.UPLOADED_FILE.name(), pathExtracted);
-            exchange.getIn().setBody(codeExtracted.name());
-        } else {
-            StringBuffer pathsExtracted = new StringBuffer();
-            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
-                pathsExtracted.append(entry.getKey() + "\n");
-            }
-            exchange.getIn().setHeader(DropboxResultHeader.UPLOADED_FILES.name(), pathsExtracted.toString());
-            exchange.getIn().setBody(map);
-        }
+public class DropboxFileUploadResult {
+
+
+    private final Map<String, DropboxResultCode> results;
+
+    public DropboxFileUploadResult(Map<String, DropboxResultCode> results) {
+        this.results = new HashMap<String, DropboxResultCode>(results);
+    }
+
+    public DropboxFileUploadResult(String path, DropboxResultCode resultCode) {
+        this.results = Collections.singletonMap(path, resultCode);
+    }
+
+    public Map<String, DropboxResultCode> getResults() {
+        return Collections.unmodifiableMap(results);
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxMoveResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxMoveResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxMoveResult.java
index fd4e171..3c7ac3c 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxMoveResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxMoveResult.java
@@ -20,17 +20,34 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
 
-public class DropboxMoveResult extends DropboxResult {
-    
+public class DropboxMoveResult {
+
+    private final String oldPath;
+
+    private final String newPath;
+
+    public DropboxMoveResult(String oldPath, String newPath) {
+        this.oldPath = oldPath;
+        this.newPath = newPath;
+    }
+
+    public String getOldPath() {
+        return oldPath;
+    }
+
+    public String getNewPath() {
+        return newPath;
+    }
+
     /**
      * Object payload contained in Exchange
      * Exchange Header and Body contains the mode path
      * @param exchange
      */
-    @Override
-    public void populateExchange(Exchange exchange) {
-        String movedPath = (String)resultEntries;
-        exchange.getIn().setHeader(DropboxResultHeader.MOVED_PATH.name(), movedPath);
-        exchange.getIn().setBody(movedPath);
-    }
+//    @Override
+//    public void populateExchange(Exchange exchange) {
+//        String movedPath = (String)resultEntries;
+//        exchange.getIn().setHeader(DropboxResultHeader.MOVED_PATH.name(), movedPath);
+//        exchange.getIn().setBody(movedPath);
+//    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxResult.java
index 09bb40c..162825c 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxResult.java
@@ -18,6 +18,9 @@ package org.apache.camel.component.dropbox.dto;
 
 import org.apache.camel.Exchange;
 
+import java.io.OutputStream;
+import java.util.Map;
+
 
 public abstract class DropboxResult {
 
@@ -29,11 +32,11 @@ public abstract class DropboxResult {
      */
     public abstract void populateExchange(Exchange exchange);
 
-    public Object getResultEntries()  {
-        return resultEntries;
-    }
+//    public Map<String, OutputStream> getResultEntries()  {
+//        return resultEntries;
+//    }
 
-    public void setResultEntries(Object resultEntries) {
+    public void setResultEntries(Map<String, OutputStream> resultEntries) {
         this.resultEntries = resultEntries;
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxSearchResult.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxSearchResult.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxSearchResult.java
index b17a48a..4239fe6 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxSearchResult.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/dto/DropboxSearchResult.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.dropbox.dto;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import com.dropbox.core.DbxEntry;
@@ -24,25 +26,16 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
 
-public class DropboxSearchResult extends DropboxResult {
-
-    /**
-     * Object payload contained in Exchange
-     * Exchange Header is populated with the remote paths found.
-     * Exchange Body is populated with the list of DbxEntry found.
-     * @param exchange
-     */
-    @Override
-    public void populateExchange(Exchange exchange) {
-        StringBuffer fileExtracted = new StringBuffer();
-        List<DbxEntry> entries = null;
-        if (resultEntries != null) {
-            entries = (List<DbxEntry>) resultEntries;
-            for (DbxEntry entry : entries) {
-                fileExtracted.append(entry.name + "-" + entry.path + "\n");
-            }
-        }
-        exchange.getIn().setHeader(DropboxResultHeader.FOUNDED_FILES.name(), fileExtracted.toString());
-        exchange.getIn().setBody(entries);
+public class DropboxSearchResult {
+
+    private final List<DbxEntry> found;
+
+    public DropboxSearchResult(List<DbxEntry> found) {
+        this.found = new ArrayList<DbxEntry>(found);
     }
+
+    public List<DbxEntry> getFound() {
+        return Collections.unmodifiableList(found);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollGetConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollGetConsumer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollGetConsumer.java
index de42292..2b30be9 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollGetConsumer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollGetConsumer.java
@@ -21,7 +21,12 @@ import org.apache.camel.Processor;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
+import org.apache.camel.component.dropbox.dto.DropboxFileDownloadResult;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
+
+import java.io.OutputStream;
+import java.util.Map;
 
 public class DropboxScheduledPollGetConsumer extends DropboxScheduledPollConsumer {
 
@@ -37,9 +42,25 @@ public class DropboxScheduledPollGetConsumer extends DropboxScheduledPollConsume
     @Override
     protected int poll() throws Exception {
         Exchange exchange = endpoint.createExchange();
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxFileDownloadResult result = DropboxAPIFacade.getInstance(configuration.getClient(), exchange)
                 .get(configuration.getRemotePath());
-        result.populateExchange(exchange);
+
+        Map<String, OutputStream> map = result.getEntries();
+        if (map.size() == 1) {
+            for (Map.Entry<String, OutputStream> entry : map.entrySet()) {
+                exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILE.name(), entry.getKey());
+                exchange.getIn().setBody(entry.getValue());
+            }
+        } else {
+            StringBuilder pathsExtracted = new StringBuilder();
+            for (Map.Entry<String, OutputStream> entry : map.entrySet()) {
+                pathsExtracted.append(entry.getKey()).append("\n");
+            }
+            exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILES.name(), pathsExtracted.toString());
+            exchange.getIn().setBody(map);
+        }
+
+
         LOG.info("consumer --> downloaded: " + result.toString());
 
         try {

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollSearchConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollSearchConsumer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollSearchConsumer.java
index a8c125f..04e9ca2 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollSearchConsumer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/consumer/DropboxScheduledPollSearchConsumer.java
@@ -16,12 +16,17 @@
  */
 package org.apache.camel.component.dropbox.integration.consumer;
 
+import com.dropbox.core.DbxEntry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.dto.DropboxSearchResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
+
+import java.util.List;
 
 public class DropboxScheduledPollSearchConsumer extends DropboxScheduledPollConsumer {
 
@@ -37,9 +42,17 @@ public class DropboxScheduledPollSearchConsumer extends DropboxScheduledPollCons
     @Override
     protected int poll() throws Exception {
         Exchange exchange = endpoint.createExchange();
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxSearchResult result = DropboxAPIFacade.getInstance(configuration.getClient(), exchange)
                 .search(configuration.getRemotePath(), configuration.getQuery());
-        result.populateExchange(exchange);
+
+        StringBuilder fileExtracted = new StringBuilder();
+        for (DbxEntry entry : result.getFound()) {
+            fileExtracted.append(entry.name).append("-").append(entry.path).append("\n");
+        }
+
+        exchange.getIn().setHeader(DropboxResultHeader.FOUND_FILES.name(), fileExtracted.toString());
+        exchange.getIn().setBody(result.getFound());
+
         LOG.info("consumer --> downloaded: " + result.toString());
 
         try {

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxDelProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxDelProducer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxDelProducer.java
index 4b2128e..e04e5d2 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxDelProducer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxDelProducer.java
@@ -20,7 +20,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
+import org.apache.camel.component.dropbox.dto.DropboxDelResult;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
 public class DropboxDelProducer extends DropboxProducer {
     
@@ -30,11 +32,14 @@ public class DropboxDelProducer extends DropboxProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
-                .del(configuration.getRemotePath());
-        result.populateExchange(exchange);
-        log.info("Deleted: " + configuration.getRemotePath());
+        DropboxDelResult result = DropboxAPIFacade
+            .getInstance(configuration.getClient(), exchange)
+            .del(configuration.getRemotePath());
+
+            exchange.getIn().setHeader(DropboxResultHeader.DELETED_PATH.name(), result.getEntry());
+            exchange.getIn().setBody(result.getEntry());
 
+        log.info("Deleted: " + configuration.getRemotePath());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
index 9eaca52..e8dfbe9 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxGetProducer.java
@@ -20,10 +20,17 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
+import org.apache.camel.component.dropbox.dto.DropboxFileDownloadResult;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
+import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+
 public class DropboxGetProducer extends DropboxProducer {
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxGetProducer.class);
 
@@ -33,11 +40,24 @@ public class DropboxGetProducer extends DropboxProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxFileDownloadResult result = DropboxAPIFacade.getInstance(configuration.getClient(), exchange)
                 .get(configuration.getRemotePath());
-        result.populateExchange(exchange);
-        LOG.info("producer --> downloaded: " + result.toString());
 
+        Map<String, OutputStream> map = result.getEntries();
+        if (map.size() == 1) {
+            for (Map.Entry<String, OutputStream> entry : map.entrySet()) {
+                exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILE.name(), entry.getKey());
+                exchange.getIn().setBody(entry.getValue());
+            }
+        } else {
+            StringBuilder pathsExtracted = new StringBuilder();
+            for (Map.Entry<String, OutputStream> entry : map.entrySet()) {
+                pathsExtracted.append(entry.getKey()).append("\n");
+            }
+            exchange.getIn().setHeader(DropboxResultHeader.DOWNLOADED_FILES.name(), pathsExtracted.toString());
+            exchange.getIn().setBody(map);
+        }
+        LOG.info("producer --> downloaded: " + result.toString());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxMoveProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxMoveProducer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxMoveProducer.java
index 0ca0fce..9fd4d5e 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxMoveProducer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxMoveProducer.java
@@ -20,7 +20,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
+import org.apache.camel.component.dropbox.dto.DropboxMoveResult;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 
 public class DropboxMoveProducer extends DropboxProducer {
     
@@ -30,9 +32,13 @@ public class DropboxMoveProducer extends DropboxProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxMoveResult result = DropboxAPIFacade
+                .getInstance(configuration.getClient(), exchange)
                 .move(configuration.getRemotePath(), configuration.getNewRemotePath());
-        result.populateExchange(exchange);
+
+        exchange.getIn().setHeader(DropboxResultHeader.MOVED_PATH.name(), result.getOldPath());
+        exchange.getIn().setBody(result.getNewPath());
+
         log.info("Moved from " + configuration.getRemotePath() + " to " + configuration.getNewRemotePath());
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
index 1def466..2379744 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxPutProducer.java
@@ -20,10 +20,15 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
+import org.apache.camel.component.dropbox.dto.DropboxFileUploadResult;
 import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.util.DropboxResultCode;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Map;
+
 public class DropboxPutProducer extends DropboxProducer {
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxPutProducer.class);
 
@@ -33,11 +38,27 @@ public class DropboxPutProducer extends DropboxProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxFileUploadResult result = DropboxAPIFacade.getInstance(configuration.getClient(), exchange)
                 .put(configuration.getLocalPath(), configuration.getRemotePath(), configuration.getUploadMode());
-        result.populateExchange(exchange);
-        LOG.info("Uploaded: " + result.toString());
 
+
+        Map<String, DropboxResultCode> map = result.getResults();
+        if (map.size() == 1) {
+            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
+                exchange.getIn().setHeader(DropboxResultHeader.UPLOADED_FILE.name(), entry.getKey());
+                exchange.getIn().setBody(entry.getValue());
+            }
+
+        } else {
+            StringBuilder pathsExtracted = new StringBuilder();
+            for (Map.Entry<String, DropboxResultCode> entry : map.entrySet()) {
+                pathsExtracted.append(entry.getKey()).append("\n");
+            }
+            exchange.getIn().setHeader(DropboxResultHeader.UPLOADED_FILES.name(), pathsExtracted.toString());
+            exchange.getIn().setBody(map);
+        }
+
+        LOG.info("Uploaded: " + result.toString());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxSearchProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxSearchProducer.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxSearchProducer.java
index c924ad6..f1222e2 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxSearchProducer.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/integration/producer/DropboxSearchProducer.java
@@ -16,11 +16,15 @@
  */
 package org.apache.camel.component.dropbox.integration.producer;
 
+import com.dropbox.core.DbxEntry;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.dropbox.DropboxConfiguration;
 import org.apache.camel.component.dropbox.DropboxEndpoint;
 import org.apache.camel.component.dropbox.core.DropboxAPIFacade;
-import org.apache.camel.component.dropbox.dto.DropboxResult;
+import org.apache.camel.component.dropbox.dto.DropboxSearchResult;
+import org.apache.camel.component.dropbox.util.DropboxResultHeader;
+
+import java.util.List;
 
 public class DropboxSearchProducer extends DropboxProducer {
     
@@ -30,9 +34,14 @@ public class DropboxSearchProducer extends DropboxProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        DropboxResult result = DropboxAPIFacade.getInstance(configuration.getClient())
+        DropboxSearchResult result = DropboxAPIFacade.getInstance(configuration.getClient(), exchange)
                 .search(configuration.getRemotePath(), configuration.getQuery());
-        result.populateExchange(exchange);
-    }
 
+        StringBuilder fileExtracted = new StringBuilder();
+        for (DbxEntry entry : result.getFound()) {
+            fileExtracted.append(entry.name).append("-").append(entry.path).append("\n");
+        }
+        exchange.getIn().setHeader(DropboxResultHeader.FOUND_FILES.name(), fileExtracted.toString());
+        exchange.getIn().setBody(result.getFound());
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/util/DropboxResultHeader.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/util/DropboxResultHeader.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/util/DropboxResultHeader.java
index 0ab2fc1..39a4459 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/util/DropboxResultHeader.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/util/DropboxResultHeader.java
@@ -17,6 +17,6 @@
 package org.apache.camel.component.dropbox.util;
 
 public enum DropboxResultHeader {
-    DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUNDED_FILES, DELETED_PATH, MOVED_PATH;
+    DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH
 }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
index e9f5f7f..46b0be0 100755
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
@@ -38,7 +38,7 @@ public class DropboxConsumerSearchQueryTest extends DropboxTestSupport {
 
         List<Exchange> exchanges = mock.getReceivedExchanges();
         Exchange exchange = exchanges.get(0);
-        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUNDED_FILES.name());
+        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
         Object body = exchange.getIn().getBody();
         assertNotNull(header);
         assertNotNull(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
index 5d135b7..242c210 100755
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
@@ -38,7 +38,7 @@ public class DropboxConsumerSearchTest extends DropboxTestSupport {
 
         List<Exchange> exchanges = mock.getReceivedExchanges();
         Exchange exchange = exchanges.get(0);
-        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUNDED_FILES.name());
+        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
         Object body = exchange.getIn().getBody();
         assertNotNull(header);
         assertNotNull(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
index 748f683..6dedaca 100755
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
@@ -47,7 +47,7 @@ public class DropboxProducerSearchQueryTest extends DropboxTestSupport {
 
         List<Exchange> exchanges = mock.getReceivedExchanges();
         Exchange exchange = exchanges.get(0);
-        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUNDED_FILES.name());
+        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
         Object body = exchange.getIn().getBody();
         assertNotNull(header);
         assertNotNull(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/236b7f13/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
index d47730f..9df6f10 100755
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
@@ -47,7 +47,7 @@ public class DropboxProducerSearchTest extends DropboxTestSupport {
 
         List<Exchange> exchanges = mock.getReceivedExchanges();
         Exchange exchange = exchanges.get(0);
-        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUNDED_FILES.name());
+        Object header =  exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
         Object body = exchange.getIn().getBody();
         assertNotNull(header);
         assertNotNull(body);