Author: davsclaus
Date: Sat Nov 21 11:38:57 2009
New Revision: 882885

URL: http://svn.apache.org/viewvc?rev=882885&view=rev
Log:
CAMEL-2156: Using findByNameParam for camel-bam to avoid issue using Hibernate 
as it expects named params.

Modified:
    
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
    
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
    
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
    
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
    
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ProcessContext.java

Modified: 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java?rev=882885&r1=882884&r2=882885&view=diff
==============================================================================
--- 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
 (original)
+++ 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
 Sat Nov 21 11:38:57 2009
@@ -17,7 +17,9 @@
 package org.apache.camel.bam;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
@@ -173,8 +175,13 @@
     // 
-------------------------------------------------------------------------
     public ActivityDefinition findOrCreateActivityDefinition(String 
activityName) {
         ProcessDefinition definition = getProcessDefinition();
-        List<ActivityDefinition> list = 
CastUtils.cast(jpaTemplate.find("select x from " 
-            + ActivityDefinition.class.getName() + " x where 
x.processDefinition = ?1 and x.name = ?2", definition, activityName));
+
+        Map<String, Object> params = new HashMap<String, Object>(2);
+        params.put("definition", definition);
+        params.put("name", activityName);
+
+        List<ActivityDefinition> list = 
CastUtils.cast(jpaTemplate.findByNamedParams("select x from "
+            + ActivityDefinition.class.getName() + " x where 
x.processDefinition = :definition and x.name = :name", params));
         if (!list.isEmpty()) {
             return list.get(0);
         } else {
@@ -187,8 +194,11 @@
     }
 
     protected ProcessDefinition findOrCreateProcessDefinition() {
-        List<ProcessDefinition> list = CastUtils.cast(jpaTemplate.find("select 
x from " 
-            + ProcessDefinition.class.getName() + " x where x.name = ?1", 
processName));
+        Map<String, Object> params = new HashMap<String, Object>(1);
+        params.put("name", processName);
+
+        List<ProcessDefinition> list = 
CastUtils.cast(jpaTemplate.findByNamedParams("select x from "
+            + ProcessDefinition.class.getName() + " x where x.name = :name", 
params));
         if (!list.isEmpty()) {
             return list.get(0);
         } else {

Modified: 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java?rev=882885&r1=882884&r2=882885&view=diff
==============================================================================
--- 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
 (original)
+++ 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
 Sat Nov 21 11:38:57 2009
@@ -16,7 +16,9 @@
  */
 package org.apache.camel.bam.model;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
@@ -28,7 +30,6 @@
 import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.springframework.orm.jpa.JpaTemplate;
 
 /**
@@ -74,8 +75,11 @@
     }
 
     public static ProcessDefinition findOrCreateProcessDefinition(JpaTemplate 
template, String processName) {
-        List<ProcessDefinition> list = CastUtils.cast(template.find("select x 
from " 
-            + ProcessDefinition.class.getName() + " x where x.name = ?1", 
processName));
+        Map<String, Object> params = new HashMap<String, Object>(1);
+        params.put("processName", processName);
+
+        List<ProcessDefinition> list = 
CastUtils.cast(template.findByNamedParams("select x from "
+            + ProcessDefinition.class.getName() + " x where x.name = 
:processName", params));
         if (!list.isEmpty()) {
             return list.get(0);
         } else {

Modified: 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java?rev=882885&r1=882884&r2=882885&view=diff
==============================================================================
--- 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
 (original)
+++ 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
 Sat Nov 21 11:38:57 2009
@@ -17,8 +17,9 @@
 package org.apache.camel.bam.processor;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
-
+import java.util.Map;
 import javax.persistence.EntityManager;
 import javax.persistence.LockModeType;
 import javax.persistence.PersistenceException;
@@ -29,7 +30,6 @@
 import org.apache.camel.util.CastUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
 import org.springframework.orm.jpa.JpaCallback;
 import org.springframework.orm.jpa.JpaTemplate;
 import org.springframework.transaction.TransactionStatus;
@@ -76,7 +76,11 @@
 
                 transactionTemplate.execute(new 
TransactionCallbackWithoutResult() {
                     protected void 
doInTransactionWithoutResult(TransactionStatus status) {
-                        List<ActivityState> list = 
CastUtils.cast(template.find("select x from " + ActivityState.class.getName() + 
" x where x.timeOverdue < ?1", timeNow));
+                        Map<String, Object> params = new HashMap<String, 
Object>(1);
+                        params.put("timeNow", timeNow);
+
+                        List<ActivityState> list = 
CastUtils.cast(template.findByNamedParams("select x from "
+                                + ActivityState.class.getName() + " x where 
x.timeOverdue < :timeNow", params));
                         for (ActivityState activityState : list) {
                             fireExpiredEvent(activityState);
                         }

Modified: 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java?rev=882885&r1=882884&r2=882885&view=diff
==============================================================================
--- 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
 (original)
+++ 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
 Sat Nov 21 11:38:57 2009
@@ -17,7 +17,9 @@
 package org.apache.camel.bam.processor;
 
 import java.lang.reflect.Method;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
@@ -116,9 +118,8 @@
             if (entity == null) {
                 entity = createEntity(exchange, key);
                 setKeyProperty(entity, key);
-                ProcessDefinition definition = ProcessDefinition
-                    .getRefreshedProcessDefinition(template, 
getActivityRules().getProcessRules()
-                        .getProcessDefinition());
+                ProcessDefinition definition = 
ProcessDefinition.getRefreshedProcessDefinition(template,
+                        
getActivityRules().getProcessRules().getProcessDefinition());
                 setProcessDefinitionProperty(entity, definition);
                 template.persist(entity);
 
@@ -138,7 +139,9 @@
         if (isCorrelationKeyIsPrimary()) {
             return template.find(getEntityType(), key);
         } else {
-            List<T> list = template.find(getFindByKeyQuery(), key);
+            Map<String, Object> params = new HashMap<String, Object>(1);
+            params.put("key", key);
+            List<T> list = template.findByNamedParams(getFindByKeyQuery(), 
params);
             if (list.isEmpty()) {
                 return null;
             } else {
@@ -152,8 +155,7 @@
             Method getter = 
IntrospectionSupport.getPropertyGetter(getEntityType(), getKeyPropertyName());
             return getter.getReturnType();
         } catch (NoSuchMethodException e) {
-            LOG.warn("no such getter for: " + getKeyPropertyName() + " on " + 
getEntityType() + ". Reason: "
-                     + e, e);
+            LOG.warn("no such getter for: " + getKeyPropertyName() + " on " + 
getEntityType() + ". Reason: " + e, e);
             return null;
         }
     }
@@ -188,6 +190,6 @@
     }
 
     protected String createFindByKeyQuery() {
-        return "select x from " + getEntityType().getName() + " x where x." + 
getKeyPropertyName() + " = ?1";
+        return "select x from " + getEntityType().getName() + " x where x." + 
getKeyPropertyName() + " = :key";
     }
 }

Modified: 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ProcessContext.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ProcessContext.java?rev=882885&r1=882884&r2=882885&view=diff
==============================================================================
--- 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ProcessContext.java
 (original)
+++ 
camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ProcessContext.java
 Sat Nov 21 11:38:57 2009
@@ -89,7 +89,7 @@
      * for dependent actions
      */
     public void onStarted(ActivityState activityState) {
-        /** TODO */
+        // noop
     }
 
     /**
@@ -97,6 +97,6 @@
      * for dependent actions
      */
     public void onCompleted(ActivityState activityState) {
-        /** TODO */
+        // noop
     }
 }


Reply via email to