OPEN - issue BATCH-90: StepExecution and StepExecutionContext are parallel domains, and StepExecution is by comparison anaemic
http://opensource.atlassian.com/projects/spring/browse/BATCH-90 Add ExitStatus to *Execution entities
This commit is contained in:
@@ -21,6 +21,7 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.springframework.batch.core.runtime.JobIdentifier;
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
import org.springframework.batch.repeat.RepeatContext;
|
||||
|
||||
/**
|
||||
@@ -45,7 +46,7 @@ public class JobExecution extends Entity {
|
||||
|
||||
private Timestamp endTime = null;
|
||||
|
||||
private String exitCode = "";
|
||||
private ExitStatus exitStatus = ExitStatus.UNKNOWN;
|
||||
|
||||
// Package private constructor for Hibernate
|
||||
JobExecution() {
|
||||
@@ -110,17 +111,17 @@ public class JobExecution extends Entity {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param exitCode
|
||||
* @param exitStatus
|
||||
*/
|
||||
public void setExitCode(String exitCode) {
|
||||
this.exitCode = exitCode;
|
||||
public void setExitStatus(ExitStatus exitStatus) {
|
||||
this.exitStatus = exitStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the exitCode
|
||||
*/
|
||||
public String getExitCode() {
|
||||
return exitCode;
|
||||
public ExitStatus getExitStatus() {
|
||||
return exitStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -130,7 +131,7 @@ public class JobExecution extends Entity {
|
||||
* be multiple active contexts.
|
||||
*
|
||||
* @return all the chunk contexts that have been registered and not
|
||||
* unregistered. A collection opf {@link RepeatContext} objects.
|
||||
* unregistered. A collection of {@link RepeatContext} objects.
|
||||
*/
|
||||
public Collection getChunkContexts() {
|
||||
synchronized (chunkContexts) {
|
||||
|
||||
@@ -19,6 +19,8 @@ package org.springframework.batch.core.domain;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
|
||||
/**
|
||||
* Batch domain object representation the execution of a step. Unlike
|
||||
* JobExecution, there are four additional properties: luwCount, commitCount,
|
||||
@@ -51,10 +53,8 @@ public class StepExecution extends Entity {
|
||||
|
||||
private Properties statistics = new Properties();
|
||||
|
||||
private String exitCode = "";
|
||||
private ExitStatus exitStatus = ExitStatus.UNKNOWN;
|
||||
|
||||
private String exitDescription = "";
|
||||
|
||||
private Throwable exception;
|
||||
|
||||
/**
|
||||
@@ -199,17 +199,17 @@ public class StepExecution extends Entity {
|
||||
|
||||
|
||||
/**
|
||||
* @param exitCode
|
||||
* @param exitStatus
|
||||
*/
|
||||
public void setExitCode(String exitCode) {
|
||||
this.exitCode = exitCode;
|
||||
public void setExitStatus(ExitStatus exitStatus) {
|
||||
this.exitStatus = exitStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the exitCode
|
||||
*/
|
||||
public String getExitCode() {
|
||||
return exitCode;
|
||||
public ExitStatus getExitStatus() {
|
||||
return exitStatus;
|
||||
}
|
||||
|
||||
public void setException(Throwable exception) {
|
||||
@@ -219,14 +219,6 @@ public class StepExecution extends Entity {
|
||||
public Throwable getException() {
|
||||
return exception;
|
||||
}
|
||||
|
||||
public void setExitDescription(String exitDescription) {
|
||||
this.exitDescription = exitDescription;
|
||||
}
|
||||
|
||||
public String getExitDescription() {
|
||||
return exitDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor for the step governing this execution.
|
||||
|
||||
@@ -20,6 +20,7 @@ import java.sql.Timestamp;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.springframework.batch.core.runtime.SimpleJobIdentifier;
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
import org.springframework.batch.repeat.context.RepeatContextSupport;
|
||||
|
||||
/**
|
||||
@@ -75,12 +76,27 @@ public class JobExecutionTests extends TestCase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link org.springframework.batch.core.domain.JobExecution#getExitCode()}.
|
||||
* Test method for {@link org.springframework.batch.core.domain.JobExecution#getJobId()}.
|
||||
*/
|
||||
public void testGetJobIdForNullJob() {
|
||||
execution = new JobExecution(null);
|
||||
assertEquals(null, execution.getJobId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link org.springframework.batch.core.domain.JobExecution#getJobId()}.
|
||||
*/
|
||||
public void testGetJob() {
|
||||
assertNotNull(execution.getJob());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link org.springframework.batch.core.domain.JobExecution#getExitStatus()}.
|
||||
*/
|
||||
public void testGetExitCode() {
|
||||
assertEquals("", execution.getExitCode());
|
||||
execution.setExitCode("23");
|
||||
assertEquals("23", execution.getExitCode());
|
||||
assertEquals(ExitStatus.UNKNOWN, execution.getExitStatus());
|
||||
execution.setExitStatus(new ExitStatus(true, "23"));
|
||||
assertEquals("23", execution.getExitStatus().getExitCode());
|
||||
}
|
||||
|
||||
public void testContextContainsInfo() throws Exception {
|
||||
|
||||
@@ -18,6 +18,8 @@ package org.springframework.batch.core.domain;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.springframework.batch.repeat.ExitStatus;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
@@ -77,12 +79,12 @@ public class StepExecutionTests extends TestCase {
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.domain.JobExecution#getExitCode()}.
|
||||
* {@link org.springframework.batch.core.domain.JobExecution#getExitStatus()}.
|
||||
*/
|
||||
public void testGetExitCode() {
|
||||
assertEquals("", execution.getExitCode());
|
||||
execution.setExitCode("23");
|
||||
assertEquals("23", execution.getExitCode());
|
||||
assertEquals(ExitStatus.UNKNOWN, execution.getExitStatus());
|
||||
execution.setExitStatus(ExitStatus.FINISHED);
|
||||
assertEquals(ExitStatus.FINISHED, execution.getExitStatus());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user