/**
* 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.manager.admin;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.autentia.tnt.businessobject.Activity;
import com.autentia.tnt.businessobject.Offer;
import com.autentia.tnt.businessobject.OfferCost;
import com.autentia.tnt.businessobject.OfferRole;
import com.autentia.tnt.businessobject.Organization;
import com.autentia.tnt.businessobject.Project;
import com.autentia.tnt.businessobject.ProjectCost;
import com.autentia.tnt.businessobject.ProjectRole;
import com.autentia.tnt.dao.SortCriteria;
import com.autentia.tnt.dao.hibernate.OfferDAO;
import com.autentia.tnt.dao.hibernate.OrganizationDAO;
import com.autentia.tnt.dao.hibernate.ProjectCostDAO;
import com.autentia.tnt.dao.hibernate.ProjectDAO;
import com.autentia.tnt.dao.hibernate.ProjectRoleDAO;
import com.autentia.tnt.dao.search.ActivitySearch;
import com.autentia.tnt.dao.search.ProjectSearch;
import com.autentia.tnt.manager.activity.ActivityManager;
import com.autentia.tnt.util.SpringUtils;
public class ProjectManager {
/* Project - generated by stajanov (do not edit/delete) */
/** Logger */
private static final Log log = LogFactory.getLog(ProjectManager.class);
/** Project DAO **/
private ProjectDAO projectDAO;
/**
* Get default ProjectManager as defined in Spring's configuration file.
* @return the default singleton ProjectManager
*/
public static ProjectManager getDefault()
{
return (ProjectManager)SpringUtils.getSpringBean("managerProject");
}
/**
* Empty constructor needed by CGLIB (Spring AOP)
*/
protected ProjectManager()
{
}
/**
* Default constructor
* @deprecated do not construct managers alone: use Spring's declared beans
*/
public ProjectManager( ProjectDAO projectDAO )
{
this.projectDAO = projectDAO;
}
/**
* List projects.
* @param search search filter to apply
* @param sort sorting criteria
* @return the list of all projects sorted by requested criterion
*/
public List<Project> getAllEntities(ProjectSearch search, SortCriteria sort){
return projectDAO.search( search, sort );
}
/**
* Get project by primary key.
* @return project selected by id.
*/
public Project getEntityById(int id){
return projectDAO.getById(id);
}
/**
* Insert project.
*/
public void insertEntity(Project project) {
projectDAO.insert(project);
}
/**
* Update project.
*/
public void updateEntity(Project project) {
projectDAO.update(project);
}
/**
* Delete project.
*/
public void deleteEntity(Project project) {
projectDAO.delete(project);
}
/* Project - generated by stajanov (do not edit/delete) */
public List<Project> getOpenProjects( SortCriteria sort )
{
ProjectSearch s = new ProjectSearch();
s.setOpen(true);
return getAllEntities(s,sort);
}
public List<Project> getOpenProjectsByOrganization(Organization org) {
return projectDAO.searchOpenByOrganization(new SortCriteria("name") , org);
}
public List<Project> getProjectsByOrganization(Organization org) {
return projectDAO.searchByOrganization(new SortCriteria("name") , org);
}
public Offer copyFromOffer(Integer id) {
Offer oferta = OfferDAO.getDefault().getById(id);
return oferta;
}
}