CAMEL-9386: Camel-git: Support credentials in clone operation

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

Branch: refs/heads/master
Commit: 8aa54686335ee08e96497d87bc327ed28c0e79d3
Parents: 78aa386
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Thu Dec 3 17:16:05 2015 +0100
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Thu Dec 3 17:16:55 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/component/git/producer/GitProducer.java  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8aa54686/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
 
b/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
index 31d1bd4..3c225e8 100644
--- 
a/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
+++ 
b/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
@@ -154,7 +154,12 @@ public class GitProducer extends DefaultProducer {
         try {
             File localRepo = new File(endpoint.getLocalPath(), "");
             if (!localRepo.exists()) {
-                result = 
git.cloneRepository().setURI(endpoint.getRemotePath()).setDirectory(new 
File(endpoint.getLocalPath(), "")).call();
+                if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && 
ObjectHelper.isNotEmpty(endpoint.getPassword())) {
+                    UsernamePasswordCredentialsProvider credentials = new 
UsernamePasswordCredentialsProvider(endpoint.getUsername(), 
endpoint.getPassword());
+                    result = 
git.cloneRepository().setCredentialsProvider(credentials).setURI(endpoint.getRemotePath()).setDirectory(new
 File(endpoint.getLocalPath(), "")).call();
+                } else {
+                    result = 
git.cloneRepository().setURI(endpoint.getRemotePath()).setDirectory(new 
File(endpoint.getLocalPath(), "")).call();
+                }
             } else {
                 throw new IllegalArgumentException("The local repository 
directory already exists");
             }

Reply via email to