diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java index 27be69888..aaf8638c2 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/ExecutionContext.java @@ -228,8 +228,13 @@ public class ExecutionContext implements Serializable { * @return The value represented by the given key */ public Object get(String key) { - - return map.get(key); + Object value = map.get(key); + if (value == Constants.NULL) { + return null; + } + else { + return value; + } } /** diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java index 9d8b34fd1..945310c13 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/ExecutionContextTests.java @@ -116,6 +116,7 @@ public class ExecutionContextTests { public void testPutNull(){ //putting null should work context.put("1", null); + assertNull(context.get("1")); } @Test