01: package org.romaframework.module.schedulerquartz.view.domain.quartzschedulerevent;
02:
03: import java.util.ArrayList;
04: import java.util.List;
05:
06: import org.romaframework.aspect.core.annotation.AnnotationConstants;
07: import org.romaframework.aspect.core.annotation.CoreField;
08: import org.romaframework.aspect.scheduler.SchedulerAspect;
09: import org.romaframework.core.flow.ObjectContext;
10: import org.romaframework.module.crud.CRUDMain;
11:
12: public class QuartzSchedulerEventMain extends
13: CRUDMain<QuartzSchedulerEventListable> {
14: public QuartzSchedulerEventMain() {
15: this (null);
16: }
17:
18: public QuartzSchedulerEventMain(Object iBackObject) {
19: super (QuartzSchedulerEventListable.class,
20: QuartzSchedulerEventInstance.class,
21: QuartzSchedulerEventInstance.class,
22: QuartzSchedulerEventInstance.class);
23: setBackObject(iBackObject);
24:
25: filter = new QuartzSchedulerEventFilter();
26: result = new ArrayList<QuartzSchedulerEventListable>();
27: }
28:
29: @Override
30: public void delete() throws InstantiationException,
31: IllegalAccessException {
32:
33: Object[] triggers = getSelection();
34: for (int i = 0; i < triggers.length; i++)
35: ObjectContext.getInstance().getComponent(
36: SchedulerAspect.class).unSchedule(
37: ((QuartzSchedulerEventListable) triggers[i])
38: .getEntity());
39:
40: super .delete();
41: }
42:
43: public void pause() throws InstantiationException,
44: IllegalAccessException {
45:
46: Object[] triggers = getSelection();
47: for (int i = 0; i < triggers.length; i++)
48: ObjectContext.getInstance().getComponent(
49: SchedulerAspect.class).pauseJob(
50: ((QuartzSchedulerEventListable) triggers[i])
51: .getEntity());
52: }
53:
54: @Override
55: public QuartzSchedulerEventFilter getFilter() {
56: return filter;
57: }
58:
59: @Override
60: public List<QuartzSchedulerEventListable> getResult() {
61: return result;
62: }
63:
64: @Override
65: public void setResult(Object iValue) {
66: result = (List<QuartzSchedulerEventListable>) iValue;
67: }
68:
69: public void execute() {
70: Object[] triggers = getSelection();
71: if (triggers == null)
72: return;
73:
74: for (int i = 0; i < triggers.length; i++) {
75: ObjectContext.getInstance().getComponent(
76: SchedulerAspect.class).executeNow(
77: ((QuartzSchedulerEventListable) triggers[i])
78: .getEntity());
79: }
80: }
81:
82: @CoreField(embedded=AnnotationConstants.TRUE)
83: protected QuartzSchedulerEventFilter filter;
84:
85: protected List<QuartzSchedulerEventListable> result;
86: }
|