Subversion Repositories bacoAlunos

Rev

Rev 1369 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
227 jmachado 1
package pt.estgp.estgweb.services.jobs;
2
 
995 jmachado 3
import jomm.dao.impl.AbstractDao;
1082 jmachado 4
import org.apache.log4j.Logger;
995 jmachado 5
import pt.estgp.estgweb.domain.*;
6
import pt.estgp.estgweb.domain.dao.DaoFactory;
1369 jmachado 7
import pt.estgp.estgweb.services.courses.CourseUnitsStatisticsJobService;
996 jmachado 8
import pt.estgp.estgweb.services.sigesimports.*;
227 jmachado 9
import pt.utl.ist.berserk.logic.serviceManager.IService;
10
 
995 jmachado 11
import java.io.Serializable;
12
import java.sql.SQLException;
13
import java.util.*;
227 jmachado 14
 
15
/**
16
 * @author Jorge Machado
17
 * @date 11/Jul/2008
18
 * @see pt.estgp.estgweb.services.jobs
19
 */
20
public class JobScheduleService implements IService
21
{
22
 
1082 jmachado 23
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(JobScheduleService.class);
24
 
227 jmachado 25
    private static JobScheduleService instance = new JobScheduleService();
26
 
27
    public static JobScheduleService getInstance()
28
    {
29
        return instance;
30
    }
31
    public void scheduleNow(JobHandler handler, 1.5.0/docs/api/java/lang/String.html">String description, UserSession userSession)
32
    {
33
        schedule(handler, description, new 5+0%2Fdocs%2Fapi+Date">Date(),userSession);
34
    }
35
 
36
    public void schedule(JobHandler handler, 1.5.0/docs/api/java/lang/String.html">String description, 5+0%2Fdocs%2Fapi+Date">Date startDate, UserSession userSession)
37
    {
38
        Job job = DomainObjectFactory.createJobImpl();
228 jmachado 39
        if(userSession != null && userSession.getUser() != null)
40
            job.setOwner(userSession.getUser());
227 jmachado 41
        job.setDescription(description);
42
        job.setStartDate(startDate);
43
        job.setJobHandler(handler);
44
        DaoFactory.getJobDaoImpl().save(job);
45
    }
995 jmachado 46
 
47
    /*
48
    public void scheduleServiceTask(JobServiceTask job, String description, Date startDate, UserSession userSession)
49
    {
50
        //Job job = DomainObjectFactory.createJobImpl();
51
        if(userSession != null && userSession.getUser() != null)
52
            job.setOwner(userSession.getUser());
53
        job.setDescription(description);
54
        job.setStartDate(startDate);
55
        //job.setJobHandler(); The handler is the specific Job
56
        DaoFactory.getJobDaoImpl().save(job);
57
    }
58
*/
59
    public void createOrUpdateScheduleServiceTask(JobServiceTaskScheduler schedule, UserSession userSession)
60
    {
61
        if(schedule.getId() <= 0)
62
        {
63
            schedule.setCreatedBy(userSession.getUser());
64
            //job.setJobHandler(); The handler is the specific Job
65
            DaoFactory.getJobServiceTaskSchedulerDaoImpl().save(schedule);
66
            for(JobServiceTaskSchedulerParameter param: schedule.getServiceTaskSchedulerParameters())
67
            {
68
                DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().save(param);
69
            }
70
 
71
        }
72
        else
73
        {
74
            JobServiceTaskScheduler persistent = DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(schedule.getId());
75
            //delete old parameters
76
            Iterator<JobServiceTaskSchedulerParameter> iter = persistent.getServiceTaskSchedulerParameters().iterator();
77
            while(iter.hasNext())
78
            {
79
                JobServiceTaskSchedulerParameter param = iter.next();
80
                iter.remove();
81
                param.setJobServiceTaskScheduler(null);
82
                DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().delete(param);
83
                //DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().evict(param);
84
            }
85
 
86
            DaoFactory.getJobServiceTaskSchedulerDaoImpl().saveOrUpdate(persistent);
87
            //set new ones
88
            for(JobServiceTaskSchedulerParameter param: schedule.getServiceTaskSchedulerParameters())
89
            {
90
                persistent.getServiceTaskSchedulerParameters().add(param);
91
                param.setJobServiceTaskScheduler(persistent);
92
                DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().save(param);
93
            }
94
            persistent.setServiceTaskSchedulerParameters(schedule.getServiceTaskSchedulerParameters());
95
            persistent.setNow(schedule.isNow());
96
            persistent.setDaily(schedule.isDaily());
97
            persistent.setWeekly(schedule.isWeekly());
98
            persistent.setMonthly(schedule.isMonthly());
99
            persistent.setWeekday(schedule.getWeekday());
100
            persistent.setMonthday(schedule.getMonthday());
101
            persistent.setHour(schedule.getHour());
102
            persistent.setMinute(schedule.getMinute());
103
            persistent.setSecond(schedule.getSecond());
104
            persistent.setDescription(schedule.getDescription());
105
            persistent.setTargetService(schedule.getTargetService());
106
            DaoFactory.getJobServiceTaskSchedulerDaoImpl().saveOrUpdate(persistent);
107
        }
108
    }
109
 
1082 jmachado 110
    public void runNow(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess)
111
    {
112
        JobServiceTaskScheduler persistent = DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(schedulerId);
113
        logger.info("Will run now task " + persistent.getTargetService() + " id:" + schedulerId);
114
        persistent.setNow(true);
115
    }
116
 
117
    public JobServiceTaskScheduler toggleActive(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess)
118
    {
119
        JobServiceTaskScheduler persistent = DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(schedulerId);
120
        if(persistent.isActive())
121
            logger.info("Will deactivate task " + persistent.getTargetService() + " id:" + schedulerId);
122
        else
123
            logger.info("Will activate task " + persistent.getTargetService() + " id:" + schedulerId);
124
        persistent.setActive(!persistent.isActive());
125
        return persistent;
126
    }
127
 
128
    public void delete(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess)
129
    {
130
 
131
        JobServiceTaskScheduler persistent = DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(schedulerId);
132
        logger.warn("Will delete task " + persistent.getTargetService() + " id:" + schedulerId);
133
        Set<JobServiceTaskSchedulerParameter> params = persistent.getServiceTaskSchedulerParameters();
134
        if(params != null)
135
        {
136
            Iterator<JobServiceTaskSchedulerParameter> iterParam = params.iterator();
137
            while(iterParam.hasNext()) {
138
                JobServiceTaskSchedulerParameter next = iterParam.next();
139
                next.setJobServiceTaskScheduler(null);
140
                iterParam.remove();
141
                DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().delete(next);
142
            }
143
        }
144
        DaoFactory.getJobServiceTaskSchedulerDaoImpl().delete(persistent);
145
    }
146
 
1133 jmachado 147
    public void save(JobServiceTaskSchedulerImpl scheduler
148
            ,1.5.0/docs/api/java/lang/String.html">String jobCloneOnlyNewsKey
149
            ,1.5.0/docs/api/java/lang/String.html">String jobJobGenerateAllPdfsKey
150
            ,1.5.0/docs/api/java/lang/String.html">String jobJobImportYearKey
151
            ,1.5.0/docs/api/java/lang/String.html">String jobJobSemestreKey
152
            ,1.5.0/docs/api/java/lang/String.html">String jobSendEmailKey
153
            ,1.5.0/docs/api/java/lang/String.html">String jobSendIonlineKey
154
            ,1.5.0/docs/api/java/lang/String.html">String jobJobValidateKey
1312 jmachado 155
            ,1.5.0/docs/api/java/lang/String.html">String jobJobInstitutionCode
1133 jmachado 156
            ,UserSession sess)
157
    {
158
        JobServiceTaskSchedulerImpl persistent;
159
        if(scheduler.getId() <= 0)
160
        {
161
            persistent = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
162
            persistent.setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
163
            persistent.setActive(false);
164
            persistent.setCreatedBy(sess.getUser());
165
            DaoFactory.getJobServiceTaskSchedulerDaoImpl().save(persistent);
166
 
167
            logger.info("Will create task scheduller " + persistent.getTargetService() + " id:" + scheduler.getId());
168
        }
169
        else
170
        {
171
            persistent = (JobServiceTaskSchedulerImpl) DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(scheduler.getId());
172
            logger.warn("Will update task scheduller " + persistent.getTargetService() + " id:" + scheduler.getId());
173
        }
174
 
175
        persistent.setTargetService(scheduler.getTargetService());
1312 jmachado 176
        try {
177
            ServiceJob job = ((ServiceJob)1.5.0/docs/api/java/lang/Class.html">Class.forName(scheduler.getTargetService()).newInstance());
178
            persistent.setRunOnlyOnDemand(job.runOnlyOnDemand());
179
        } catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e) {
180
            logger.error(e, e);
181
        }
1133 jmachado 182
        persistent.setDaily(scheduler.isDaily());
183
        persistent.setMonthly(scheduler.isMonthly());
184
        persistent.setWeekly(scheduler.isWeekly());
185
 
186
        persistent.setHour(scheduler.getHour());
187
        persistent.setMinute(scheduler.getMinute());
188
        persistent.setSecond(scheduler.getSecond());
189
        persistent.setDescription(scheduler.getDescription());
190
 
1312 jmachado 191
        //Set<JobServiceTaskSchedulerParameter> params = persistent.getServiceTaskSchedulerParameters();
192
        if(persistent.getTargetService().equals(ImportCourseService.class.getName())     ||
193
           persistent.getTargetService().equals(ImportGradesService.class.getName())     ||
194
           persistent.getTargetService().equals(ImportStudentsService.class.getName())   ||
1369 jmachado 195
           persistent.getTargetService().equals(ImportTeachersService.class.getName())   ||
196
           persistent.getTargetService().equals(CourseUnitsStatisticsJobService.class.getName()))
1133 jmachado 197
        {
1312 jmachado 198
            //if(params == null || params.size() == 0)
199
            //{
200
            createParameterIfNotExist(persistent, ServiceJob.JOB_importYear_KEY);
201
            createParameterIfNotExist(persistent, ServiceJob.JOB_institution_KEY);
202
            //}
203
            for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
1133 jmachado 204
            {
1312 jmachado 205
                if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
206
                {
207
                    param.setObject(jobJobImportYearKey);
208
                }
209
                else if(param.getName().equals(ServiceJob.JOB_institution_KEY))
210
                {
211
                    param.setObject(jobJobInstitutionCode);
212
                }
1133 jmachado 213
            }
214
        }
1300 jmachado 215
        else if(persistent.getTargetService().equals(GenerateCourseUnitProgramsService.class.getName()))
216
        {
1312 jmachado 217
            //if(params == null || params.size() == 0)
218
            //{
219
                createParameterIfNotExist(persistent, ServiceJob.JOB_importYear_KEY);
220
                createParameterIfNotExist(persistent,ServiceJob.JOB_semestre_KEY);
221
            //}
1300 jmachado 222
            for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
223
            {
224
                if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
225
                {
226
                    param.setObject(jobJobImportYearKey);
227
                }
228
                else if(param.getName().equals(ServiceJob.JOB_semestre_KEY))
229
                {
230
                    param.setObject(jobJobSemestreKey);
231
                }
232
            }
233
        }
1133 jmachado 234
        else if(persistent.getTargetService().equals(ImportSumariesJson.class.getName()))
235
        {
1312 jmachado 236
            //if(params == null || params.size() == 0)
237
            //{
238
            createParameterIfNotExist(persistent,ServiceJob.JOB_importYear_KEY);
239
            createParameterIfNotExist(persistent,ServiceJob.JOB_semestre_KEY);
240
            createParameterIfNotExist(persistent,ServiceJob.JOB_sendIonline_KEY);
241
            createParameterIfNotExist(persistent,ServiceJob.JOB_sendEmail_KEY);
242
            createParameterIfNotExist(persistent,ServiceJob.JOB_institution_KEY);
243
            //}
1133 jmachado 244
            for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
245
            {
246
                if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
247
                {
248
                    param.setObject(jobJobImportYearKey);
249
                }
250
                else if(param.getName().equals(ServiceJob.JOB_semestre_KEY))
251
                {
252
                    param.setObject(jobJobSemestreKey);
253
                }
254
                else if(param.getName().equals(ServiceJob.JOB_sendIonline_KEY))
255
                {
256
                    param.setObject(jobSendIonlineKey);
257
                }
258
                else if(param.getName().equals(ServiceJob.JOB_sendEmail_KEY))
259
                {
260
                    param.setObject(jobSendEmailKey);
261
                }
1312 jmachado 262
                else if(param.getName().equals(ServiceJob.JOB_institution_KEY))
263
                {
264
                    param.setObject(jobJobInstitutionCode);
265
                }
1133 jmachado 266
            }
267
 
268
        }
269
        else if(persistent.getTargetService().equals(SincronizeLastYearCourseUnitProgramsService.class.getName()))
270
        {
1312 jmachado 271
            //if(params == null || params.size() == 0)
272
            //{
273
            createParameterIfNotExist(persistent,ServiceJob.JOB_semestre_KEY);
274
            createParameterIfNotExist(persistent,ServiceJob.JOB_importYear_KEY);
275
            createParameterIfNotExist(persistent,ServiceJob.JOB_cloneOnlyNews_KEY);
276
            createParameterIfNotExist(persistent,ServiceJob.JOB_generateAllPdfs_KEY);
277
            createParameterIfNotExist(persistent,ServiceJob.JOB_validate_KEY);
278
            //}
1133 jmachado 279
            for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
280
            {
281
                if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
282
                {
283
                    param.setObject(jobJobImportYearKey);
284
                }
1299 jmachado 285
                else if(param.getName().equals(ServiceJob.JOB_semestre_KEY))
286
                {
287
                    param.setObject(jobJobSemestreKey);
288
                }
1133 jmachado 289
                else if(param.getName().equals(ServiceJob.JOB_cloneOnlyNews_KEY))
290
                {
291
                    param.setObject(jobCloneOnlyNewsKey);
292
                }
293
                else if(param.getName().equals(ServiceJob.JOB_generateAllPdfs_KEY))
294
                {
295
                    param.setObject(jobJobGenerateAllPdfsKey);
296
                }
297
                else if(param.getName().equals(ServiceJob.JOB_validate_KEY))
298
                {
299
                    param.setObject(jobJobValidateKey);
300
                }
301
            }
302
        }
303
    }
304
 
1312 jmachado 305
    private void createParameterIfNotExist(JobServiceTaskSchedulerImpl persistent,1.5.0/docs/api/java/lang/String.html">String name)
306
    {
307
        if(persistent.getServiceTaskSchedulerParameters() != null)
308
        {
309
            boolean found = false;
310
            for(JobServiceTaskSchedulerParameter p: persistent.getServiceTaskSchedulerParameters())
311
            {
312
                if(p.getName().equals(name))
313
                {
314
                    found = true;
315
                    break;
316
                }
317
            }
318
            if(found) //already exist
319
                return;
320
        }
321
        else
322
        {
323
            persistent.setServiceTaskSchedulerParameters(new HashSet<JobServiceTaskSchedulerParameter>());
324
        }
1133 jmachado 325
        JobServiceTaskSchedulerParameterImpl param = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
326
        param.setJobServiceTaskScheduler(persistent);
327
        persistent.getServiceTaskSchedulerParameters().add(param);
328
        param.setName(name);
329
        DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().save(param);
330
    }
331
 
995 jmachado 332
    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws 1.5.0/docs/api/java/sql/SQLException.html">SQLException
333
    {
334
        AbstractDao.getCurrentSession().beginTransaction();
1076 jmachado 335
        scheduleImportSummaries();
1078 jmachado 336
        scheduleImportTeachers();
337
        scheduleImportCourses();
338
        scheduleImportStudents();
1300 jmachado 339
        scheduleGeneratePrograms();
995 jmachado 340
        AbstractDao.getCurrentSession().getTransaction().commit();
341
    }
342
 
343
    public static void scheduleSincronizePrograms()
344
    {
345
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
346
        jobServiceTaskScheduler.setId(0);
347
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
348
        JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
349
        JobServiceTaskSchedulerParameterImpl param3 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
350
        JobServiceTaskSchedulerParameterImpl param4 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
1299 jmachado 351
        JobServiceTaskSchedulerParameterImpl param5 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
995 jmachado 352
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
353
        param2.setJobServiceTaskScheduler(jobServiceTaskScheduler);
354
        param3.setJobServiceTaskScheduler(jobServiceTaskScheduler);
355
        param4.setJobServiceTaskScheduler(jobServiceTaskScheduler);
1299 jmachado 356
        param5.setJobServiceTaskScheduler(jobServiceTaskScheduler);
995 jmachado 357
        param1.setName(SincronizeLastYearCourseUnitProgramsService.JOB_cloneOnlyNews_KEY);
358
        param2.setName(SincronizeLastYearCourseUnitProgramsService.JOB_generateAllPdfs_KEY);
359
        param3.setName(SincronizeLastYearCourseUnitProgramsService.JOB_importYear_KEY);
360
        param4.setName(SincronizeLastYearCourseUnitProgramsService.JOB_validate_KEY);
1299 jmachado 361
        param4.setName(SincronizeLastYearCourseUnitProgramsService.JOB_semestre_KEY);
995 jmachado 362
        param1.setDescription("desc1");
363
        param2.setDescription("desc2");
364
        param3.setDescription("desc3");
365
        param4.setDescription("desc4");
1299 jmachado 366
        param5.setDescription("desc5");
1070 jmachado 367
        param1.setObject("false");
368
        param2.setObject("true");
995 jmachado 369
        param3.setObject("201415");
1070 jmachado 370
        param4.setObject("true");
1299 jmachado 371
        param5.setObject("S1");
995 jmachado 372
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
373
        params.add(param1);
374
        params.add(param2);
375
        params.add(param3);
376
        params.add(param4);
1299 jmachado 377
        params.add(param5);
995 jmachado 378
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
379
 
380
        jobServiceTaskScheduler.setDaily(true);
1070 jmachado 381
        jobServiceTaskScheduler.setMonthday(1);
995 jmachado 382
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
383
        jobServiceTaskScheduler.setHour(01);
384
        jobServiceTaskScheduler.setMinute(0);
385
        jobServiceTaskScheduler.setSecond(0);
386
        jobServiceTaskScheduler.setTargetService(SincronizeLastYearCourseUnitProgramsService.class.getName());
387
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
388
        UserSession sess = new UserSession() {
389
            @1.5.0/docs/api/java/lang/Override.html">Override
390
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
391
                return null;
392
            }
393
        };
394
        sess.setUser(u);
395
        jobServiceTaskScheduler.setDescription("TESTE2");
396
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
397
 
398
    }
399
 
400
    public static void scheduleImportSummaries()
401
    {
402
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
403
        jobServiceTaskScheduler.setId(0);
404
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
405
        JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
406
        JobServiceTaskSchedulerParameterImpl param3 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
407
        JobServiceTaskSchedulerParameterImpl param4 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
408
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
409
        param2.setJobServiceTaskScheduler(jobServiceTaskScheduler);
410
        param3.setJobServiceTaskScheduler(jobServiceTaskScheduler);
411
        param4.setJobServiceTaskScheduler(jobServiceTaskScheduler);
412
        param1.setName(ImportSumariesJson.JOB_importYear_KEY);
413
        param2.setName(ImportSumariesJson.JOB_semestre_KEY);
414
        param3.setName(ImportSumariesJson.JOB_sendEmail_KEY);
415
        param4.setName(ImportSumariesJson.JOB_sendIonline_KEY);
416
        param1.setDescription("desc1");
417
        param2.setDescription("desc2");
418
        param3.setDescription("desc3");
419
        param4.setDescription("desc4");
1078 jmachado 420
        param1.setObject("201516");
995 jmachado 421
        param2.setObject("S1");
1070 jmachado 422
        param3.setObject("false");
1078 jmachado 423
        param4.setObject("true");
995 jmachado 424
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
425
        params.add(param1);
426
        params.add(param2);
427
        params.add(param3);
428
        params.add(param4);
429
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
430
 
431
        jobServiceTaskScheduler.setDaily(true);
1080 jmachado 432
        jobServiceTaskScheduler.setWeekly(false);
433
        jobServiceTaskScheduler.setMonthly(false);
1070 jmachado 434
        jobServiceTaskScheduler.setMonthday(1);
995 jmachado 435
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
1078 jmachado 436
        jobServiceTaskScheduler.setHour(05);
995 jmachado 437
        jobServiceTaskScheduler.setMinute(0);
438
        jobServiceTaskScheduler.setSecond(0);
439
        jobServiceTaskScheduler.setTargetService(ImportSumariesJson.class.getName());
440
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
441
        UserSession sess = new UserSession() {
442
            @1.5.0/docs/api/java/lang/Override.html">Override
443
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
444
                return null;
445
            }
446
        };
447
        sess.setUser(u);
1078 jmachado 448
        jobServiceTaskScheduler.setDescription("Sumarios");
995 jmachado 449
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
450
 
451
    }
452
 
453
    public static void scheduleImportCourses()
454
    {
455
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
456
        jobServiceTaskScheduler.setId(0);
457
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
458
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
459
        param1.setName(ImportCourseService.JOB_importYear_KEY);
460
        param1.setDescription("desc1");
1040 jmachado 461
        param1.setObject("201516");
995 jmachado 462
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
463
        params.add(param1);
464
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
465
 
1078 jmachado 466
        jobServiceTaskScheduler.setDaily(true);
467
        jobServiceTaskScheduler.setMonthly(false);
1070 jmachado 468
        jobServiceTaskScheduler.setMonthday(1);
995 jmachado 469
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
470
        jobServiceTaskScheduler.setHour(01);
471
        jobServiceTaskScheduler.setMinute(0);
472
        jobServiceTaskScheduler.setSecond(0);
473
        jobServiceTaskScheduler.setTargetService(ImportCourseService.class.getName());
474
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
475
        UserSession sess = new UserSession() {
476
            @1.5.0/docs/api/java/lang/Override.html">Override
477
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
478
                return null;
479
            }
480
        };
481
        sess.setUser(u);
1078 jmachado 482
        jobServiceTaskScheduler.setDescription("Cursos");
995 jmachado 483
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
484
 
485
    }
486
 
1040 jmachado 487
 
488
 
995 jmachado 489
    public static void scheduleImportStudents()
490
    {
491
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
492
        jobServiceTaskScheduler.setId(0);
493
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
494
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
996 jmachado 495
        param1.setName(ImportStudentsService.JOB_importYear_KEY);
995 jmachado 496
        param1.setDescription("desc1");
1040 jmachado 497
        param1.setObject("201516");
995 jmachado 498
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
499
        params.add(param1);
500
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
501
 
502
        jobServiceTaskScheduler.setDaily(true);
1078 jmachado 503
        jobServiceTaskScheduler.setMonthly(false);
504
        jobServiceTaskScheduler.setWeekly(false);
995 jmachado 505
        jobServiceTaskScheduler.setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.NOVEMBER);
506
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
1078 jmachado 507
        jobServiceTaskScheduler.setHour(03);
995 jmachado 508
        jobServiceTaskScheduler.setMinute(0);
509
        jobServiceTaskScheduler.setSecond(0);
510
        jobServiceTaskScheduler.setTargetService(ImportStudentsService.class.getName());
511
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
512
        UserSession sess = new UserSession() {
513
            @1.5.0/docs/api/java/lang/Override.html">Override
514
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
515
                return null;
516
            }
517
        };
