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: *
005: * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
006: * General Public License as published by the Free Software Foundation; either version 2 of the License,
007: * or (at your option) any later version.
008: *
009: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
010: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
011: * GNU General Public License for more details.
012: *
013: * You should have received a copy of the GNU General Public License along with this program; if not,
014: * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
015: */
016:
017: package wilos.application.console;
018:
019: import org.apache.commons.logging.Log;
020: import org.apache.commons.logging.LogFactory;
021: import org.springframework.transaction.annotation.Propagation;
022: import org.springframework.transaction.annotation.Transactional;
023:
024: import wilos.business.services.misc.concretetask.ConcreteTaskDescriptorService;
025: import wilos.business.services.spem2.process.ProcessService;
026: import wilos.utils.Security;
027: import wilos.hibernate.misc.concreterole.ConcreteRoleDescriptorDao;
028: import wilos.hibernate.misc.concretetask.ConcreteTaskDescriptorDao;
029: import wilos.hibernate.misc.project.ProjectDao;
030: import wilos.hibernate.misc.wilosuser.ParticipantDao;
031: import wilos.hibernate.spem2.process.ProcessDao;
032: import wilos.model.misc.concreterole.ConcreteRoleDescriptor;
033: import wilos.model.misc.concretetask.ConcreteTaskDescriptor;
034: import wilos.model.misc.project.Project;
035: import wilos.model.misc.wilosuser.Participant;
036: import wilos.model.spem2.process.Process;
037:
038: @Transactional(readOnly=false,propagation=Propagation.REQUIRED)
039: public class InitAppliService {
040: private ProcessService processService;
041:
042: private ProjectDao projectDao;
043:
044: private ProcessDao processDao;
045:
046: private ParticipantDao participantDao;
047:
048: private ConcreteRoleDescriptorDao concreteRoleDescriptorDao;
049:
050: private ConcreteTaskDescriptorDao concreteTaskDescriptorDao;
051:
052: private ConcreteTaskDescriptorService concreteTaskDescriptorService;
053:
054: protected final Log logger = LogFactory.getLog(this .getClass());
055:
056: @Transactional(readOnly=false)
057: public void projectInstanciation() {
058: String s = processService.getProcessDao().getProcessFromGuid(
059: "_9llsAQAvEdubGMceRDupFQ").getId();
060: Process scrum = processDao.getProcess(s);
061:
062: Project project = new Project();
063: project.setConcreteName("Wilos");
064: project.addProcess(scrum);
065: projectDao.saveOrUpdateProject(project);
066:
067: // processService.projectInstanciation(project);
068:
069: String s2 = processService.getProcessDao().getProcessFromGuid(
070: "_0uyGoMlgEdmt3adZL5Dmdw").getId();
071: Process openup = processDao.getProcess(s2);
072:
073: Project project2 = new Project();
074: project2.setConcreteName("IceOpenUP");
075: project2.addProcess(openup);
076: projectDao.saveOrUpdateProject(project2);
077:
078: // processService.projectInstanciation(project2);
079: }
080:
081: @Transactional(readOnly=false)
082: public void initAppli() {
083:
084: // creation du participant
085: Participant pa = new Participant();
086:
087: pa.setLogin("test");
088: pa.setPassword(Security.encode("testtest"));
089: pa.setName("test");
090: pa.setEmailAddress("test@test.com");
091: pa.setFirstname("test");
092: participantDao.saveOrUpdateParticipant(pa);
093: pa = participantDao.getParticipant(pa.getLogin());
094:
095: // affectation du particpant aux concreteRoles
096:
097: // ConcreteRoleDescriptorDao cs = (ConcreteRoleDescriptorDao)
098: // factory.getBean("ConcreteRoleDescriptorDao");
099: for (ConcreteRoleDescriptor crd : concreteRoleDescriptorDao
100: .getAllConcreteRoleDescriptors()) {
101: pa.addConcreteRoleDescriptor(crd);
102: concreteRoleDescriptorDao
103: .saveOrUpdateConcreteRoleDescriptor(crd);
104: }
105: logger.debug("bababa");
106: participantDao.saveOrUpdateParticipant(pa);
107: logger.debug("bababa");
108:
109: // affectation des concreteRoles aux concreteTask
110: logger.debug("bababa");
111: pa = participantDao.getParticipant(pa.getLogin());
112: if (pa != null) {
113: logger.debug("bababa");
114:
115: logger.debug("bababa");
116:
117: for (ConcreteTaskDescriptor ctd : concreteTaskDescriptorDao
118: .getAllConcreteTaskDescriptors()) {
119: logger.debug("bababa");
120: ConcreteTaskDescriptor ctd2 = concreteTaskDescriptorDao
121: .getConcreteTaskDescriptor(ctd.getId());
122: if (ctd2.getTaskDescriptor().getMainRole() != null) {
123: logger.debug("appel");
124: concreteTaskDescriptorService
125: .affectedConcreteTaskDescriptor(ctd2, pa);
126: logger.debug("sortie");
127:
128: // concreteTaskDescriptorService.affectedState(ctd2);
129: logger.debug("sortie");
130: }
131:
132: }
133: }
134:
135: }
136:
137: public ConcreteRoleDescriptorDao getConcreteRoleDescriptorDao() {
138: return concreteRoleDescriptorDao;
139: }
140:
141: public void setConcreteRoleDescriptorDao(
142: ConcreteRoleDescriptorDao concreteRoleDescriptorDao) {
143: this .concreteRoleDescriptorDao = concreteRoleDescriptorDao;
144: }
145:
146: public ProcessDao getProcessDao() {
147: return processDao;
148: }
149:
150: public void setProcessDao(ProcessDao processDao) {
151: this .processDao = processDao;
152: }
153:
154: public ProcessService getProcessService() {
155: return processService;
156: }
157:
158: public void setProcessService(ProcessService processService) {
159: this .processService = processService;
160: }
161:
162: public ProjectDao getProjectDao() {
163: return projectDao;
164: }
165:
166: public void setProjectDao(ProjectDao projectDao) {
167: this .projectDao = projectDao;
168: }
169:
170: public ParticipantDao getParticipantDao() {
171: return participantDao;
172: }
173:
174: public void setParticipantDao(ParticipantDao participantDao) {
175: this .participantDao = participantDao;
176: }
177:
178: public ConcreteTaskDescriptorDao getConcreteTaskDescriptorDao() {
179: return concreteTaskDescriptorDao;
180: }
181:
182: public void setConcreteTaskDescriptorDao(
183: ConcreteTaskDescriptorDao concreteTaskDescriptorDao) {
184: this .concreteTaskDescriptorDao = concreteTaskDescriptorDao;
185: }
186:
187: public ConcreteTaskDescriptorService getConcreteTaskDescriptorService() {
188: return concreteTaskDescriptorService;
189: }
190:
191: public void setConcreteTaskDescriptorService(
192: ConcreteTaskDescriptorService concreteTaskDescriptorService) {
193: this.concreteTaskDescriptorService = concreteTaskDescriptorService;
194: }
195:
196: }
|