From 9d79f5340dd99a2307bc97a9173317d5abc3f169 Mon Sep 17 00:00:00 2001 From: lucasward Date: Thu, 17 Jan 2008 17:36:37 +0000 Subject: [PATCH] Changed internal implementation of JobInstanceProperties to use LinkedHashMap instead of HashMap, to ensure consistent ordering. --- .../batch/core/domain/JobInstanceProperties.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstanceProperties.java b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstanceProperties.java index 06283aff1..ea54c107d 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstanceProperties.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/domain/JobInstanceProperties.java @@ -7,6 +7,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; @@ -38,9 +39,9 @@ public class JobInstanceProperties { * JobRuntimeParameters is immutable. */ public JobInstanceProperties(){ - this.stringMap = new HashMap(); - this.longMap = new HashMap(); - this.dateMap = new HashMap(); + this.stringMap = new LinkedHashMap(); + this.longMap = new LinkedHashMap(); + this.dateMap = new LinkedHashMap(); } /** @@ -58,8 +59,8 @@ public class JobInstanceProperties { validateMap(stringMap, String.class); validateMap(longMap, Long.class); validateMap(dateMap, Date.class); - this.stringMap = stringMap; - this.longMap = longMap; + this.stringMap = new LinkedHashMap(stringMap); + this.longMap = new LinkedHashMap(longMap); this.dateMap = copyDateMap(dateMap); } @@ -156,7 +157,7 @@ public class JobInstanceProperties { * Convenience method for copying Date values to ensure immutability. */ private Map copyDateMap(Map dateMap){ - Map tempMap = new HashMap(); + Map tempMap = new LinkedHashMap(); for(Iterator it = dateMap.entrySet().iterator();it.hasNext();){ Entry entry = (Entry)it.next();