From 533209a14bf7ad7661c42834ebf9cb93c1be4403 Mon Sep 17 00:00:00 2001 From: dsyer Date: Wed, 24 Oct 2007 17:34:42 +0000 Subject: [PATCH] IN PROGRESS - issue BATCH-159: JobExecutor should return a JobExecution (which itself contains the ExitStatus) http://opensource.atlassian.com/projects/spring/browse/BATCH-159 Merged JobLauncher implementations together and separated out thread interruption and JMX notification responsibilities to separate collaborators. --- .../org/springframework/batch/repeat/ExitStatus.java | 9 +++++++++ .../springframework/batch/repeat/ExitStatusTests.java | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/infrastructure/src/main/java/org/springframework/batch/repeat/ExitStatus.java b/infrastructure/src/main/java/org/springframework/batch/repeat/ExitStatus.java index c30f89511..5aa312ba4 100644 --- a/infrastructure/src/main/java/org/springframework/batch/repeat/ExitStatus.java +++ b/infrastructure/src/main/java/org/springframework/batch/repeat/ExitStatus.java @@ -149,4 +149,13 @@ public class ExitStatus implements Serializable { return new ExitStatus(continuable, code, exitDescription); } + /** + * Check if this status represents a running process. + * + * @return tru eif the exit code is "RUNNING" or "UNKNOWN" + */ + public boolean isRunning() { + return "RUNNING".equals(this.exitCode) || "UNKNOWN".equals(this.exitCode); + } + } diff --git a/infrastructure/src/test/java/org/springframework/batch/repeat/ExitStatusTests.java b/infrastructure/src/test/java/org/springframework/batch/repeat/ExitStatusTests.java index d2819db50..127e73925 100644 --- a/infrastructure/src/test/java/org/springframework/batch/repeat/ExitStatusTests.java +++ b/infrastructure/src/test/java/org/springframework/batch/repeat/ExitStatusTests.java @@ -104,6 +104,15 @@ public class ExitStatusTests extends TestCase { assertEquals("Bar", status.getExitDescription()); } + public void testRunningIsRunning() throws Exception { + assertTrue(ExitStatus.RUNNING.isRunning()); + assertTrue(new ExitStatus(true, "RUNNING").isRunning()); + } + + public void testUnkownIsRunning() throws Exception { + assertTrue(ExitStatus.UNKNOWN.isRunning()); + } + public void testSerializable() throws Exception { ExitStatus status = ExitStatus.CONTINUABLE.addExitCode("FOO"); byte[] bytes = SerializationUtils.serialize(status);