/** * 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.Contact; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.autentia.tnt.businessobject.Organization; import com.autentia.tnt.businessobject.OrganizationType; import com.autentia.tnt.dao.DataAccException; import com.autentia.tnt.dao.SearchCriteria; import com.autentia.tnt.dao.SortCriteria; import com.autentia.tnt.util.SpringUtils; /** * DAO for Organization objects. * @author stajanov code generator */ public class OrganizationDAO extends HibernateManagerBase<Organization> { /* organization - generated by stajanov (do not edit/delete) */ /** Logger */ private static final Log log = LogFactory.getLog(OrganizationDAO.class); /** * Get default OrganizationDAO as defined in Spring's configuration file. * @return the default singleton OrganizationDAO */ public static OrganizationDAO getDefault() { return (OrganizationDAO)SpringUtils.getSpringBean("daoOrganization"); } /** * Constructor * @deprecated do not construct DAOs alone: use Spring's declared beans */ public OrganizationDAO(){ super(false); } /** * Retrieve a Organization object from database given its id * @param id primary key of Organization object * @return the Organization object identified by the id * @throws DataAccException on error */ public Organization getById( int id ) throws DataAccException { return super.getByPk(Organization.class,id); } /** * Get all Organization objects from database sorted by the given criteria * @param crit the sorting criteria * @return a list with all existing Organization objects * @throws DataAccException on error */ public List<Organization> search( SortCriteria crit ) throws DataAccException { return super.list(Organization.class,crit); } /** * Get specified Organization objects from database sorted by the given criteria * @param search search criteria * @param sort the sorting criteria * @return a list with Organization objects matching the search criteria * @throws DataAccException on error */ public List<Organization> search(SearchCriteria search, SortCriteria sort) throws DataAccException { return super.search(Organization.class,search,sort); } /** * Insert a new Organization object in database * @param dao the Organization object to insert * @throws DataAccException on error */ public void insert(Organization dao) throws DataAccException { super.insert(dao); } /** * Update an existing Organization object in database * @param dao the Organization object to update * @throws DataAccException on error */ public void update(Organization dao) throws DataAccException { super.update(dao,dao.getId()); } /** * Delete an existing Organization object in database * @param dao the Organization object to update * @throws DataAccException on error */ public void delete(Organization dao) throws DataAccException { super.delete(dao,dao.getId()); super.flush(); } /* organization - generated by stajanov (do not edit/delete) */ public List<Organization> searchByOrganizationTypes(SortCriteria sort, OrganizationType...args) throws DataAccException { StringBuilder query = new StringBuilder("FROM "); query.append(Organization.class.getName()); query.append(" as o where o.type in ("); for(int i=0;i<args.length;i++) { if(i!=0) query.append(","); query.append(":arg"+i); } query.append(") "); query.append(sort.getHQL()); return (List<Organization>)super.search(query.toString(),args); } public List<Contact> getContactsForOrganization(Organization organization) { return super.search("select distinct ci.contact from ContactInfo ci where ci.organization.id = :arg0", organization.getId()); } }