/** * TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L. * Copyright (C) 2007 Autentia Real Bussiness Solution S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.autentia.tnt.dao.hibernate; import com.autentia.tnt.businessobject.*; import com.autentia.tnt.dao.*; import com.autentia.tnt.util.SpringUtils; import java.util.*; import org.apache.commons.logging.*; /** * DAO for Project objects. * @author stajanov code generator */ public class ProjectDAO extends HibernateManagerBase<Project> { /* project - generated by stajanov (do not edit/delete) */ /** Logger */ private static final Log log = LogFactory.getLog(ProjectDAO.class); /** * Get default ProjectDAO as defined in Spring's configuration file. * @return the default singleton ProjectDAO */ public static ProjectDAO getDefault() { return (ProjectDAO)SpringUtils.getSpringBean("daoProject"); } /** * Constructor * @deprecated do not construct DAOs alone: use Spring's declared beans */ public ProjectDAO(){ super(false); } /** * Retrieve a Project object from database given its id * @param id primary key of Project object * @return the Project object identified by the id * @throws DataAccException on error */ public Project getById( int id ) throws DataAccException { return super.getByPk(Project.class,id); } /** * Get all Project objects from database sorted by the given criteria * @param crit the sorting criteria * @return a list with all existing Project objects * @throws DataAccException on error */ public List<Project> search( SortCriteria crit ) throws DataAccException { return super.list(Project.class,crit); } /** * Get specified Project objects from database sorted by the given criteria * @param search search criteria * @param sort the sorting criteria * @return a list with Project objects matching the search criteria * @throws DataAccException on error */ public List<Project> search(SearchCriteria search, SortCriteria sort) throws DataAccException { return super.search(Project.class,search,sort); } /** * Insert a new Project object in database * @param dao the Project object to insert * @throws DataAccException on error */ public void insert(Project dao) throws DataAccException { super.insert(dao); } /** * Update an existing Project object in database * @param dao the Project object to update * @throws DataAccException on error */ public void update(Project dao) throws DataAccException { super.update(dao,dao.getId()); } /** * Delete an existing Project object in database * @param dao the Project object to update * @throws DataAccException on error */ public void delete(Project dao) throws DataAccException { super.delete(dao,dao.getId()); } /* project - generated by stajanov (do not edit/delete) */ /** * Get Project objects based on their active flag from database sorted by the given criteria * @param active active flag * @param sort the sorting criteria * @return a list with Project objects matching the search criteria * @throws DataAccException on error */ public List<Project> searchByActive(SortCriteria sort) throws DataAccException { StringBuilder query = new StringBuilder("FROM "); query.append(Project.class.getName()); query.append( " as p" ); query.append( " WHERE p.endDate >=:arg0 or p.endDate = null "); query.append(sort.getHQL()); return (List<Project>)super.search(query.toString(), new Date()); } public List<Project> searchByOrganization(SortCriteria sort, Organization org) throws DataAccException { StringBuilder query = new StringBuilder("FROM "); query.append(Project.class.getName()); query.append( " as p" ); query.append( " WHERE p.client =:arg0 "); query.append(sort.getHQL()); return (List<Project>)super.search(query.toString(), org); } public List<Project> searchOpenByOrganization(SortCriteria sort, Organization org) throws DataAccException { StringBuilder query = new StringBuilder("FROM "); query.append(Project.class.getName()); query.append( " as p" ); query.append( " WHERE p.client =:arg0 AND p.open = true "); query.append(sort.getHQL()); return (List<Project>)super.search(query.toString(), org); } }