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"));