package org.safehaus.penrose.scheduler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.safehaus.penrose.partition.Partition;
import org.safehaus.penrose.session.SessionManager;
import org.safehaus.penrose.session.Session;
import java.util.Collection;
/**
* @author Endi Sukma Dewata
*/
public class Job {
public Logger log = LoggerFactory.getLogger(getClass());
protected JobConfig jobConfig;
protected JobContext jobContext;
protected Partition partition;
public void init(JobConfig jobConfig, JobContext jobContext) throws Exception {
this.jobConfig = jobConfig;
this.jobContext = jobContext;
partition = jobContext.getPartition();
log.debug("Initializing "+jobConfig.getName()+" job.");
init();
}
public void init() throws Exception {
}
public void execute() throws Exception {
}
public void destroy() throws Exception {
}
public String getDescription() {
return jobConfig.getDescription();
}
public String getParameter(String name) {
return jobConfig.getParameter(name);
}
public Collection<String> getParameterNames() {
return jobConfig.getParameterNames();
}
public String getName() {
return jobConfig.getName();
}
public JobConfig getJobConfig() {
return jobConfig;
}
public void setJobConfig(JobConfig jobConfig) {
this.jobConfig = jobConfig;
}
public JobContext getJobContext() {
return jobContext;
}
public void setJobContext(JobContext jobContext) {
this.jobContext = jobContext;
}
public Partition getPartition() {
return jobContext.getPartition();
}
public void setPartition(Partition partition) {
this.partition = partition;
}
public Session createAdminSession() throws Exception {
SessionManager sessionManager = getPartition().getPartitionContext().getSessionManager();
return sessionManager.createAdminSession();
}
}