001 /* 002 * Copyright 2005-2007 The Kuali Foundation 003 * 004 * 005 * Licensed under the Educational Community License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.opensource.org/licenses/ecl2.php 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 package org.kuali.rice.kew.rule.dao.impl; 018 019 import java.util.List; 020 021 import org.apache.ojb.broker.query.Criteria; 022 import org.apache.ojb.broker.query.QueryByCriteria; 023 import org.kuali.rice.kew.rule.bo.RuleAttribute; 024 import org.kuali.rice.kew.rule.dao.RuleAttributeDAO; 025 import org.springmodules.orm.ojb.support.PersistenceBrokerDaoSupport; 026 027 028 public class RuleAttributeDAOOjbImpl extends PersistenceBrokerDaoSupport implements RuleAttributeDAO { 029 030 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(RuleAttributeDAOOjbImpl.class); 031 032 public void save(RuleAttribute ruleAttribute) { 033 this.getPersistenceBrokerTemplate().store(ruleAttribute); 034 } 035 036 public void delete(String ruleAttributeId) { 037 this.getPersistenceBrokerTemplate().delete(findByRuleAttributeId(ruleAttributeId)); 038 } 039 040 public RuleAttribute findByRuleAttributeId(String ruleAttributeId) { 041 RuleAttribute ruleAttribute = new RuleAttribute(); 042 ruleAttribute.setRuleAttributeId(ruleAttributeId); 043 return (RuleAttribute) this.getPersistenceBrokerTemplate().getObjectByQuery(new QueryByCriteria(ruleAttribute)); 044 } 045 046 public List<RuleAttribute> findByRuleAttribute(RuleAttribute ruleAttribute) { 047 Criteria crit = new Criteria(); 048 if (ruleAttribute.getName() != null) { 049 crit.addSql("UPPER(RULE_ATTRIB_NM) like '" + ruleAttribute.getName().toUpperCase() + "'"); 050 } 051 if (ruleAttribute.getClassName() != null) { 052 crit.addSql("UPPER(RULE_ATTRIB_CLS_NM) like '" + ruleAttribute.getClassName().toUpperCase() + "'"); 053 } 054 if (ruleAttribute.getType() != null) { 055 crit.addSql("UPPER(RULE_ATTRIB_TYP) like '" + ruleAttribute.getType().toUpperCase() + "'"); 056 } 057 return (List<RuleAttribute>) this.getPersistenceBrokerTemplate().getCollectionByQuery(new QueryByCriteria(RuleAttribute.class, crit)); 058 059 } 060 061 public List<RuleAttribute> getAllRuleAttributes() { 062 return (List<RuleAttribute>) this.getPersistenceBrokerTemplate().getCollectionByQuery(new QueryByCriteria(RuleAttribute.class)); 063 } 064 065 public RuleAttribute findByName(String name) { 066 LOG.debug("findByName name=" + name); 067 Criteria crit = new Criteria(); 068 crit.addEqualTo("name", name); 069 return (RuleAttribute) this.getPersistenceBrokerTemplate().getObjectByQuery(new QueryByCriteria(RuleAttribute.class, crit)); 070 } 071 072 public RuleAttribute findByClassName(String classname) { 073 Criteria crit = new Criteria(); 074 crit.addEqualTo("className", classname); 075 return (RuleAttribute) this.getPersistenceBrokerTemplate().getObjectByQuery(new QueryByCriteria(RuleAttribute.class, crit)); 076 } 077 078 }