You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by he...@apache.org on 2013/06/05 12:26:02 UTC

git commit: [Spring Batch] JobExecution instance is now passed to the output message. (cherry picked from commit fee40c7)

Updated Branches:
  refs/heads/camel-2.11.x 048601dc5 -> be41c4dd5


[Spring Batch] JobExecution instance is now passed to the output message.
(cherry picked from commit fee40c7)


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

Branch: refs/heads/camel-2.11.x
Commit: be41c4dd5ace4a5a6f89c127d4c678f152a38724
Parents: 048601d
Author: Henryk Konsek <he...@gmail.com>
Authored: Wed Jun 5 12:08:51 2013 +0200
Committer: Henryk Konsek <he...@gmail.com>
Committed: Wed Jun 5 12:25:36 2013 +0200

----------------------------------------------------------------------
 .../spring/batch/SpringBatchProducer.java          |    4 ++-
 .../spring/batch/SpringBatchEndpointTest.java      |   21 ++++++++++++++-
 2 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/be41c4dd/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchProducer.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchProducer.java
index e6041ea..8f25f2a 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchProducer.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchProducer.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultProducer;
 import org.springframework.batch.core.Job;
+import org.springframework.batch.core.JobExecution;
 import org.springframework.batch.core.JobParameters;
 import org.springframework.batch.core.JobParametersBuilder;
 import org.springframework.batch.core.launch.JobLauncher;
@@ -42,7 +43,8 @@ public class SpringBatchProducer extends DefaultProducer {
     @Override
     public void process(Exchange exchange) throws Exception {
         JobParameters jobParameters = prepareJobParameters(exchange.getIn().getHeaders());
-        jobLauncher.run(job, jobParameters);
+        JobExecution jobExecution = jobLauncher.run(job, jobParameters);
+        exchange.getOut().setBody(jobExecution);
     }
 
     protected JobParameters prepareJobParameters(Map<String, Object> headers) {

http://git-wip-us.apache.org/repos/asf/camel/blob/be41c4dd/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchEndpointTest.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchEndpointTest.java b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchEndpointTest.java
index 7789a1a..92c1e93 100644
--- a/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchEndpointTest.java
+++ b/components/camel-spring-batch/src/test/java/org/apache/camel/component/spring/batch/SpringBatchEndpointTest.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.spring.batch;
 import java.util.Date;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.EndpointInject;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.impl.SimpleRegistry;
@@ -32,6 +34,7 @@ import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.springframework.batch.core.Job;
+import org.springframework.batch.core.JobExecution;
 import org.springframework.batch.core.JobParameters;
 import org.springframework.batch.core.launch.JobLauncher;
 
@@ -54,12 +57,15 @@ public class SpringBatchEndpointTest extends CamelTestSupport {
 
     // Camel fixtures
 
+    @EndpointInject(uri = "mock:test")
+    MockEndpoint mockEndpoint;
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("direct:start").to("spring-batch:mockJob");
+                from("direct:start").to("spring-batch:mockJob").to("mock:test");
             }
         };
     }
@@ -91,6 +97,19 @@ public class SpringBatchEndpointTest extends CamelTestSupport {
         verify(jobLauncher).run(eq(job), any(JobParameters.class));
     }
 
+    @Test
+    public void shouldReturnJobExecution() throws Exception {
+        // Given
+        JobExecution jobExecution = mock(JobExecution.class);
+        when(jobLauncher.run(eq(job), any(JobParameters.class))).thenReturn(jobExecution);
+
+        // When
+        sendBody("direct:start", "Start the job, please.");
+
+        // Then
+        mockEndpoint.expectedBodiesReceived(jobExecution);
+    }
+
     @Test(expected = UnsupportedOperationException.class)
     public void shouldThrowExceptionIfUsedAsConsumer() throws Exception {
         // When