package pt.estgp.estgweb.services.jobs;
import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.sigesimports.*;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.*;
/**
* @author Jorge Machado
* @date 11/Jul/2008
* @see pt.estgp.estgweb.services.jobs
*/
public class JobScheduleService
implements IService
{
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);
private static JobScheduleService instance =
new JobScheduleService
();
public static JobScheduleService getInstance
()
{
return instance
;
}
public void scheduleNow
(JobHandler handler,
1.5.0/docs/api/java/lang/String.html">String description, UserSession userSession
)
{
schedule
(handler, description,
new 5+0%2Fdocs%2Fapi+Date">Date(),userSession
);
}
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
)
{
Job job = DomainObjectFactory.
createJobImpl();
if(userSession
!=
null && userSession.
getUser() !=
null)
job.
setOwner(userSession.
getUser());
job.
setDescription(description
);
job.
setStartDate(startDate
);
job.
setJobHandler(handler
);
DaoFactory.
getJobDaoImpl().
save(job
);
}
/*
public void scheduleServiceTask(JobServiceTask job, String description, Date startDate, UserSession userSession)
{
//Job job = DomainObjectFactory.createJobImpl();
if(userSession != null && userSession.getUser() != null)
job.setOwner(userSession.getUser());
job.setDescription(description);
job.setStartDate(startDate);
//job.setJobHandler(); The handler is the specific Job
DaoFactory.getJobDaoImpl().save(job);
}
*/
public void createOrUpdateScheduleServiceTask
(JobServiceTaskScheduler schedule, UserSession userSession
)
{
if(schedule.
getId() <= 0
)
{
schedule.
setCreatedBy(userSession.
getUser());
//job.setJobHandler(); The handler is the specific Job
DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
save(schedule
);
for(JobServiceTaskSchedulerParameter param: schedule.
getServiceTaskSchedulerParameters())
{
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
save(param
);
}
}
else
{
JobServiceTaskScheduler persistent = DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
load(schedule.
getId());
//delete old parameters
Iterator
<JobServiceTaskSchedulerParameter
> iter = persistent.
getServiceTaskSchedulerParameters().
iterator();
while(iter.
hasNext())
{
JobServiceTaskSchedulerParameter param = iter.
next();
iter.
remove();
param.
setJobServiceTaskScheduler(null);
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
delete(param
);
//DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().evict(param);
}
DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
saveOrUpdate(persistent
);
//set new ones
for(JobServiceTaskSchedulerParameter param: schedule.
getServiceTaskSchedulerParameters())
{
persistent.
getServiceTaskSchedulerParameters().
add(param
);
param.
setJobServiceTaskScheduler(persistent
);
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
save(param
);
}
persistent.
setServiceTaskSchedulerParameters(schedule.
getServiceTaskSchedulerParameters());
persistent.
setNow(schedule.
isNow());
persistent.
setDaily(schedule.
isDaily());
persistent.
setWeekly(schedule.
isWeekly());
persistent.
setMonthly(schedule.
isMonthly());
persistent.
setWeekday(schedule.
getWeekday());
persistent.
setMonthday(schedule.
getMonthday());
persistent.
setHour(schedule.
getHour());
persistent.
setMinute(schedule.
getMinute());
persistent.
setSecond(schedule.
getSecond());
persistent.
setDescription(schedule.
getDescription());
persistent.
setTargetService(schedule.
getTargetService());
DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
saveOrUpdate(persistent
);
}
}
public void runNow
(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess
)
{
JobServiceTaskScheduler persistent = DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
load(schedulerId
);
logger.
info("Will run now task " + persistent.
getTargetService() +
" id:" + schedulerId
);
persistent.
setNow(true);
}
public JobServiceTaskScheduler toggleActive
(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess
)
{
JobServiceTaskScheduler persistent = DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
load(schedulerId
);
if(persistent.
isActive())
logger.
info("Will deactivate task " + persistent.
getTargetService() +
" id:" + schedulerId
);
else
logger.
info("Will activate task " + persistent.
getTargetService() +
" id:" + schedulerId
);
persistent.
setActive(!persistent.
isActive());
return persistent
;
}
public void delete
(1.5.0/docs/api/java/lang/Long.html">Long schedulerId, UserSession sess
)
{
JobServiceTaskScheduler persistent = DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
load(schedulerId
);
logger.
warn("Will delete task " + persistent.
getTargetService() +
" id:" + schedulerId
);
Set
<JobServiceTaskSchedulerParameter
> params = persistent.
getServiceTaskSchedulerParameters();
if(params
!=
null)
{
Iterator
<JobServiceTaskSchedulerParameter
> iterParam = params.
iterator();
while(iterParam.
hasNext()) {
JobServiceTaskSchedulerParameter next = iterParam.
next();
next.
setJobServiceTaskScheduler(null);
iterParam.
remove();
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
delete(next
);
}
}
DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
delete(persistent
);
}
public void save
(JobServiceTaskSchedulerImpl scheduler
,
1.5.0/docs/api/java/lang/String.html">String jobCloneOnlyNewsKey
,
1.5.0/docs/api/java/lang/String.html">String jobJobGenerateAllPdfsKey
,
1.5.0/docs/api/java/lang/String.html">String jobJobImportYearKey
,
1.5.0/docs/api/java/lang/String.html">String jobJobSemestreKey
,
1.5.0/docs/api/java/lang/String.html">String jobSendEmailKey
,
1.5.0/docs/api/java/lang/String.html">String jobSendIonlineKey
,
1.5.0/docs/api/java/lang/String.html">String jobJobValidateKey
,UserSession sess
)
{
JobServiceTaskSchedulerImpl persistent
;
if(scheduler.
getId() <= 0
)
{
persistent = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
persistent.
setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
persistent.
setActive(false);
persistent.
setCreatedBy(sess.
getUser());
DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
save(persistent
);
logger.
info("Will create task scheduller " + persistent.
getTargetService() +
" id:" + scheduler.
getId());
}
else
{
persistent =
(JobServiceTaskSchedulerImpl
) DaoFactory.
getJobServiceTaskSchedulerDaoImpl().
load(scheduler.
getId());
logger.
warn("Will update task scheduller " + persistent.
getTargetService() +
" id:" + scheduler.
getId());
}
persistent.
setTargetService(scheduler.
getTargetService());
persistent.
setDaily(scheduler.
isDaily());
persistent.
setMonthly(scheduler.
isMonthly());
persistent.
setWeekly(scheduler.
isWeekly());
persistent.
setHour(scheduler.
getHour());
persistent.
setMinute(scheduler.
getMinute());
persistent.
setSecond(scheduler.
getSecond());
persistent.
setDescription(scheduler.
getDescription());
Set
<JobServiceTaskSchedulerParameter
> params = persistent.
getServiceTaskSchedulerParameters();
if(persistent.
getTargetService().
equals(ImportCourseService.
class.
getName()) ||
persistent.
getTargetService().
equals(ImportGradesService.
class.
getName()) ||
persistent.
getTargetService().
equals(ImportStudentsService.
class.
getName()) ||
persistent.
getTargetService().
equals(ImportTeachersService.
class.
getName()))
{
if(params ==
null || params.
size() == 0
)
{
createParameter
(persistent,ServiceJob.
JOB_importYear_KEY);
}
JobServiceTaskSchedulerParameter parameter = params.
iterator().
next();
parameter.
setObject(jobJobImportYearKey
);
}
else if(persistent.
getTargetService().
equals(GenerateCourseUnitProgramsService.
class.
getName()))
{
if(params ==
null || params.
size() == 0
)
{
createParameter
(persistent,ServiceJob.
JOB_importYear_KEY);
createParameter
(persistent,ServiceJob.
JOB_semestre_KEY);
}
for(JobServiceTaskSchedulerParameter param:persistent.
getServiceTaskSchedulerParameters())
{
if(param.
getName().
equals(ServiceJob.
JOB_importYear_KEY))
{
param.
setObject(jobJobImportYearKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_semestre_KEY))
{
param.
setObject(jobJobSemestreKey
);
}
}
}
else if(persistent.
getTargetService().
equals(ImportSumariesJson.
class.
getName()))
{
if(params ==
null || params.
size() == 0
)
{
createParameter
(persistent,ServiceJob.
JOB_importYear_KEY);
createParameter
(persistent,ServiceJob.
JOB_semestre_KEY);
createParameter
(persistent,ServiceJob.
JOB_sendIonline_KEY);
createParameter
(persistent,ServiceJob.
JOB_sendEmail_KEY);
}
for(JobServiceTaskSchedulerParameter param:persistent.
getServiceTaskSchedulerParameters())
{
if(param.
getName().
equals(ServiceJob.
JOB_importYear_KEY))
{
param.
setObject(jobJobImportYearKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_semestre_KEY))
{
param.
setObject(jobJobSemestreKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_sendIonline_KEY))
{
param.
setObject(jobSendIonlineKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_sendEmail_KEY))
{
param.
setObject(jobSendEmailKey
);
}
}
}
else if(persistent.
getTargetService().
equals(SincronizeLastYearCourseUnitProgramsService.
class.
getName()))
{
if(params ==
null || params.
size() == 0
)
{
createParameter
(persistent,ServiceJob.
JOB_semestre_KEY);
createParameter
(persistent,ServiceJob.
JOB_importYear_KEY);
createParameter
(persistent,ServiceJob.
JOB_cloneOnlyNews_KEY);
createParameter
(persistent,ServiceJob.
JOB_generateAllPdfs_KEY);
createParameter
(persistent,ServiceJob.
JOB_validate_KEY);
}
for(JobServiceTaskSchedulerParameter param:persistent.
getServiceTaskSchedulerParameters())
{
if(param.
getName().
equals(ServiceJob.
JOB_importYear_KEY))
{
param.
setObject(jobJobImportYearKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_semestre_KEY))
{
param.
setObject(jobJobSemestreKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_cloneOnlyNews_KEY))
{
param.
setObject(jobCloneOnlyNewsKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_generateAllPdfs_KEY))
{
param.
setObject(jobJobGenerateAllPdfsKey
);
}
else if(param.
getName().
equals(ServiceJob.
JOB_validate_KEY))
{
param.
setObject(jobJobValidateKey
);
}
}
}
}
private void createParameter
(JobServiceTaskSchedulerImpl persistent,
1.5.0/docs/api/java/lang/String.html">String name
) {
JobServiceTaskSchedulerParameterImpl param = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param.
setJobServiceTaskScheduler(persistent
);
persistent.
getServiceTaskSchedulerParameters().
add(param
);
param.
setName(name
);
DaoFactory.
getJobServiceTaskSchedulerParameterDaoImpl().
save(param
);
}
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
{
AbstractDao.
getCurrentSession().
beginTransaction();
scheduleImportSummaries
();
scheduleImportTeachers
();
scheduleImportCourses
();
scheduleImportStudents
();
scheduleGeneratePrograms
();
AbstractDao.
getCurrentSession().
getTransaction().
commit();
}
public static void scheduleSincronizePrograms
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param3 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param4 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param5 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param2.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param3.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param4.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param5.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(SincronizeLastYearCourseUnitProgramsService.
JOB_cloneOnlyNews_KEY);
param2.
setName(SincronizeLastYearCourseUnitProgramsService.
JOB_generateAllPdfs_KEY);
param3.
setName(SincronizeLastYearCourseUnitProgramsService.
JOB_importYear_KEY);
param4.
setName(SincronizeLastYearCourseUnitProgramsService.
JOB_validate_KEY);
param4.
setName(SincronizeLastYearCourseUnitProgramsService.
JOB_semestre_KEY);
param1.
setDescription("desc1");
param2.
setDescription("desc2");
param3.
setDescription("desc3");
param4.
setDescription("desc4");
param5.
setDescription("desc5");
param1.
setObject("false");
param2.
setObject("true");
param3.
setObject("201415");
param4.
setObject("true");
param5.
setObject("S1");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
params.
add(param2
);
params.
add(param3
);
params.
add(param4
);
params.
add(param5
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setMonthday(1
);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(01
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(SincronizeLastYearCourseUnitProgramsService.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("TESTE2");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
public static void scheduleImportSummaries
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param3 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
JobServiceTaskSchedulerParameterImpl param4 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param2.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param3.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param4.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(ImportSumariesJson.
JOB_importYear_KEY);
param2.
setName(ImportSumariesJson.
JOB_semestre_KEY);
param3.
setName(ImportSumariesJson.
JOB_sendEmail_KEY);
param4.
setName(ImportSumariesJson.
JOB_sendIonline_KEY);
param1.
setDescription("desc1");
param2.
setDescription("desc2");
param3.
setDescription("desc3");
param4.
setDescription("desc4");
param1.
setObject("201516");
param2.
setObject("S1");
param3.
setObject("false");
param4.
setObject("true");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
params.
add(param2
);
params.
add(param3
);
params.
add(param4
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setWeekly(false);
jobServiceTaskScheduler.
setMonthly(false);
jobServiceTaskScheduler.
setMonthday(1
);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(05
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(ImportSumariesJson.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("Sumarios");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
public static void scheduleImportCourses
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(ImportCourseService.
JOB_importYear_KEY);
param1.
setDescription("desc1");
param1.
setObject("201516");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setMonthly(false);
jobServiceTaskScheduler.
setMonthday(1
);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(01
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(ImportCourseService.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("Cursos");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
public static void scheduleImportStudents
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(ImportStudentsService.
JOB_importYear_KEY);
param1.
setDescription("desc1");
param1.
setObject("201516");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setMonthly(false);
jobServiceTaskScheduler.
setWeekly(false);
jobServiceTaskScheduler.
setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
NOVEMBER);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(03
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(ImportStudentsService.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("Estudantes");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
public static void scheduleImportTeachers
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(ImportTeachersService.
JOB_importYear_KEY);
param1.
setDescription("desc1");
param1.
setObject("201516");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setWeekly(false);
jobServiceTaskScheduler.
setMonthly(false);
jobServiceTaskScheduler.
setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
NOVEMBER);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(02
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(ImportTeachersService.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("Professores");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
public static void scheduleGeneratePrograms
()
{
JobServiceTaskScheduler jobServiceTaskScheduler = DomainObjectFactory.
createJobServiceTaskSchedulerImpl();
jobServiceTaskScheduler.
setId(0
);
JobServiceTaskSchedulerParameterImpl param1 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param1.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param1.
setName(ImportTeachersService.
JOB_importYear_KEY);
param1.
setDescription("desc1");
param1.
setObject("201516");
JobServiceTaskSchedulerParameterImpl param2 = DomainObjectFactory.
createJobServiceTaskSchedulerParameterImpl();
param2.
setJobServiceTaskScheduler(jobServiceTaskScheduler
);
param2.
setName(ImportTeachersService.
JOB_semestre_KEY);
param2.
setDescription("desc2");
param2.
setObject("S1");
Set
<JobServiceTaskSchedulerParameter
> params =
new HashSet
<JobServiceTaskSchedulerParameter
>();
params.
add(param1
);
params.
add(param2
);
jobServiceTaskScheduler.
setServiceTaskSchedulerParameters(params
);
jobServiceTaskScheduler.
setDaily(true);
jobServiceTaskScheduler.
setWeekly(false);
jobServiceTaskScheduler.
setMonthly(false);
jobServiceTaskScheduler.
setMonthday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
NOVEMBER);
jobServiceTaskScheduler.
setWeekday(1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar.
MONDAY);
jobServiceTaskScheduler.
setHour(02
);
jobServiceTaskScheduler.
setMinute(0
);
jobServiceTaskScheduler.
setSecond(0
);
jobServiceTaskScheduler.
setTargetService(GenerateCourseUnitProgramsService.
class.
getName());
User u =
(User
) DaoFactory.
getTeacherDaoImpl().
findByEmail("jmachado@estgp.pt").
get(0
);
UserSession sess =
new UserSession
() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
() {
return null;
}
};
sess.
setUser(u
);
jobServiceTaskScheduler.
setDescription("Programas");
new JobScheduleService
().
createOrUpdateScheduleServiceTask(jobServiceTaskScheduler,sess
);
}
}