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 <edoardo.causar...@gmail.com> Authored: Thu Nov 17 14:12:31 2016 +0100 Committer: Claus Ibsen <davscl...@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);