Skip to content

Commit fc0ec01

Browse files
danilopiazzafmbenhassine
authored andcommitted
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
1 parent b9d6e26 commit fc0ec01

File tree

96 files changed

+188
-178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+188
-178
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultJobLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ private void doUnregister(String jobName) {
278278

279279
@Override
280280
public void afterPropertiesSet() {
281-
Assert.notNull(jobRegistry, "Job registry could not be null.");
281+
Assert.state(jobRegistry != null, "Job registry could not be null.");
282282
}
283283

284284
}

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
9898
*/
9999
@Override
100100
public void afterPropertiesSet() throws Exception {
101-
Assert.notNull(jobRegistry, "JobRegistry must not be null");
101+
Assert.state(jobRegistry != null, "JobRegistry must not be null");
102102
}
103103

104104
/**

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/SimpleFlowFactoryBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.springframework.beans.factory.FactoryBean;
3434
import org.springframework.beans.factory.InitializingBean;
3535
import org.springframework.util.Assert;
36+
import org.springframework.util.StringUtils;
3637

3738
/**
3839
* Convenience factory for {@link SimpleFlow} instances for use in the XML namespace. It
@@ -94,7 +95,7 @@ public void setStateTransitions(List<StateTransition> stateTransitions) {
9495
*/
9596
@Override
9697
public void afterPropertiesSet() throws Exception {
97-
Assert.hasText(name, "The flow must have a name");
98+
Assert.state(StringUtils.hasText(name), "The flow must have a name");
9899

99100
if (flowType == null) {
100101
flowType = SimpleFlow.class;

spring-batch-core/src/main/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public void setConversionService(@NonNull ConfigurableConversionService conversi
153153
@Override
154154
public void afterPropertiesSet() throws Exception {
155155

156-
Assert.notNull(dataSource, "DataSource must not be null.");
156+
Assert.state(dataSource != null, "DataSource must not be null.");
157157

158158
if (jdbcOperations == null) {
159159
jdbcOperations = new JdbcTemplate(dataSource);

spring-batch-core/src/main/java/org/springframework/batch/core/job/AbstractJob.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public void setJobParametersValidator(JobParametersValidator jobParametersValida
128128
*/
129129
@Override
130130
public void afterPropertiesSet() throws Exception {
131-
Assert.notNull(jobRepository, "JobRepository must be set");
131+
Assert.state(jobRepository != null, "JobRepository must be set");
132132
}
133133

134134
/**

spring-batch-core/src/main/java/org/springframework/batch/core/job/CompositeJobParametersValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2011-2018 the original author or authors.
2+
* Copyright 2011-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -60,8 +60,8 @@ public void setValidators(List<JobParametersValidator> validators) {
6060

6161
@Override
6262
public void afterPropertiesSet() throws Exception {
63-
Assert.notNull(validators, "The 'validators' may not be null");
64-
Assert.notEmpty(validators, "The 'validators' may not be empty");
63+
Assert.state(validators != null, "The 'validators' may not be null");
64+
Assert.state(!validators.isEmpty(), "The 'validators' may not be empty");
6565
}
6666

6767
}

spring-batch-core/src/main/java/org/springframework/batch/core/launch/support/SimpleJobOperator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@ public class SimpleJobOperator implements JobOperator, InitializingBean {
110110
*/
111111
@Override
112112
public void afterPropertiesSet() throws Exception {
113-
Assert.notNull(jobLauncher, "JobLauncher must be provided");
114-
Assert.notNull(jobRegistry, "JobLocator must be provided");
115-
Assert.notNull(jobExplorer, "JobExplorer must be provided");
116-
Assert.notNull(jobRepository, "JobRepository must be provided");
113+
Assert.state(jobLauncher != null, "JobLauncher must be provided");
114+
Assert.state(jobRegistry != null, "JobLocator must be provided");
115+
Assert.state(jobExplorer != null, "JobExplorer must be provided");
116+
Assert.state(jobRepository != null, "JobRepository must be provided");
117117
}
118118

119119
/**

spring-batch-core/src/main/java/org/springframework/batch/core/listener/AbstractListenerFactoryBean.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2013 the original author or authors.
2+
* Copyright 2002-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -196,7 +196,7 @@ public void setMetaDataMap(Map<String, String> metaDataMap) {
196196

197197
@Override
198198
public void afterPropertiesSet() throws Exception {
199-
Assert.notNull(delegate, "Delegate must not be null");
199+
Assert.state(delegate != null, "Delegate must not be null");
200200
}
201201

202202
/**

spring-batch-core/src/main/java/org/springframework/batch/core/listener/ExecutionContextPromotionListener.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2021 the original author or authors.
2+
* Copyright 2006-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -25,6 +25,7 @@
2525
import org.springframework.beans.factory.InitializingBean;
2626
import org.springframework.lang.Nullable;
2727
import org.springframework.util.Assert;
28+
import org.springframework.util.ObjectUtils;
2829

2930
/**
3031
* This class can be used to automatically promote items from the {@link Step}
@@ -77,10 +78,10 @@ public ExitStatus afterStep(StepExecution stepExecution) {
7778

7879
@Override
7980
public void afterPropertiesSet() throws Exception {
80-
Assert.notNull(this.keys, "The 'keys' property must be provided");
81-
Assert.notEmpty(this.keys, "The 'keys' property must not be empty");
82-
Assert.notNull(this.statuses, "The 'statuses' property must be provided");
83-
Assert.notEmpty(this.statuses, "The 'statuses' property must not be empty");
81+
Assert.state(this.keys != null, "The 'keys' property must be provided");
82+
Assert.state(!ObjectUtils.isEmpty(this.keys), "The 'keys' property must not be empty");
83+
Assert.state(this.statuses != null, "The 'statuses' property must be provided");
84+
Assert.state(!ObjectUtils.isEmpty(this.statuses), "The 'statuses' property must not be empty");
8485
}
8586

8687
/**

spring-batch-core/src/main/java/org/springframework/batch/core/partition/support/PartitionStep.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2021 the original author or authors.
2+
* Copyright 2006-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -78,8 +78,8 @@ public void setStepExecutionSplitter(StepExecutionSplitter stepExecutionSplitter
7878
*/
7979
@Override
8080
public void afterPropertiesSet() throws Exception {
81-
Assert.notNull(stepExecutionSplitter, "StepExecutionSplitter must be provided");
82-
Assert.notNull(partitionHandler, "PartitionHandler must be provided");
81+
Assert.state(stepExecutionSplitter != null, "StepExecutionSplitter must be provided");
82+
Assert.state(partitionHandler != null, "PartitionHandler must be provided");
8383
super.afterPropertiesSet();
8484
}
8585

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/AbstractJdbcBatchMetadataDao.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2013 the original author or authors.
2+
* Copyright 2006-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -79,7 +79,7 @@ public void setClobTypeToUse(int clobTypeToUse) {
7979

8080
@Override
8181
public void afterPropertiesSet() throws Exception {
82-
Assert.notNull(jdbcTemplate, "JdbcOperations is required");
82+
Assert.state(jdbcTemplate != null, "JdbcOperations is required");
8383
}
8484

8585
}

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public void setConversionService(@NonNull ConfigurableConversionService conversi
138138
@Override
139139
public void afterPropertiesSet() throws Exception {
140140
super.afterPropertiesSet();
141-
Assert.notNull(jobExecutionIncrementer, "The jobExecutionIncrementer must not be null.");
141+
Assert.state(jobExecutionIncrementer != null, "The jobExecutionIncrementer must not be null.");
142142
}
143143

144144
@Override

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public void setJobInstanceIncrementer(DataFieldMaxValueIncrementer jobInstanceIn
311311
@Override
312312
public void afterPropertiesSet() throws Exception {
313313
super.afterPropertiesSet();
314-
Assert.notNull(jobInstanceIncrementer, "jobInstanceIncrementer is required");
314+
Assert.state(jobInstanceIncrementer != null, "jobInstanceIncrementer is required");
315315
}
316316

317317
/**

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public void setStepExecutionIncrementer(DataFieldMaxValueIncrementer stepExecuti
129129
@Override
130130
public void afterPropertiesSet() throws Exception {
131131
super.afterPropertiesSet();
132-
Assert.notNull(stepExecutionIncrementer, "StepExecutionIncrementer cannot be null.");
132+
Assert.state(stepExecutionIncrementer != null, "StepExecutionIncrementer cannot be null.");
133133
}
134134

135135
/**

spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/AbstractJobRepositoryFactoryBean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ public void setTransactionAttributeSource(TransactionAttributeSource transaction
178178

179179
@Override
180180
public void afterPropertiesSet() throws Exception {
181-
Assert.notNull(transactionManager, "TransactionManager must not be null.");
181+
Assert.state(transactionManager != null, "TransactionManager must not be null.");
182182
if (this.transactionAttributeSource == null) {
183183
Properties transactionAttributes = new Properties();
184184
transactionAttributes.setProperty("create*",

spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBean.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ public void setConversionService(@NonNull ConfigurableConversionService conversi
199199
@Override
200200
public void afterPropertiesSet() throws Exception {
201201

202-
Assert.notNull(dataSource, "DataSource must not be null.");
202+
Assert.state(dataSource != null, "DataSource must not be null.");
203203

204204
if (jdbcOperations == null) {
205205
jdbcOperations = new JdbcTemplate(dataSource);
@@ -226,12 +226,12 @@ public void afterPropertiesSet() throws Exception {
226226
serializer = defaultSerializer;
227227
}
228228

229-
Assert.isTrue(incrementerFactory.isSupportedIncrementerType(databaseType),
229+
Assert.state(incrementerFactory.isSupportedIncrementerType(databaseType),
230230
() -> "'" + databaseType + "' is an unsupported database type. The supported database types are "
231231
+ StringUtils.arrayToCommaDelimitedString(incrementerFactory.getSupportedIncrementerTypes()));
232232

233233
if (clobType != null) {
234-
Assert.isTrue(isValidTypes(clobType), "lobType must be a value from the java.sql.Types class");
234+
Assert.state(isValidTypes(clobType), "lobType must be a value from the java.sql.Types class");
235235
}
236236

237237
if (this.conversionService == null) {

spring-batch-core/src/main/java/org/springframework/batch/core/step/item/SimpleChunkProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public void setMeterRegistry(MeterRegistry meterRegistry) {
9999
*/
100100
@Override
101101
public void afterPropertiesSet() throws Exception {
102-
Assert.notNull(itemWriter, "ItemWriter must be set");
102+
Assert.state(itemWriter != null, "ItemWriter must be set");
103103
}
104104

105105
/**

spring-batch-core/src/main/java/org/springframework/batch/core/step/tasklet/CallableTaskletAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2019 the original author or authors.
2+
* Copyright 2006-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -49,7 +49,7 @@ public void setCallable(Callable<RepeatStatus> callable) {
4949
*/
5050
@Override
5151
public void afterPropertiesSet() throws Exception {
52-
Assert.notNull(callable, "A Callable is required");
52+
Assert.state(callable != null, "A Callable is required");
5353
}
5454

5555
/**

spring-batch-core/src/main/java/org/springframework/batch/core/step/tasklet/SystemCommandTasklet.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import org.springframework.core.task.TaskExecutor;
3838
import org.springframework.lang.Nullable;
3939
import org.springframework.util.Assert;
40+
import org.springframework.util.ObjectUtils;
41+
import org.springframework.util.StringUtils;
4042

4143
/**
4244
* {@link Tasklet} that executes a system command.
@@ -190,14 +192,13 @@ public void setWorkingDirectory(String dir) {
190192

191193
@Override
192194
public void afterPropertiesSet() throws Exception {
193-
Assert.notNull(commandRunner, "CommandRunner must be set");
194-
Assert.notNull(cmdArray, "'cmdArray' property value must not be null");
195-
Assert.notEmpty(cmdArray, "'cmdArray' property value is required with at least 1 element");
196-
Assert.noNullElements(cmdArray, "'cmdArray' property value must not contain be null elements");
197-
Assert.hasLength(cmdArray[0], "'cmdArray' property value is required with at least 1 element");
198-
Assert.notNull(systemProcessExitCodeMapper, "SystemProcessExitCodeMapper must be set");
199-
Assert.isTrue(timeout > 0, "timeout value must be greater than zero");
200-
Assert.notNull(taskExecutor, "taskExecutor is required");
195+
Assert.state(commandRunner != null, "CommandRunner must be set");
196+
Assert.state(cmdArray != null, "'cmdArray' property value must not be null");
197+
Assert.state(!ObjectUtils.isEmpty(cmdArray), "'cmdArray' property value is required with at least 1 element");
198+
Assert.state(StringUtils.hasText(cmdArray[0]), "'cmdArray' property value is required with at least 1 element");
199+
Assert.state(systemProcessExitCodeMapper != null, "SystemProcessExitCodeMapper must be set");
200+
Assert.state(timeout > 0, "timeout value must be greater than zero");
201+
Assert.state(taskExecutor != null, "taskExecutor is required");
201202
stoppable = jobExplorer != null;
202203
}
203204

spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/JobRegistryBeanPostProcessorTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class JobRegistryBeanPostProcessorTests {
3838

3939
@Test
4040
void testInitializationFails() {
41-
Exception exception = assertThrows(IllegalArgumentException.class, processor::afterPropertiesSet);
41+
Exception exception = assertThrows(IllegalStateException.class, processor::afterPropertiesSet);
4242
assertTrue(exception.getMessage().contains("JobRegistry"));
4343
}
4444

spring-batch-core/src/test/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBeanTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ void testCustomJdbcOperations() throws Exception {
8484
void testMissingDataSource() {
8585

8686
factory.setDataSource(null);
87-
Exception exception = assertThrows(IllegalArgumentException.class, factory::afterPropertiesSet);
87+
Exception exception = assertThrows(IllegalStateException.class, factory::afterPropertiesSet);
8888
String message = exception.getMessage();
8989
assertTrue(message.contains("DataSource"), "Wrong message: " + message);
9090

spring-batch-core/src/test/java/org/springframework/batch/core/job/CompositeJobParametersValidatorTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ void setUp() {
4141
@Test
4242
void testValidatorsCanNotBeNull() {
4343
compositeJobParametersValidator.setValidators(null);
44-
assertThrows(IllegalArgumentException.class, compositeJobParametersValidator::afterPropertiesSet);
44+
assertThrows(IllegalStateException.class, compositeJobParametersValidator::afterPropertiesSet);
4545
}
4646

4747
@Test
4848
void testValidatorsCanNotBeEmpty() {
4949
compositeJobParametersValidator.setValidators(new ArrayList<>());
50-
assertThrows(IllegalArgumentException.class, compositeJobParametersValidator::afterPropertiesSet);
50+
assertThrows(IllegalStateException.class, compositeJobParametersValidator::afterPropertiesSet);
5151
}
5252

5353
@Test

spring-batch-core/src/test/java/org/springframework/batch/core/job/ExtendedAbstractJobTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ void testToString() {
120120
@Test
121121
void testAfterPropertiesSet() {
122122
job.setJobRepository(null);
123-
Exception exception = assertThrows(IllegalArgumentException.class, () -> job.afterPropertiesSet());
123+
Exception exception = assertThrows(IllegalStateException.class, () -> job.afterPropertiesSet());
124124
assertTrue(exception.getMessage().contains("JobRepository"));
125125
}
126126

spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/SimpleJobOperatorTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public Properties getProperties(@Nullable JobParameters params) {
141141
@Test
142142
void testMandatoryProperties() {
143143
jobOperator = new SimpleJobOperator();
144-
assertThrows(IllegalArgumentException.class, jobOperator::afterPropertiesSet);
144+
assertThrows(IllegalStateException.class, jobOperator::afterPropertiesSet);
145145
}
146146

147147
/**

spring-batch-core/src/test/java/org/springframework/batch/core/listener/ExecutionContextPromotionListenerTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ void promoteEntriesKeyNotFoundStrict() throws Exception {
247247
void keysMustBeSet() {
248248
ExecutionContextPromotionListener listener = new ExecutionContextPromotionListener();
249249
// didn't set the keys, same as listener.setKeys(null);
250-
assertThrows(IllegalArgumentException.class, listener::afterPropertiesSet);
250+
assertThrows(IllegalStateException.class, listener::afterPropertiesSet);
251251
}
252252

253253
}

spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBeanTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ void testCustomJdbcOperations() throws Exception {
241241
void testMissingDataSource() {
242242

243243
factory.setDataSource(null);
244-
Exception exception = assertThrows(IllegalArgumentException.class, factory::afterPropertiesSet);
244+
Exception exception = assertThrows(IllegalStateException.class, factory::afterPropertiesSet);
245245
String message = exception.getMessage();
246246
assertTrue(message.contains("DataSource"), "Wrong message: " + message);
247247

@@ -255,7 +255,7 @@ void testMissingTransactionManager() {
255255
when(incrementerFactory.isSupportedIncrementerType("mockDb")).thenReturn(true);
256256
when(incrementerFactory.getSupportedIncrementerTypes()).thenReturn(new String[0]);
257257

258-
Exception exception = assertThrows(IllegalArgumentException.class, () -> factory.afterPropertiesSet());
258+
Exception exception = assertThrows(IllegalStateException.class, () -> factory.afterPropertiesSet());
259259
String message = exception.getMessage();
260260
assertTrue(message.contains("TransactionManager"), "Wrong message: " + message);
261261

@@ -268,7 +268,7 @@ void testInvalidDatabaseType() {
268268
when(incrementerFactory.isSupportedIncrementerType("foo")).thenReturn(false);
269269
when(incrementerFactory.getSupportedIncrementerTypes()).thenReturn(new String[0]);
270270

271-
Exception exception = assertThrows(IllegalArgumentException.class, () -> factory.afterPropertiesSet());
271+
Exception exception = assertThrows(IllegalStateException.class, () -> factory.afterPropertiesSet());
272272
String message = exception.getMessage();
273273
assertTrue(message.contains("foo"), "Wrong message: " + message);
274274

@@ -363,7 +363,7 @@ public void testCustomTransactionAttributesSource() throws Exception {
363363
@Test
364364
void testInvalidCustomLobType() {
365365
factory.setClobType(Integer.MAX_VALUE);
366-
assertThrows(IllegalArgumentException.class, this::testCreateRepository);
366+
assertThrows(IllegalStateException.class, this::testCreateRepository);
367367
}
368368

369369
@Test

spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/CallableTaskletAdapterTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public RepeatStatus call() throws Exception {
4040

4141
@Test
4242
void testAfterPropertiesSet() {
43-
assertThrows(IllegalArgumentException.class, adapter::afterPropertiesSet);
43+
assertThrows(IllegalStateException.class, adapter::afterPropertiesSet);
4444
}
4545

4646
}

0 commit comments

Comments
 (0)