518
        sess.setUser(u);
1078 jmachado 519
        jobServiceTaskScheduler.setDescription("Estudantes");
995 jmachado 520
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
521
 
522
    }
996 jmachado 523
 
524
    public static void scheduleImportTeachers()
525
    {
526
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
527
        jobServiceTaskScheduler.setId(0);
528
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
529
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
530
        param1.setName(ImportTeachersService.JOB_importYear_KEY);
531
        param1.setDescription("desc1");
1040 jmachado 532
        param1.setObject("201516");
996 jmachado 533
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
534
        params.add(param1);
535
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
536
 
1078 jmachado 537
        jobServiceTaskScheduler.setDaily(true);
538
        jobServiceTaskScheduler.setWeekly(false);
539
        jobServiceTaskScheduler.setMonthly(false);
996 jmachado 540
        jobServiceTaskScheduler.setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.NOVEMBER);
541
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
1078 jmachado 542
        jobServiceTaskScheduler.setHour(02);
996 jmachado 543
        jobServiceTaskScheduler.setMinute(0);
544
        jobServiceTaskScheduler.setSecond(0);
545
        jobServiceTaskScheduler.setTargetService(ImportTeachersService.class.getName());
546
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
547
        UserSession sess = new UserSession() {
548
            @1.5.0/docs/api/java/lang/Override.html">Override
549
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
550
                return null;
551
            }
