All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.n3r.quartz.glass.log.execution.JobExecution Maven / Gradle / Ivy

There is a newer version: 0.0.9
Show newest version
package org.n3r.quartz.glass.log.execution;

import org.n3r.quartz.glass.job.util.JobDataMapUtils;
import org.n3r.quartz.glass.util.Dates;
import org.n3r.quartz.glass.util.Jobs;
import org.n3r.quartz.glass.util.Keys;
import org.n3r.quartz.glass.web.util.JobWrapperForView;
import org.quartz.JobExecutionContext;
import org.quartz.JobKey;
import org.quartz.TriggerKey;

import java.util.Date;

/**
 * Summary of a job execution stored as a log.
 */
public class JobExecution {
    private Long id;

    private Date startDate;

    private Date endDate;

    private boolean ended;

    private String jobKey;
    private String triggerKey;

    private String jobGroup;

    private String jobName;

    private String triggerGroup;

    private String triggerName;

    private String jobClass;

    private String dataMap;

    private JobExecutionResult result = JobExecutionResult.SUCCESS;

    public JobExecution() {

    }

    /**
     * Fill common attributes with properties from context.
     */
    public void fillWithContext(JobExecutionContext context) {
        startDate = context.getFireTime();

        jobClass = Jobs.jobCass(context.getJobDetail()).getName();

        JobKey key = context.getJobDetail().getKey();
        jobKey = Keys.desc(key);
        jobGroup = key.getGroup();
        jobName = key.getName();
        TriggerKey key2 = context.getTrigger().getKey();
        triggerKey = Keys.desc(key2);
        triggerGroup = key2.getGroup();
        triggerName = key2.getName();
        dataMap = JobDataMapUtils.toProperties(context.getMergedJobDataMap());
    }

    public void warn() {
        if (this.result == JobExecutionResult.ERROR) return;

        result = JobExecutionResult.WARN;
    }

    public void error() {
        result = JobExecutionResult.ERROR;
    }

    public JobExecutionResult getResult() {
        return result;
    }

    public void setResult(JobExecutionResult result) {
        if (result == null) result = JobExecutionResult.SUCCESS;

        this.result = result;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public boolean isEnded() {
        return ended;
    }

    public void setEnded(boolean ended) {
        this.ended = ended;
    }

    public void setStartDate(Date startDate) {
        this.startDate = Dates.copy(startDate);
    }

    public Date getStartDate() {
        return Dates.copy(startDate);
    }

    public Date getEndDate() {
        return Dates.copy(endDate);
    }

    public void setEndDate(Date endDate) {
        this.endDate = Dates.copy(endDate);
    }

    public String getJobClass() {
        return jobClass;
    }

    public void setJobClass(String jobClass) {
        this.jobClass = jobClass;
    }

    public String getJobGroup() {
        return jobGroup;
    }

    public void setJobGroup(String jobGroup) {
        this.jobGroup = jobGroup;
    }

    public String getJobName() {
        return jobName;
    }

    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    public String getTriggerGroup() {
        return triggerGroup;
    }

    public void setTriggerGroup(String triggerGroup) {
        this.triggerGroup = triggerGroup;
    }

    public String getTriggerName() {
        return triggerName;
    }

    public void setTriggerName(String triggerName) {
        this.triggerName = triggerName;
    }

    public String getDataMap() {
        return dataMap;
    }

    public void setDataMap(String dataMap) {
        this.dataMap = dataMap;
    }

    @Override
    public String toString() {
        return "JobExecution{" +
                "id=" + id +
                ", startDate=" + startDate +
                ", endDate=" + endDate +
                ", ended=" + ended +
                ", jobGroup='" + jobGroup + '\'' +
                ", jobName='" + jobName + '\'' +
                ", triggerGroup='" + triggerGroup + '\'' +
                ", triggerName='" + triggerName + '\'' +
                ", jobClass='" + jobClass + '\'' +
                ", dataMap='" + dataMap + '\'' +
                ", result=" + result +
                '}';
    }

    public String getTriggerKey() {
        return triggerKey;
    }

    public void setTriggerKey(String triggerKey) {
        this.triggerKey = triggerKey;
    }

    public String getJobKey() {
        return jobKey;
    }

    public void setJobKey(String jobKey) {
        this.jobKey = jobKey;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy