blob: 2b8b037e5d8753c8a9f5589b7bfe675128625a63 [file] [log] [blame]
/*
* Copyright 2012 International Business Machines Corp.
*
* See the NOTICE file distributed with this work for additional information
* regarding copyright ownership. Licensed under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.batchee.container.status;
import org.apache.batchee.container.impl.JobInstanceImpl;
import javax.batch.runtime.BatchStatus;
import javax.batch.runtime.JobInstance;
import java.io.Serializable;
public class JobStatus implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
private JobInstance jobInstance;
private long jobInstanceId;
private String currentStepId;
private BatchStatus batchStatus; // Might be nice to know.
private String exitStatus;
// Assume this will be needed.
private long latestExecutionId;
// How many times the status has been updated.
//TODO - reset to 0?
//private int updateCount;
// TODO - Maybe a job operator would use this?
//private int restartCount;
private String restartOn;
public JobStatus(long jobInstanceId) {
this.jobInstanceId = jobInstanceId;
}
public JobStatus(JobInstance jobInstance) {
this.batchStatus = BatchStatus.STARTING;
//this.restartCount = 0;
// this.updateCount = 0;
this.jobInstance = jobInstance;
this.jobInstanceId = jobInstance.getInstanceId();
}
public long getJobInstanceId() {
return this.jobInstanceId;
}
public void setJobInstance(JobInstance jobInstance) {
this.jobInstance = jobInstance;
}
public JobInstanceImpl getJobInstance() {
return (JobInstanceImpl) jobInstance;
}
public String getCurrentStepId() {
return currentStepId;
}
public void setCurrentStepId(String currentStepId) {
this.currentStepId = currentStepId;
}
public BatchStatus getBatchStatus() {
return batchStatus;
}
public void setBatchStatus(BatchStatus batchStatus) {
this.batchStatus = batchStatus;
}
public long getLatestExecutionId() {
return latestExecutionId;
}
public void setLatestExecutionId(long latestExecutionId) {
this.latestExecutionId = latestExecutionId;
}
/*
public int getUpdateCount() {
return updateCount;
}
public void setUpdateCount(int updateCount) {
this.updateCount = updateCount;
}
public int getRestartCount() {
return restartCount;
}
public void setRestartCount(int restartCount) {
this.restartCount = restartCount;
}
*/
@Override
public String toString() {
return (",currentStepId: " + currentStepId) + ",batchStatus: " + batchStatus + ",latestExecutionId: " + latestExecutionId + ",restartOn: " + restartOn;
}
public void setExitStatus(String exitStatus) {
this.exitStatus = exitStatus;
}
public String getExitStatus() {
return exitStatus;
}
public String getRestartOn() {
return restartOn;
}
public void setRestartOn(String restartOn) {
this.restartOn = restartOn;
}
}