package com.jaeksoft.searchlib.webservice.scheduler;
import com.jaeksoft.searchlib.config.Config;
import com.jaeksoft.searchlib.scheduler.*;
import java.util.*;
/**
* Created by aureliengiudici on 22/04/2016.
*/
public class SchedulerDefinition {
public String name;
public String type;
public TaskCronExpression cron;
public String mailRecipients;
public boolean active;
public boolean emailNotification;
public LinkedHashMap<String, Map<String, String>> tasks;
private Config config;
private List<TaskItem> tasksList = new ArrayList<>();
SchedulerDefinition() {
}
public void initialize() {
TaskItem taskItem;
TaskAbstract taskAbstract;
for (Map.Entry<String, Map<String, String>> item : tasks.entrySet()) {
taskAbstract = config.getJobTaskEnum().findClass(item.getKey());
taskItem = new TaskItem(this.config, taskAbstract);
for (Map.Entry<String, String> prop : item.getValue().entrySet())
taskItem.getProperties()
.setValue(taskAbstract.findPropertyByConfigName(prop.getKey()), prop.getValue());
this.tasksList.add(new TaskItem(taskItem));
}
}
public void setConfig(Config conf) {
this.config = conf;
}
public Config getConfig() {
return this.config;
}
public List<TaskItem> getTasksList() {
return this.tasksList;
}
}