package org.fastcatsearch.settings;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import org.fastcatsearch.ir.common.IndexingType;
@XmlRootElement(name="scheduler")
public class SchedulerSetting {
List<IndexingSchedule> indexingScheduleList;
List<JobSchedule> jobScheduleList;
@XmlElementWrapper(name="indexing-schedule-list")
@XmlElement(name="indexing-schedule")
public List<IndexingSchedule> getIndexingScheduleList() {
return indexingScheduleList;
}
public void setIndexingScheduleList(List<IndexingSchedule> indexingScheduleList) {
this.indexingScheduleList = indexingScheduleList;
}
@XmlElementWrapper(name="job-schedule-list")
@XmlElement(name="job-schedule")
public List<JobSchedule> getJobScheduleList() {
return jobScheduleList;
}
public void setJobScheduleList(List<JobSchedule> jobScheduleList) {
this.jobScheduleList = jobScheduleList;
}
public static class Param {
private String key;
private String value;
@XmlAttribute
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
@XmlElement
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
public static class JobSchedule {
private String id;
private String name;
private String job;
private String shell;
private boolean active;
private List<Param> paramList;
private String start;
private String end;
private int periodInSecond;
@XmlAttribute
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@XmlAttribute
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlAttribute
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
@XmlAttribute
public String getShell() {
return shell;
}
public void setShell(String shell) {
this.shell = shell;
}
@XmlAttribute
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
@XmlElement(name="param")
public List<Param> getParamList() {
return paramList;
}
public void setParamList(List<Param> paramList) {
this.paramList = paramList;
}
@XmlAttribute
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
@XmlAttribute
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
@XmlAttribute
public int getPeriodInSecond() {
return periodInSecond;
}
public void setPeriodInSecond(int periodInSecond) {
this.periodInSecond = periodInSecond;
}
}
public static class IndexingSchedule {
private String collectionId;
private IndexingType indexingType;
private boolean active;
private String scheduleType;
private String start;
private String end;
private int periodInSecond;
@XmlAttribute
public String getCollectionId() {
return collectionId;
}
public void setCollectionId(String collectionId) {
this.collectionId = collectionId;
}
@XmlAttribute
public IndexingType getIndexingType() {
return indexingType;
}
public void setIndexingType(IndexingType indexingType) {
this.indexingType = indexingType;
}
@XmlAttribute
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
@XmlAttribute
public String getScheduleType() {
return scheduleType;
}
public void setScheduleType(String scheduleType) {
this.scheduleType = scheduleType;
}
@XmlAttribute
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
@XmlAttribute
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
@XmlAttribute
public int getPeriodInSecond() {
return periodInSecond;
}
public void setPeriodInSecond(int periodInSecond) {
this.periodInSecond = periodInSecond;
}
}
}