1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.logic;
20
21 import java.time.OffsetDateTime;
22 import java.util.List;
23 import org.apache.commons.lang3.tuple.Pair;
24 import org.apache.syncope.common.lib.to.EntityTO;
25 import org.apache.syncope.common.lib.to.ExecTO;
26 import org.apache.syncope.common.lib.to.JobTO;
27 import org.apache.syncope.common.lib.types.JobAction;
28 import org.apache.syncope.common.rest.api.batch.BatchResponseItem;
29 import org.apache.syncope.core.persistence.api.dao.JobStatusDAO;
30 import org.apache.syncope.core.persistence.api.dao.search.OrderByClause;
31 import org.apache.syncope.core.provisioning.api.job.JobManager;
32 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
33
34 public abstract class AbstractExecutableLogic<T extends EntityTO> extends AbstractJobLogic<T> {
35
36 public AbstractExecutableLogic(
37 final JobManager jobManager,
38 final SchedulerFactoryBean scheduler,
39 final JobStatusDAO jobStatusDAO) {
40
41 super(jobManager, scheduler, jobStatusDAO);
42 }
43
44 public abstract ExecTO execute(String key, OffsetDateTime startAt, boolean dryRun);
45
46 public abstract Pair<Integer, List<ExecTO>> listExecutions(
47 String key,
48 OffsetDateTime before,
49 OffsetDateTime after,
50 int page,
51 int size,
52 List<OrderByClause> orderByClauses);
53
54 public abstract List<ExecTO> listRecentExecutions(int max);
55
56 public abstract ExecTO deleteExecution(String executionKey);
57
58 public abstract List<BatchResponseItem> deleteExecutions(
59 String key,
60 OffsetDateTime before,
61 OffsetDateTime after);
62
63 public abstract JobTO getJob(String key);
64
65 public abstract List<JobTO> listJobs();
66
67 public abstract void actionJob(String key, JobAction action);
68 }