Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x d83f2d67b -> 2ad57ce0d


CAMEL-10091: Camel-Git: Always check if Git instance is null in GitProducer 
before closing


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

Branch: refs/heads/camel-2.16.x
Commit: d13cc328d6f74ed77f59a983dcb29ddeeca74314
Parents: d83f2d6
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Mon Jun 27 09:01:02 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Mon Jun 27 09:31:02 2016 +0200

----------------------------------------------------------------------
 .../apache/camel/component/git/producer/GitProducer.java    | 8 ++++++--
 .../camel/component/git/producer/GitProducerTest.java       | 9 +++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d13cc328/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 3c225e8..dbc3c61 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
@@ -167,7 +167,9 @@ public class GitProducer extends DefaultProducer {
             LOG.error("There was an error in Git " + operation + " operation");
             throw e;
         } finally {
-            result.close();
+               if (ObjectHelper.isNotEmpty(result)) {
+                result.close();
+               }
         }
     }
 
@@ -182,7 +184,9 @@ public class GitProducer extends DefaultProducer {
             LOG.error("There was an error in Git " + operation + " operation");
             throw e;
         } finally {
-            result.close();
+               if (ObjectHelper.isNotEmpty(result)) {
+                result.close();
+               }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/d13cc328/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
 
b/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
index 7abb621..b42b35c 100755
--- 
a/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
+++ 
b/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.git.producer;
 import java.io.File;
 import java.util.List;
 
+import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
@@ -48,6 +49,14 @@ public class GitProducerTest extends GitTestSupport {
         assertEquals(gitDir.exists(), true);
     }
     
+    @Test(expected = CamelExecutionException.class)
+    public void doubleCloneOperationTest() throws Exception {
+        template.sendBody("direct:clone", "");
+        template.sendBody("direct:clone", "");
+        File gitDir = new File(gitLocalRepo, ".git");
+        assertEquals(gitDir.exists(), true);
+    }
+    
     @Test
     public void addTest() throws Exception {
 

Reply via email to