From 9f0fba98d7a070498d438cd58e6cf4fed28d552f Mon Sep 17 00:00:00 2001 From: dsyer Date: Tue, 8 Sep 2009 08:00:21 +0000 Subject: [PATCH] RESOLVED - issue BATCH-1338: Allow segregation of jobs by type or origin CHange default separator to "." --- .../support/AbstractGroupAwareJobFactory.java | 11 ++++++++--- .../support/ApplicationContextJobFactoryTests.java | 2 +- .../support/GroupAwareJobFactoryTests.java | 2 +- .../support/JobRegistryBeanPostProcessorTests.java | 2 +- .../support/ReferenceJobFactoryTests.java | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/AbstractGroupAwareJobFactory.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/AbstractGroupAwareJobFactory.java index 6042076be..ace036880 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/AbstractGroupAwareJobFactory.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/AbstractGroupAwareJobFactory.java @@ -26,7 +26,7 @@ import org.springframework.batch.core.configuration.JobFactory; * job might be overnightJob and the group * financeDepartment, which would result in a {@link Job} with * identical functionality but named financeDepartment$overnightJob - * . The use of a "$" separator for elements is deliberate, since it is a "safe" + * . The use of a "." separator for elements is deliberate, since it is a "safe" * character in a URL. * * @@ -35,6 +35,11 @@ import org.springframework.batch.core.configuration.JobFactory; */ public abstract class AbstractGroupAwareJobFactory implements JobFactory { + /** + * + */ + private static final String SEPARATOR = "."; + private final String groupName; private final String jobName; @@ -88,7 +93,7 @@ public abstract class AbstractGroupAwareJobFactory implements JobFactory { * @see org.springframework.batch.core.configuration.JobFactory#getJobName() */ public final String getJobName() { - return groupName == null ? jobName : groupName + "$" + jobName; + return groupName == null ? jobName : groupName + SEPARATOR + jobName; } /** @@ -122,7 +127,7 @@ public abstract class AbstractGroupAwareJobFactory implements JobFactory { * @see org.springframework.batch.core.Job#getName() */ public String getName() { - return groupName + "$" + delegate.getName(); + return groupName + SEPARATOR + delegate.getName(); } public boolean isRestartable() { diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ApplicationContextJobFactoryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ApplicationContextJobFactoryTests.java index 9c035fcf2..45ced5ab0 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ApplicationContextJobFactoryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ApplicationContextJobFactoryTests.java @@ -21,7 +21,7 @@ public class ApplicationContextJobFactoryTests { public void testGroupName() throws Exception { ApplicationContextJobFactory factory = new ApplicationContextJobFactory("jobs", "job", new StubApplicationContextFactory()); - assertEquals("jobs$job", factory.getJobName()); + assertEquals("jobs.job", factory.getJobName()); } private static class StubApplicationContextFactory implements ApplicationContextFactory { diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/GroupAwareJobFactoryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/GroupAwareJobFactoryTests.java index 7e758f1b4..9b877cf41 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/GroupAwareJobFactoryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/GroupAwareJobFactoryTests.java @@ -50,7 +50,7 @@ public class GroupAwareJobFactoryTests { } }; assertEquals(factory.getJobName(), factory.createJob().getName()); - assertEquals("jobs$foo", factory.getJobName()); + assertEquals("jobs.foo", factory.getJobName()); } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessorTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessorTests.java index c21c19e8e..8e8ccd599 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessorTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessorTests.java @@ -79,7 +79,7 @@ public class JobRegistryBeanPostProcessorTests { JobSupport job = new JobSupport(); job.setBeanName("foo"); assertEquals(job, processor.postProcessAfterInitialization(job, "bar")); - assertEquals("[jobs$foo]", registry.getJobNames().toString()); + assertEquals("[jobs.foo]", registry.getJobNames().toString()); } @Test diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ReferenceJobFactoryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ReferenceJobFactoryTests.java index 6b1b3c458..4d9b67f17 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ReferenceJobFactoryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ReferenceJobFactoryTests.java @@ -29,7 +29,7 @@ public class ReferenceJobFactoryTests { @Test public void testGroupName() throws Exception { ReferenceJobFactory factory = new ReferenceJobFactory("jobs", new JobSupport("foo")); - assertEquals("jobs$foo", factory.getJobName()); + assertEquals("jobs.foo", factory.getJobName()); } }