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 } }