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:
dsyer
2007-09-30 21:16:44 +00:00
parent 484961f5ab
commit 9d44d8f455
28 changed files with 541 additions and 489 deletions

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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 {

View File

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