/* * 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; } }