552
        };
553
        sess.setUser(u);
1078 jmachado 554
        jobServiceTaskScheduler.setDescription("Professores");
996 jmachado 555
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
556
 
557
    }
1300 jmachado 558
 
559
    public static void scheduleGeneratePrograms()
560
    {
561
        JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
562
        jobServiceTaskScheduler.setId(0);
563
        JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
564
        param1.setJobServiceTaskScheduler(jobServiceTaskScheduler);
565
        param1.setName(ImportTeachersService.JOB_importYear_KEY);
566
        param1.setDescription("desc1");
567
        param1.setObject("201516");
568
 
569
        JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
570
        param2.setJobServiceTaskScheduler(jobServiceTaskScheduler);
571
        param2.setName(ImportTeachersService.JOB_semestre_KEY);
572
        param2.setDescription("desc2");
573
        param2.setObject("S1");
574
        Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>();
575
        params.add(param1);
576
        params.add(param2);
577
        jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params);
578
 
579
        jobServiceTaskScheduler.setDaily(true);
580
        jobServiceTaskScheduler.setWeekly(false);
581
        jobServiceTaskScheduler.setMonthly(false);
582
        jobServiceTaskScheduler.setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.NOVEMBER);
583
        jobServiceTaskScheduler.setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.MONDAY);
584
        jobServiceTaskScheduler.setHour(02);
585
        jobServiceTaskScheduler.setMinute(0);
586
        jobServiceTaskScheduler.setSecond(0);
587
        jobServiceTaskScheduler.setTargetService(GenerateCourseUnitProgramsService.class.getName());
588
        User u = (User) DaoFactory.getTeacherDaoImpl().findByEmail("jmachado@estgp.pt").get(0);
589
        UserSession sess = new UserSession() {
590
            @1.5.0/docs/api/java/lang/Override.html">Override
591
            public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable() {
592
                return null;
593
            }
594
        };
595
        sess.setUser(u);
596
        jobServiceTaskScheduler.setDescription("Programas");
597
        new JobScheduleService().createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess);
598
 
599
    }
227 jmachado 600
}