Throw IllegalStateException from afterPropertiesSet

Consistently use Assert.state in the afterPropertiesSet()
methods to throw IllegalStateException instead of
IllegalArgumentException when some properties are missing
and/or invalid.

Resolves #2244
This commit is contained in:
Danilo Piazzalunga
2022-02-07 08:17:38 +01:00
committed by Mahmoud Ben Hassine
parent b9d6e26d61
commit fc0ec01ff8
96 changed files with 188 additions and 178 deletions

View File

@@ -278,7 +278,7 @@ public class DefaultJobLoader implements JobLoader, InitializingBean {
@Override
public void afterPropertiesSet() {
Assert.notNull(jobRegistry, "Job registry could not be null.");
Assert.state(jobRegistry != null, "Job registry could not be null.");
}
}

View File

@@ -98,7 +98,7 @@ public class JobRegistryBeanPostProcessor
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(jobRegistry, "JobRegistry must not be null");
Assert.state(jobRegistry != null, "JobRegistry must not be null");
}
/**

View File

@@ -33,6 +33,7 @@ import org.springframework.batch.core.job.flow.support.state.StepState;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
* Convenience factory for {@link SimpleFlow} instances for use in the XML namespace. It
@@ -94,7 +95,7 @@ public class SimpleFlowFactoryBean implements FactoryBean<SimpleFlow>, Initializ
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.hasText(name, "The flow must have a name");
Assert.state(StringUtils.hasText(name), "The flow must have a name");
if (flowType == null) {
flowType = SimpleFlow.class;

View File

@@ -153,7 +153,7 @@ public class JobExplorerFactoryBean extends AbstractJobExplorerFactoryBean imple
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(dataSource, "DataSource must not be null.");
Assert.state(dataSource != null, "DataSource must not be null.");
if (jdbcOperations == null) {
jdbcOperations = new JdbcTemplate(dataSource);

View File

@@ -128,7 +128,7 @@ public abstract class AbstractJob implements Job, StepLocator, BeanNameAware, In
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(jobRepository, "JobRepository must be set");
Assert.state(jobRepository != null, "JobRepository must be set");
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2011-2018 the original author or authors.
* Copyright 2011-2022 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.
@@ -60,8 +60,8 @@ public class CompositeJobParametersValidator implements JobParametersValidator,
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(validators, "The 'validators' may not be null");
Assert.notEmpty(validators, "The 'validators' may not be empty");
Assert.state(validators != null, "The 'validators' may not be null");
Assert.state(!validators.isEmpty(), "The 'validators' may not be empty");
}
}

View File

@@ -110,10 +110,10 @@ public class SimpleJobOperator implements JobOperator, InitializingBean {
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(jobLauncher, "JobLauncher must be provided");
Assert.notNull(jobRegistry, "JobLocator must be provided");
Assert.notNull(jobExplorer, "JobExplorer must be provided");
Assert.notNull(jobRepository, "JobRepository must be provided");
Assert.state(jobLauncher != null, "JobLauncher must be provided");
Assert.state(jobRegistry != null, "JobLocator must be provided");
Assert.state(jobExplorer != null, "JobExplorer must be provided");
Assert.state(jobRepository != null, "JobRepository must be provided");
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2022 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.
@@ -196,7 +196,7 @@ public abstract class AbstractListenerFactoryBean<T> implements FactoryBean<Obje
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(delegate, "Delegate must not be null");
Assert.state(delegate != null, "Delegate must not be null");
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2006-2021 the original author or authors.
* Copyright 2006-2022 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.
@@ -25,6 +25,7 @@ import org.springframework.batch.support.PatternMatcher;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
/**
* This class can be used to automatically promote items from the {@link Step}
@@ -77,10 +78,10 @@ public class ExecutionContextPromotionListener implements StepExecutionListener,
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(this.keys, "The 'keys' property must be provided");
Assert.notEmpty(this.keys, "The 'keys' property must not be empty");
Assert.notNull(this.statuses, "The 'statuses' property must be provided");
Assert.notEmpty(this.statuses, "The 'statuses' property must not be empty");
Assert.state(this.keys != null, "The 'keys' property must be provided");
Assert.state(!ObjectUtils.isEmpty(this.keys), "The 'keys' property must not be empty");
Assert.state(this.statuses != null, "The 'statuses' property must be provided");
Assert.state(!ObjectUtils.isEmpty(this.statuses), "The 'statuses' property must not be empty");
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2006-2021 the original author or authors.
* Copyright 2006-2022 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.
@@ -78,8 +78,8 @@ public class PartitionStep extends AbstractStep {
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(stepExecutionSplitter, "StepExecutionSplitter must be provided");
Assert.notNull(partitionHandler, "PartitionHandler must be provided");
Assert.state(stepExecutionSplitter != null, "StepExecutionSplitter must be provided");
Assert.state(partitionHandler != null, "PartitionHandler must be provided");
super.afterPropertiesSet();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2006-2013 the original author or authors.
* Copyright 2006-2022 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.
@@ -79,7 +79,7 @@ public abstract class AbstractJdbcBatchMetadataDao implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(jdbcTemplate, "JdbcOperations is required");
Assert.state(jdbcTemplate != null, "JdbcOperations is required");
}
}

View File

@@ -138,7 +138,7 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements
@Override
public void afterPropertiesSet() throws Exception {
super.afterPropertiesSet();
Assert.notNull(jobExecutionIncrementer, "The jobExecutionIncrementer must not be null.");
Assert.state(jobExecutionIncrementer != null, "The jobExecutionIncrementer must not be null.");
}
@Override

View File

@@ -311,7 +311,7 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements
@Override
public void afterPropertiesSet() throws Exception {
super.afterPropertiesSet();
Assert.notNull(jobInstanceIncrementer, "jobInstanceIncrementer is required");
Assert.state(jobInstanceIncrementer != null, "jobInstanceIncrementer is required");
}
/**

View File

@@ -129,7 +129,7 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
@Override
public void afterPropertiesSet() throws Exception {
super.afterPropertiesSet();
Assert.notNull(stepExecutionIncrementer, "StepExecutionIncrementer cannot be null.");
Assert.state(stepExecutionIncrementer != null, "StepExecutionIncrementer cannot be null.");
}
/**

View File

@@ -178,7 +178,7 @@ public abstract class AbstractJobRepositoryFactoryBean implements FactoryBean<Jo
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(transactionManager, "TransactionManager must not be null.");
Assert.state(transactionManager != null, "TransactionManager must not be null.");
if (this.transactionAttributeSource == null) {
Properties transactionAttributes = new Properties();
transactionAttributes.setProperty("create*",

View File

@@ -199,7 +199,7 @@ public class JobRepositoryFactoryBean extends AbstractJobRepositoryFactoryBean i
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(dataSource, "DataSource must not be null.");
Assert.state(dataSource != null, "DataSource must not be null.");
if (jdbcOperations == null) {
jdbcOperations = new JdbcTemplate(dataSource);
@@ -226,12 +226,12 @@ public class JobRepositoryFactoryBean extends AbstractJobRepositoryFactoryBean i
serializer = defaultSerializer;
}
Assert.isTrue(incrementerFactory.isSupportedIncrementerType(databaseType),
Assert.state(incrementerFactory.isSupportedIncrementerType(databaseType),
() -> "'" + databaseType + "' is an unsupported database type. The supported database types are "
+ StringUtils.arrayToCommaDelimitedString(incrementerFactory.getSupportedIncrementerTypes()));
if (clobType != null) {
Assert.isTrue(isValidTypes(clobType), "lobType must be a value from the java.sql.Types class");
Assert.state(isValidTypes(clobType), "lobType must be a value from the java.sql.Types class");
}
if (this.conversionService == null) {

View File

@@ -99,7 +99,7 @@ public class SimpleChunkProcessor<I, O> implements ChunkProcessor<I>, Initializi
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(itemWriter, "ItemWriter must be set");
Assert.state(itemWriter != null, "ItemWriter must be set");
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2006-2019 the original author or authors.
* Copyright 2006-2022 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.
@@ -49,7 +49,7 @@ public class CallableTaskletAdapter implements Tasklet, InitializingBean {
*/
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(callable, "A Callable is required");
Assert.state(callable != null, "A Callable is required");
}
/**

View File

@@ -37,6 +37,8 @@ import org.springframework.core.task.SimpleAsyncTaskExecutor;
import org.springframework.core.task.TaskExecutor;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
/**
* {@link Tasklet} that executes a system command.
@@ -190,14 +192,13 @@ public class SystemCommandTasklet implements StepExecutionListener, StoppableTas
@Override
public void afterPropertiesSet() throws Exception {
Assert.notNull(commandRunner, "CommandRunner must be set");
Assert.notNull(cmdArray, "'cmdArray' property value must not be null");
Assert.notEmpty(cmdArray, "'cmdArray' property value is required with at least 1 element");
Assert.noNullElements(cmdArray, "'cmdArray' property value must not contain be null elements");
Assert.hasLength(cmdArray[0], "'cmdArray' property value is required with at least 1 element");
Assert.notNull(systemProcessExitCodeMapper, "SystemProcessExitCodeMapper must be set");
Assert.isTrue(timeout > 0, "timeout value must be greater than zero");
Assert.notNull(taskExecutor, "taskExecutor is required");
Assert.state(commandRunner != null, "CommandRunner must be set");
Assert.state(cmdArray != null, "'cmdArray' property value must not be null");
Assert.state(!ObjectUtils.isEmpty(cmdArray), "'cmdArray' property value is required with at least 1 element");
Assert.state(StringUtils.hasText(cmdArray[0]), "'cmdArray' property value is required with at least 1 element");
Assert.state(systemProcessExitCodeMapper != null, "SystemProcessExitCodeMapper must be set");
Assert.state(timeout > 0, "timeout value must be greater than zero");
Assert.state(taskExecutor != null, "taskExecutor is required");
stoppable = jobExplorer != null;
}