You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2013/10/19 17:04:59 UTC

git commit: CAMEL-6876: JpaProducer should provide the Header 'CamelEntityManager' of the IN payload.

Updated Branches:
  refs/heads/master 8bcaa4524 -> 3d543dc78


CAMEL-6876: JpaProducer should provide the Header 'CamelEntityManager' of the IN payload.

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

Branch: refs/heads/master
Commit: 3d543dc7826607e7044a658c238e66fa3abe2c3e
Parents: 8bcaa45
Author: Babak Vahdat <bv...@apache.org>
Authored: Sat Oct 19 17:04:48 2013 +0200
Committer: Babak Vahdat <bv...@apache.org>
Committed: Sat Oct 19 17:04:48 2013 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/camel/component/jpa/JpaProducer.java | 4 ++--
 .../java/org/apache/camel/component/jpa/JpaUseMergeTest.java  | 2 +-
 .../java/org/apache/camel/processor/jpa/JpaRouteTest.java     | 7 +++++++
 3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3d543dc7/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
index cb981ce..80cd486 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java
@@ -51,7 +51,6 @@ public class JpaProducer extends DefaultProducer {
     }
 
     public void process(final Exchange exchange) {
-        exchange.getIn().setHeader(JpaConstants.ENTITYMANAGER, entityManager);
         final Object values = expression.evaluate(exchange, Object.class);
         if (values != null) {
             transactionTemplate.execute(new TransactionCallback<Object>() {
@@ -99,7 +98,8 @@ public class JpaProducer extends DefaultProducer {
                 }
             });
         }
-        exchange.getIn().removeHeader(JpaConstants.ENTITYMANAGER);
+
+        exchange.getIn().setHeader(JpaConstants.ENTITYMANAGER, entityManager);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/3d543dc7/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
index 8106c5a..100f1f3 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaUseMergeTest.java
@@ -50,7 +50,7 @@ public class JpaUseMergeTest extends AbstractJpaMethodTest {
         assertEntitiesInDatabase(1, Customer.class.getName());
         assertEntitiesInDatabase(1, Address.class.getName());
 
-        // do detach the persisted entity first before modifying it
+        // do detach the persisted entity first before modifying it, as we intend to merge it later on below
         entityManager.detach(customer);
         customer.setName("Max Mustermann");
         customer.getAddress().setAddressLine1("Musterstr. 1");

http://git-wip-us.apache.org/repos/asf/camel/blob/3d543dc7/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
index 1f26f76..2336e36 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaRouteTest.java
@@ -16,8 +16,12 @@
  */
 package org.apache.camel.processor.jpa;
 
+import javax.persistence.EntityManager;
+
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.ValueBuilder;
 import org.apache.camel.component.jpa.JpaComponent;
+import org.apache.camel.component.jpa.JpaConstants;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.examples.SendEmail;
 import org.apache.camel.spring.SpringRouteBuilder;
@@ -38,6 +42,9 @@ public class JpaRouteTest extends AbstractJpaTest {
 
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
+        ValueBuilder header = mock.message(0).header(JpaConstants.ENTITYMANAGER);
+        header.isNotNull();
+        header.isInstanceOf(EntityManager.class);
 
         template.sendBody("direct:start", new SendEmail("someone@somewhere.org"));