001: /*
002: * Wilos Is a cLever process Orchestration Software - http://www.wilos-project.org
003: * Copyright (C) 2006-2007 Paul Sabatier University, IUP ISI (Toulouse, France) <massie@irit.fr>
004: * Copyright (C) 2007 Mathieu BENOIT <mathieu-benoit@hotmail.fr>
005: * Copyright (C) 2007 Sebastien BALARD <sbalard@wilos-project.org>
006: *
007: * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
008: * General Public License as published by the Free Software Foundation; either version 2 of the License,
009: * or (at your option) any later version.
010: *
011: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
012: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013: * GNU General Public License for more details.
014: *
015: * You should have received a copy of the GNU General Public License along with this program; if not,
016: * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
017: */
018:
019: package wilos.hibernate.misc.concreterole;
020:
021: import java.util.ArrayList;
022: import java.util.List;
023:
024: import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
025:
026: import wilos.model.misc.concreterole.ConcreteRoleDescriptor;
027: import wilos.model.misc.concretetask.ConcreteTaskDescriptor;
028:
029: /**
030: * ConcreteRoleDescriptorDao manage requests from the system to store
031: * ConcreteRoleDescriptorDao to the database
032: */
033: public class ConcreteRoleDescriptorDao extends HibernateDaoSupport {
034:
035: /**
036: * Saves or updates a ConcreteRoleDescriptorDao
037: *
038: * @param _concreteRoledescriptor The ConcreteRoleDescriptor to be saved or updated
039: */
040: public String saveOrUpdateConcreteRoleDescriptor(
041: ConcreteRoleDescriptor _concreteRoledescriptor) {
042: if (_concreteRoledescriptor != null) {
043: this .getHibernateTemplate().saveOrUpdate(
044: _concreteRoledescriptor);
045: return _concreteRoledescriptor.getId();
046: }
047: return "";
048: }
049:
050: /**
051: * Returns a list of all the ConcreteRoleDescriptors
052: *
053: * @return A list of all the ConcreteRoleDescriptors
054: */
055: public List<ConcreteRoleDescriptor> getAllConcreteRoleDescriptors() {
056: List<ConcreteRoleDescriptor> concreteRoleDescriptors = new ArrayList<ConcreteRoleDescriptor>();
057: for (Object obj : this .getHibernateTemplate().loadAll(
058: ConcreteRoleDescriptor.class)) {
059: ConcreteRoleDescriptor crd = (ConcreteRoleDescriptor) obj;
060: concreteRoleDescriptors.add(crd);
061: }
062: return concreteRoleDescriptors;
063: }
064:
065: /**
066: * Returns the ConcreteRoleDescriptor which has the ID _id
067: *
068: * @param _id The wanted ID
069: * @return The wanted ConcreteRoleDescriptor
070: */
071: public ConcreteRoleDescriptor getConcreteRoleDescriptor(String _id) {
072: if (!_id.equals(""))
073: return (ConcreteRoleDescriptor) this .getHibernateTemplate()
074: .get(ConcreteRoleDescriptor.class, _id);
075: return null;
076: }
077:
078: /**
079: * Deletes the ConcreteRoleDescriptor
080: *
081: * @param _concreteRoledescriptor
082: */
083: public void deleteConcreteRoleDescriptor(
084: ConcreteRoleDescriptor _concreteRoledescriptor) {
085: this .getHibernateTemplate().delete(_concreteRoledescriptor);
086: }
087:
088: /**
089: * Returns all the ConcreteRoleDescriptors of the project which has the specified ID
090: *
091: * @param _projectId The wanted Project ID
092: * @return A list of ConcreteRoleDescriptor
093: */
094: public List<ConcreteRoleDescriptor> getAllConcreteRoleDescriptorsForProject(
095: String _projectId) {
096: List<ConcreteRoleDescriptor> concreteRoleDescriptors = new ArrayList<ConcreteRoleDescriptor>();
097: for (Object obj : this
098: .getHibernateTemplate()
099: .find(
100: "from ConcreteRoleDescriptor crd where crd.project.id=?",
101: _projectId)) {
102: ConcreteRoleDescriptor crd = (ConcreteRoleDescriptor) obj;
103: concreteRoleDescriptors.add(crd);
104: }
105: return concreteRoleDescriptors;
106: }
107:
108: /**
109: * Returns a list of ConcreteTaskDescriptor corresponding to
110: * the ConcreteRoleDescriptor which has the specified ID
111: *
112: * @param _concreteRoleDescriptorId The wanted ConcreteRoleDescriptor ID
113: * @return A list of ConcreteTaskDescriptor
114: */
115: public List<ConcreteTaskDescriptor> getMainConcreteTaskDescriptorsForConcreteRoleDescriptor(
116: String _concreteRoleDescriptorId) {
117: List<ConcreteTaskDescriptor> concreteTaskDescriptors = new ArrayList<ConcreteTaskDescriptor>();
118: for (Object obj : this
119: .getHibernateTemplate()
120: .find(
121: "from ConcreteTaskDescriptor ctd where ctd.mainConcreteRoleDescriptor.id=?",
122: _concreteRoleDescriptorId)) {
123: ConcreteTaskDescriptor ctd = (ConcreteTaskDescriptor) obj;
124: concreteTaskDescriptors.add(ctd);
125: }
126: return concreteTaskDescriptors;
127: }
128:
129: /**
130: * Returns a list of ConcreteRoleDescriptor corresponding to the
131: * RoleDescriptor which has the specified ID
132: *
133: * @param _roleId The wanted RoleDescriptor ID
134: * @return A list of ConcreteRoleDescriptor
135: */
136: public List<ConcreteRoleDescriptor> getAllConcreteRoleDescriptorsForARoleDescriptor(
137: String _roleId) {
138: List<ConcreteRoleDescriptor> concreteRoleDescriptors = new ArrayList<ConcreteRoleDescriptor>();
139: for (Object obj : this
140: .getHibernateTemplate()
141: .find(
142: "from ConcreteRoleDescriptor ctd where ctd.roleDescriptor.id=?",
143: _roleId)) {
144: ConcreteRoleDescriptor crd = (ConcreteRoleDescriptor) obj;
145: concreteRoleDescriptors.add(crd);
146: }
147: return concreteRoleDescriptors;
148: }
149:
150: /* public List<ConcreteTaskDescriptor> getPrimaryConcreteTaskDescriptors(String _roleId) {
151: List ctds = this.getHibernateTemplate().find(
152: "from ConcreteTaskDescriptor ctd join ctd.concreteRoleDescriptors crds where crds.id=?", _roleId);
153: List<ConcreteTaskDescriptor> listCtds = new ArrayList<ConcreteTaskDescriptor>();
154: if (ctds.get(0) instanceof List) {
155: for (Object o : (ArrayList) ctds.get(0)) {
156: if (o instanceof ConcreteTaskDescriptor) {
157: ConcreteTaskDescriptor bde = (ConcreteTaskDescriptor) o;
158: listCtds.add(bde);
159: }
160: }
161: }
162: return listCtds;
163: }*/
164:
165: /*public String getConcreteRoleDescriptorName(String _concreteRoleDescriptorId) {
166: Query query = this.getSession().createQuery(
167: "select crd.concreteName from ConcreteRoleDescriptor crd where crd.id='" + _concreteRoleDescriptorId
168: + "'");
169: List results = query.list();
170: if (results.size() == 1)
171: return (String) results.get(0);
172: return null;
173: }*/
174: }
|