001: /*
002: * Wilos Is a cLever process Orchestration Software - http://www.wilos-project.org
003: * Copyright (C) 2007 Sebastien BALARD <sbalard@wilos-project.org>
004: * Copyright (C) 2007-2008 Paul Sabatier University, IUP ISI (Toulouse, France) <massie@irit.fr>
005: *
006: * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
007: * General Public License as published by the Free Software Foundation; either version 2 of the License,
008: * or (at your option) any later version.
009: *
010: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
011: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012: * GNU General Public License for more details.
013: *
014: * You should have received a copy of the GNU General Public License along with this program; if not,
015: * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
016: */
017: package wilos.hibernate.misc.concreteworkbreakdownelement;
018:
019: import java.util.ArrayList;
020: import java.util.List;
021:
022: import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
023:
024: import wilos.model.misc.concreteworkbreakdownelement.ConcreteWorkOrder;
025: import wilos.model.misc.concreteworkbreakdownelement.ConcreteWorkOrderId;
026:
027: /**
028: * @author Sebastien BALARD
029: *
030: * ConcreteWorkOrderDao manage requests from the system to store
031: * ConcreteWorkOrders to the database
032: *
033: */
034: public class ConcreteWorkOrderDao extends HibernateDaoSupport {
035: /**
036: * Saves or updates a ConcreteWorkOrder
037: *
038: * @param _concreteWorkOrder The ConcreteWorkOrder to be saved or updated
039: * @return The ConcreteWorkOrder's ID, if the save has been done successfully
040: */
041: public ConcreteWorkOrderId saveOrUpdateConcreteWorkOrder(
042: ConcreteWorkOrder _concreteWorkOrder) {
043: if (_concreteWorkOrder != null) {
044: this .getHibernateTemplate()
045: .saveOrUpdate(_concreteWorkOrder);
046: return _concreteWorkOrder.getConcreteWorkOrderId();
047: }
048: return null;
049: }
050:
051: /**
052: * Returns the ConcreteWorkOrder which has the specified ID
053: *
054: * @param _id The wanted ConcreteWorkOrder ID
055: * @return The wanted ConcreteWorkOrder
056: */
057: public ConcreteWorkOrder getConcreteWorkOrder(
058: ConcreteWorkOrderId _id) {
059: if (_id != null)
060: return (ConcreteWorkOrder) this .getHibernateTemplate().get(
061: ConcreteWorkOrder.class, _id);
062: return null;
063: }
064:
065: /**
066: * Deletes the ConcreteWorkOrder
067: *
068: * @param _concreteactivity The ConcreteWorkOrder to be deleted
069: */
070: public void deleteConcreteWorkOrder(
071: ConcreteWorkOrder _concreteWorkOrder) {
072: this .getHibernateTemplate().delete(_concreteWorkOrder);
073: }
074:
075: /**
076: * Returns a list of all the ConcreteWorkOrder
077: *
078: * @return A list of all the ConcreteWorkOrder
079: */
080: public List<ConcreteWorkOrder> getAllConcreteWorkOrders() {
081: List<ConcreteWorkOrder> concreteWorkOrders = new ArrayList<ConcreteWorkOrder>();
082: for (Object obj : this .getHibernateTemplate().loadAll(
083: ConcreteWorkOrder.class)) {
084: ConcreteWorkOrder cwo = (ConcreteWorkOrder) obj;
085: concreteWorkOrders.add(cwo);
086: }
087: return concreteWorkOrders;
088: }
089:
090: /**
091: * Returns all the ConcreteWorkOrder of the project which has the specified ID
092: *
093: * @param _projectId The wanted Project ID
094: * @return A list of ConcreteWorkOrder
095: */
096: public List<ConcreteWorkOrder> getAllConcreteWorkOrdersFromProject(
097: String _projectId) {
098: List<ConcreteWorkOrder> concreteWorkOrders = new ArrayList<ConcreteWorkOrder>();
099: if (!_projectId.equals("")) {
100: List tmp = this .getHibernateTemplate().find(
101: "from ConcreteWorkOrder c where c.projectId=?",
102: _projectId);
103: for (Object obj : tmp) {
104: ConcreteWorkOrder cwo = (ConcreteWorkOrder) obj;
105: concreteWorkOrders.add(cwo);
106: }
107: }
108: return concreteWorkOrders;
109: }
110: }
|