001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.coa.dataaccess.impl; 017 018 import org.apache.ojb.broker.query.Criteria; 019 import org.apache.ojb.broker.query.QueryFactory; 020 import org.kuali.kfs.coa.businessobject.ProjectCode; 021 import org.kuali.kfs.coa.dataaccess.ProjectCodeDao; 022 import org.kuali.rice.kns.dao.impl.PlatformAwareDaoBaseOjb; 023 024 025 /** 026 * This class is the OJB implementation of the ProjectCodeDao interface. 027 */ 028 public class ProjectCodeDaoOjb extends PlatformAwareDaoBaseOjb implements ProjectCodeDao { 029 private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(ProjectCodeDaoOjb.class); 030 031 /** 032 * Retrieves project code business object by primary key 033 * 034 * @param projectCode - part of composite key 035 * @return Project 036 * @see ProjectCodeDao#getByPrimaryId(String) 037 */ 038 public ProjectCode getByPrimaryId(String projectCode) { 039 Criteria criteria = new Criteria(); 040 criteria.addEqualTo("code", projectCode); 041 042 return (ProjectCode) getPersistenceBrokerTemplate().getObjectByQuery(QueryFactory.newQuery(ProjectCode.class, criteria)); 043 } 044 045 /** 046 * Retrieves project code business object by project name 047 * 048 * @param name - part of composite key 049 * @return Project 050 * @see ProjectCodeDao#getByName(String) 051 */ 052 public ProjectCode getByName(String name) { 053 Criteria criteria = new Criteria(); 054 criteria.addEqualTo("name", name); 055 056 return (ProjectCode) getPersistenceBrokerTemplate().getObjectByQuery(QueryFactory.newQuery(ProjectCode.class, criteria)); 057 } 058 059 /** 060 * @param projectCode - a populated ProjectCode object to be saved 061 * @throws IllegalObjectStateException 062 * @throws ValidationErrorList 063 * @see ProjectCodeDaoOjb#save(ProjectCode) 064 */ 065 public void save(ProjectCode projectCode) { 066 getPersistenceBrokerTemplate().store(projectCode); 067 } 068 069 }