diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/JobParameters.java b/spring-batch-core/src/main/java/org/springframework/batch/core/JobParameters.java index 10982dedd0..3589facb14 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/JobParameters.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/JobParameters.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; -import java.util.LinkedHashMap; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -58,7 +58,7 @@ public class JobParameters implements Serializable { * Default constructor. */ public JobParameters() { - this.parameters = new LinkedHashMap<>(); + this.parameters = new HashMap<>(); } /** @@ -68,7 +68,7 @@ public JobParameters() { * {@link JobParameter} value. */ public JobParameters(Map> parameters) { - this.parameters = new LinkedHashMap<>(parameters); + this.parameters = new HashMap<>(parameters); } /** diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/JobParametersBuilder.java b/spring-batch-core/src/main/java/org/springframework/batch/core/JobParametersBuilder.java index 1e954f2baf..cc230128fc 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/JobParametersBuilder.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/JobParametersBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,9 +21,7 @@ import java.time.LocalTime; import java.util.Date; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; -import java.util.Properties; import org.springframework.batch.core.explore.JobExplorer; import org.springframework.lang.NonNull; @@ -57,7 +55,7 @@ public class JobParametersBuilder { * Default constructor. Initializes the builder with empty parameters. */ public JobParametersBuilder() { - this.parameterMap = new LinkedHashMap<>(); + this.parameterMap = new HashMap<>(); } /** @@ -66,7 +64,7 @@ public JobParametersBuilder() { */ public JobParametersBuilder(JobExplorer jobExplorer) { this.jobExplorer = jobExplorer; - this.parameterMap = new LinkedHashMap<>(); + this.parameterMap = new HashMap<>(); } /** @@ -85,7 +83,7 @@ public JobParametersBuilder(JobParameters jobParameters) { */ public JobParametersBuilder(JobParameters jobParameters, JobExplorer jobExplorer) { this.jobExplorer = jobExplorer; - this.parameterMap = new LinkedHashMap<>(jobParameters.getParameters()); + this.parameterMap = new HashMap<>(jobParameters.getParameters()); } /** diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/JobParametersBuilderTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/JobParametersBuilderTests.java index 2ae248a827..79c9e3ec31 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/JobParametersBuilderTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/JobParametersBuilderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2022 the original author or authors. + * Copyright 2008-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,23 +15,16 @@ */ package org.springframework.batch.core; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Properties; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; - import org.springframework.batch.core.explore.JobExplorer; import org.springframework.batch.core.job.SimpleJob; import org.springframework.batch.core.launch.support.RunIdIncrementer; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertThrows; +import java.util.*; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -121,31 +114,27 @@ void testCopy() { } @Test - void testOrderedTypes() { + void testNotOrderedTypes() { this.parametersBuilder.addDate("SCHEDULE_DATE", date); this.parametersBuilder.addLong("LONG", 1L); this.parametersBuilder.addString("STRING", "string value"); - Iterator parameters = this.parametersBuilder.toJobParameters().getParameters().keySet().iterator(); - assertEquals("SCHEDULE_DATE", parameters.next()); - assertEquals("LONG", parameters.next()); - assertEquals("STRING", parameters.next()); + Set parameters = this.parametersBuilder.toJobParameters().getParameters().keySet(); + assertThat(parameters).containsExactlyInAnyOrder("STRING", "LONG", "SCHEDULE_DATE"); } @Test - void testOrderedStrings() { + void testNotOrderedStrings() { this.parametersBuilder.addString("foo", "value foo"); this.parametersBuilder.addString("bar", "value bar"); this.parametersBuilder.addString("spam", "value spam"); - Iterator parameters = this.parametersBuilder.toJobParameters().getParameters().keySet().iterator(); - assertEquals("foo", parameters.next()); - assertEquals("bar", parameters.next()); - assertEquals("spam", parameters.next()); + Set parameters = this.parametersBuilder.toJobParameters().getParameters().keySet(); + assertThat(parameters).containsExactlyInAnyOrder("foo","bar","spam"); } @Test void testAddJobParameter() { JobParameter jobParameter = new JobParameter("bar", String.class); - this.parametersBuilder.addParameter("foo", jobParameter); + this.parametersBuilder.addJobParameter("foo", jobParameter); Map> parameters = this.parametersBuilder.toJobParameters().getParameters(); assertEquals(1, parameters.size()); assertEquals("bar", parameters.get("foo").getValue());