Skip to content

Commit d5f024c

Browse files
authored
Merge pull request mybatis#1270 from kazuki43zoo/try-with-resources
Change to use try-with-resources on test
2 parents aab059d + 03c19df commit d5f024c

File tree

150 files changed

+1367
-1594
lines changed

Some content is hidden

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

150 files changed

+1367
-1594
lines changed

src/test/java/org/apache/ibatis/autoconstructor/AutoConstructorTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public class AutoConstructorTest {
3535
@BeforeClass
3636
public static void setUp() throws Exception {
3737
// create a SqlSessionFactory
38-
final Reader reader = Resources.getResourceAsReader("org/apache/ibatis/autoconstructor/mybatis-config.xml");
39-
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
40-
reader.close();
38+
try (Reader reader = Resources.getResourceAsReader("org/apache/ibatis/autoconstructor/mybatis-config.xml")) {
39+
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
40+
}
4141

4242
// populate in-memory database
4343
BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),

src/test/java/org/apache/ibatis/binding/BindingTest.java

+6-9
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ public void shouldSelectBlogWithPostsUsingSubSelect() {
8686
BoundBlogMapper mapper = session.getMapper(BoundBlogMapper.class);
8787
Blog b = mapper.selectBlogWithPostsUsingSubSelect(1);
8888
assertEquals(1, b.getId());
89-
session.close();
9089
assertNotNull(b.getAuthor());
9190
assertEquals(101, b.getAuthor().getId());
9291
assertEquals("jim", b.getAuthor().getUsername());
@@ -637,14 +636,12 @@ public void executeWithMapKeyAndRowBounds() {
637636
public void executeWithCursorAndRowBounds() {
638637
try (SqlSession session = sqlSessionFactory.openSession()) {
639638
BoundBlogMapper mapper = session.getMapper(BoundBlogMapper.class);
640-
Cursor<Blog> blogs = mapper.openRangeBlogs(new RowBounds(1, 1));
641-
642-
Iterator<Blog> blogIterator = blogs.iterator();
643-
Blog blog = blogIterator.next();
644-
assertEquals(2, blog.getId());
645-
assertFalse(blogIterator.hasNext());
646-
647-
blogs.close();
639+
try (Cursor<Blog> blogs = mapper.openRangeBlogs(new RowBounds(1, 1)) ) {
640+
Iterator<Blog> blogIterator = blogs.iterator();
641+
Blog blog = blogIterator.next();
642+
assertEquals(2, blog.getId());
643+
assertFalse(blogIterator.hasNext());
644+
}
648645
} catch (IOException e) {
649646
Assert.fail(e.getMessage());
650647
}

src/test/java/org/apache/ibatis/builder/XmlConfigBuilderTest.java

+109-109
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2009-2017 the original author or authors.
2+
* Copyright 2009-2018 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.
@@ -72,35 +72,35 @@ public class XmlConfigBuilderTest {
7272
@Test
7373
public void shouldSuccessfullyLoadMinimalXMLConfigFile() throws Exception {
7474
String resource = "org/apache/ibatis/builder/MinimalMapperConfig.xml";
75-
InputStream inputStream = Resources.getResourceAsStream(resource);
76-
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
77-
Configuration config = builder.parse();
78-
assertNotNull(config);
79-
assertThat(config.getAutoMappingBehavior()).isEqualTo(AutoMappingBehavior.PARTIAL);
80-
assertThat(config.getAutoMappingUnknownColumnBehavior()).isEqualTo(AutoMappingUnknownColumnBehavior.NONE);
81-
assertThat(config.isCacheEnabled()).isTrue();
82-
assertThat(config.getProxyFactory()).isInstanceOf(JavassistProxyFactory.class);
83-
assertThat(config.isLazyLoadingEnabled()).isFalse();
84-
assertThat(config.isAggressiveLazyLoading()).isFalse();
85-
assertThat(config.isMultipleResultSetsEnabled()).isTrue();
86-
assertThat(config.isUseColumnLabel()).isTrue();
87-
assertThat(config.isUseGeneratedKeys()).isFalse();
88-
assertThat(config.getDefaultExecutorType()).isEqualTo(ExecutorType.SIMPLE);
89-
assertNull(config.getDefaultStatementTimeout());
90-
assertNull(config.getDefaultFetchSize());
91-
assertThat(config.isMapUnderscoreToCamelCase()).isFalse();
92-
assertThat(config.isSafeRowBoundsEnabled()).isFalse();
93-
assertThat(config.getLocalCacheScope()).isEqualTo(LocalCacheScope.SESSION);
94-
assertThat(config.getJdbcTypeForNull()).isEqualTo(JdbcType.OTHER);
95-
assertThat(config.getLazyLoadTriggerMethods()).isEqualTo((Set<String>) new HashSet<String>(Arrays.asList("equals", "clone", "hashCode", "toString")));
96-
assertThat(config.isSafeResultHandlerEnabled()).isTrue();
97-
assertThat(config.getDefaultScriptingLanuageInstance()).isInstanceOf(XMLLanguageDriver.class);
98-
assertThat(config.isCallSettersOnNulls()).isFalse();
99-
assertNull(config.getLogPrefix());
100-
assertNull(config.getLogImpl());
101-
assertNull(config.getConfigurationFactory());
102-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(RoundingMode.class)).isInstanceOf(EnumTypeHandler.class);
103-
inputStream.close();
75+
try (InputStream inputStream = Resources.getResourceAsStream(resource)) {
76+
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
77+
Configuration config = builder.parse();
78+
assertNotNull(config);
79+
assertThat(config.getAutoMappingBehavior()).isEqualTo(AutoMappingBehavior.PARTIAL);
80+
assertThat(config.getAutoMappingUnknownColumnBehavior()).isEqualTo(AutoMappingUnknownColumnBehavior.NONE);
81+
assertThat(config.isCacheEnabled()).isTrue();
82+
assertThat(config.getProxyFactory()).isInstanceOf(JavassistProxyFactory.class);
83+
assertThat(config.isLazyLoadingEnabled()).isFalse();
84+
assertThat(config.isAggressiveLazyLoading()).isFalse();
85+
assertThat(config.isMultipleResultSetsEnabled()).isTrue();
86+
assertThat(config.isUseColumnLabel()).isTrue();
87+
assertThat(config.isUseGeneratedKeys()).isFalse();
88+
assertThat(config.getDefaultExecutorType()).isEqualTo(ExecutorType.SIMPLE);
89+
assertNull(config.getDefaultStatementTimeout());
90+
assertNull(config.getDefaultFetchSize());
91+
assertThat(config.isMapUnderscoreToCamelCase()).isFalse();
92+
assertThat(config.isSafeRowBoundsEnabled()).isFalse();
93+
assertThat(config.getLocalCacheScope()).isEqualTo(LocalCacheScope.SESSION);
94+
assertThat(config.getJdbcTypeForNull()).isEqualTo(JdbcType.OTHER);
95+
assertThat(config.getLazyLoadTriggerMethods()).isEqualTo((Set<String>) new HashSet<String>(Arrays.asList("equals", "clone", "hashCode", "toString")));
96+
assertThat(config.isSafeResultHandlerEnabled()).isTrue();
97+
assertThat(config.getDefaultScriptingLanuageInstance()).isInstanceOf(XMLLanguageDriver.class);
98+
assertThat(config.isCallSettersOnNulls()).isFalse();
99+
assertNull(config.getLogPrefix());
100+
assertNull(config.getLogImpl());
101+
assertNull(config.getConfigurationFactory());
102+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(RoundingMode.class)).isInstanceOf(EnumTypeHandler.class);
103+
}
104104
}
105105

106106
enum MyEnum {
@@ -163,96 +163,96 @@ public void registerJavaTypeInitializingTypeHandler() {
163163
@Test
164164
public void shouldSuccessfullyLoadXMLConfigFile() throws Exception {
165165
String resource = "org/apache/ibatis/builder/CustomizedSettingsMapperConfig.xml";
166-
InputStream inputStream = Resources.getResourceAsStream(resource);
167-
Properties props = new Properties();
168-
props.put("prop2", "cccc");
169-
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream, null, props);
170-
Configuration config = builder.parse();
171-
172-
assertThat(config.getAutoMappingBehavior()).isEqualTo(AutoMappingBehavior.NONE);
173-
assertThat(config.getAutoMappingUnknownColumnBehavior()).isEqualTo(AutoMappingUnknownColumnBehavior.WARNING);
174-
assertThat(config.isCacheEnabled()).isFalse();
175-
assertThat(config.getProxyFactory()).isInstanceOf(CglibProxyFactory.class);
176-
assertThat(config.isLazyLoadingEnabled()).isTrue();
177-
assertThat(config.isAggressiveLazyLoading()).isTrue();
178-
assertThat(config.isMultipleResultSetsEnabled()).isFalse();
179-
assertThat(config.isUseColumnLabel()).isFalse();
180-
assertThat(config.isUseGeneratedKeys()).isTrue();
181-
assertThat(config.getDefaultExecutorType()).isEqualTo(ExecutorType.BATCH);
182-
assertThat(config.getDefaultStatementTimeout()).isEqualTo(10);
183-
assertThat(config.getDefaultFetchSize()).isEqualTo(100);
184-
assertThat(config.isMapUnderscoreToCamelCase()).isTrue();
185-
assertThat(config.isSafeRowBoundsEnabled()).isTrue();
186-
assertThat(config.getLocalCacheScope()).isEqualTo(LocalCacheScope.STATEMENT);
187-
assertThat(config.getJdbcTypeForNull()).isEqualTo(JdbcType.NULL);
188-
assertThat(config.getLazyLoadTriggerMethods()).isEqualTo((Set<String>) new HashSet<String>(Arrays.asList("equals", "clone", "hashCode", "toString", "xxx")));
189-
assertThat(config.isSafeResultHandlerEnabled()).isFalse();
190-
assertThat(config.getDefaultScriptingLanuageInstance()).isInstanceOf(RawLanguageDriver.class);
191-
assertThat(config.isCallSettersOnNulls()).isTrue();
192-
assertThat(config.getLogPrefix()).isEqualTo("mybatis_");
193-
assertThat(config.getLogImpl().getName()).isEqualTo(Slf4jImpl.class.getName());
194-
assertThat(config.getVfsImpl().getName()).isEqualTo(JBoss6VFS.class.getName());
195-
assertThat(config.getConfigurationFactory().getName()).isEqualTo(String.class.getName());
196-
197-
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("blogauthor").equals(Author.class));
198-
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("blog").equals(Blog.class));
199-
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("cart").equals(Cart.class));
200-
201-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(Integer.class)).isInstanceOf(CustomIntegerTypeHandler.class);
202-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(Long.class)).isInstanceOf(CustomLongTypeHandler.class);
203-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(String.class)).isInstanceOf(CustomStringTypeHandler.class);
204-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(String.class, JdbcType.VARCHAR)).isInstanceOf(CustomStringTypeHandler.class);
205-
assertThat(config.getTypeHandlerRegistry().getTypeHandler(RoundingMode.class)).isInstanceOf(EnumOrdinalTypeHandler.class);
206-
207-
ExampleObjectFactory objectFactory = (ExampleObjectFactory)config.getObjectFactory();
208-
assertThat(objectFactory.getProperties().size()).isEqualTo(1);
209-
assertThat(objectFactory.getProperties().getProperty("objectFactoryProperty")).isEqualTo("100");
210-
211-
assertThat(config.getObjectWrapperFactory()).isInstanceOf(CustomObjectWrapperFactory.class);
212-
213-
assertThat(config.getReflectorFactory()).isInstanceOf(CustomReflectorFactory.class);
214-
215-
ExamplePlugin plugin = (ExamplePlugin)config.getInterceptors().get(0);
216-
assertThat(plugin.getProperties().size()).isEqualTo(1);
217-
assertThat(plugin.getProperties().getProperty("pluginProperty")).isEqualTo("100");
218-
219-
Environment environment = config.getEnvironment();
220-
assertThat(environment.getId()).isEqualTo("development");
221-
assertThat(environment.getDataSource()).isInstanceOf(UnpooledDataSource.class);
222-
assertThat(environment.getTransactionFactory()).isInstanceOf(JdbcTransactionFactory.class);
223-
224-
assertThat(config.getDatabaseId()).isEqualTo("derby");
225-
226-
assertThat(config.getMapperRegistry().getMappers().size()).isEqualTo(4);
227-
assertThat(config.getMapperRegistry().hasMapper(CachedAuthorMapper.class)).isTrue();
228-
assertThat(config.getMapperRegistry().hasMapper(CustomMapper.class)).isTrue();
229-
assertThat(config.getMapperRegistry().hasMapper(BlogMapper.class)).isTrue();
230-
assertThat(config.getMapperRegistry().hasMapper(NestedBlogMapper.class)).isTrue();
231-
inputStream.close();
166+
try (InputStream inputStream = Resources.getResourceAsStream(resource)) {
167+
Properties props = new Properties();
168+
props.put("prop2", "cccc");
169+
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream, null, props);
170+
Configuration config = builder.parse();
171+
172+
assertThat(config.getAutoMappingBehavior()).isEqualTo(AutoMappingBehavior.NONE);
173+
assertThat(config.getAutoMappingUnknownColumnBehavior()).isEqualTo(AutoMappingUnknownColumnBehavior.WARNING);
174+
assertThat(config.isCacheEnabled()).isFalse();
175+
assertThat(config.getProxyFactory()).isInstanceOf(CglibProxyFactory.class);
176+
assertThat(config.isLazyLoadingEnabled()).isTrue();
177+
assertThat(config.isAggressiveLazyLoading()).isTrue();
178+
assertThat(config.isMultipleResultSetsEnabled()).isFalse();
179+
assertThat(config.isUseColumnLabel()).isFalse();
180+
assertThat(config.isUseGeneratedKeys()).isTrue();
181+
assertThat(config.getDefaultExecutorType()).isEqualTo(ExecutorType.BATCH);
182+
assertThat(config.getDefaultStatementTimeout()).isEqualTo(10);
183+
assertThat(config.getDefaultFetchSize()).isEqualTo(100);
184+
assertThat(config.isMapUnderscoreToCamelCase()).isTrue();
185+
assertThat(config.isSafeRowBoundsEnabled()).isTrue();
186+
assertThat(config.getLocalCacheScope()).isEqualTo(LocalCacheScope.STATEMENT);
187+
assertThat(config.getJdbcTypeForNull()).isEqualTo(JdbcType.NULL);
188+
assertThat(config.getLazyLoadTriggerMethods()).isEqualTo((Set<String>) new HashSet<String>(Arrays.asList("equals", "clone", "hashCode", "toString", "xxx")));
189+
assertThat(config.isSafeResultHandlerEnabled()).isFalse();
190+
assertThat(config.getDefaultScriptingLanuageInstance()).isInstanceOf(RawLanguageDriver.class);
191+
assertThat(config.isCallSettersOnNulls()).isTrue();
192+
assertThat(config.getLogPrefix()).isEqualTo("mybatis_");
193+
assertThat(config.getLogImpl().getName()).isEqualTo(Slf4jImpl.class.getName());
194+
assertThat(config.getVfsImpl().getName()).isEqualTo(JBoss6VFS.class.getName());
195+
assertThat(config.getConfigurationFactory().getName()).isEqualTo(String.class.getName());
196+
197+
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("blogauthor").equals(Author.class));
198+
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("blog").equals(Blog.class));
199+
assertTrue(config.getTypeAliasRegistry().getTypeAliases().get("cart").equals(Cart.class));
200+
201+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(Integer.class)).isInstanceOf(CustomIntegerTypeHandler.class);
202+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(Long.class)).isInstanceOf(CustomLongTypeHandler.class);
203+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(String.class)).isInstanceOf(CustomStringTypeHandler.class);
204+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(String.class, JdbcType.VARCHAR)).isInstanceOf(CustomStringTypeHandler.class);
205+
assertThat(config.getTypeHandlerRegistry().getTypeHandler(RoundingMode.class)).isInstanceOf(EnumOrdinalTypeHandler.class);
206+
207+
ExampleObjectFactory objectFactory = (ExampleObjectFactory) config.getObjectFactory();
208+
assertThat(objectFactory.getProperties().size()).isEqualTo(1);
209+
assertThat(objectFactory.getProperties().getProperty("objectFactoryProperty")).isEqualTo("100");
210+
211+
assertThat(config.getObjectWrapperFactory()).isInstanceOf(CustomObjectWrapperFactory.class);
212+
213+
assertThat(config.getReflectorFactory()).isInstanceOf(CustomReflectorFactory.class);
214+
215+
ExamplePlugin plugin = (ExamplePlugin) config.getInterceptors().get(0);
216+
assertThat(plugin.getProperties().size()).isEqualTo(1);
217+
assertThat(plugin.getProperties().getProperty("pluginProperty")).isEqualTo("100");
218+
219+
Environment environment = config.getEnvironment();
220+
assertThat(environment.getId()).isEqualTo("development");
221+
assertThat(environment.getDataSource()).isInstanceOf(UnpooledDataSource.class);
222+
assertThat(environment.getTransactionFactory()).isInstanceOf(JdbcTransactionFactory.class);
223+
224+
assertThat(config.getDatabaseId()).isEqualTo("derby");
225+
226+
assertThat(config.getMapperRegistry().getMappers().size()).isEqualTo(4);
227+
assertThat(config.getMapperRegistry().hasMapper(CachedAuthorMapper.class)).isTrue();
228+
assertThat(config.getMapperRegistry().hasMapper(CustomMapper.class)).isTrue();
229+
assertThat(config.getMapperRegistry().hasMapper(BlogMapper.class)).isTrue();
230+
assertThat(config.getMapperRegistry().hasMapper(NestedBlogMapper.class)).isTrue();
231+
}
232232
}
233233

234234
@Test
235235
public void shouldSuccessfullyLoadXMLConfigFileWithPropertiesUrl() throws Exception {
236236
String resource = "org/apache/ibatis/builder/PropertiesUrlMapperConfig.xml";
237-
InputStream inputStream = Resources.getResourceAsStream(resource);
238-
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
239-
Configuration config = builder.parse();
240-
assertThat(config.getVariables().get("driver").toString()).isEqualTo("org.apache.derby.jdbc.EmbeddedDriver");
241-
assertThat(config.getVariables().get("prop1").toString()).isEqualTo("bbbb");
242-
inputStream.close();
237+
try (InputStream inputStream = Resources.getResourceAsStream(resource)) {
238+
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
239+
Configuration config = builder.parse();
240+
assertThat(config.getVariables().get("driver").toString()).isEqualTo("org.apache.derby.jdbc.EmbeddedDriver");
241+
assertThat(config.getVariables().get("prop1").toString()).isEqualTo("bbbb");
242+
}
243243
}
244244

245245
@Test
246246
public void parseIsTwice() throws Exception {
247247
String resource = "org/apache/ibatis/builder/MinimalMapperConfig.xml";
248-
InputStream inputStream = Resources.getResourceAsStream(resource);
249-
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
250-
builder.parse();
248+
try (InputStream inputStream = Resources.getResourceAsStream(resource)) {
249+
XMLConfigBuilder builder = new XMLConfigBuilder(inputStream);
250+
builder.parse();
251251

252-
when(builder).parse();
253-
then(caughtException()).isInstanceOf(BuilderException.class)
254-
.hasMessage("Each XMLConfigBuilder can only be used once.");
255-
inputStream.close();
252+
when(builder).parse();
253+
then(caughtException()).isInstanceOf(BuilderException.class)
254+
.hasMessage("Each XMLConfigBuilder can only be used once.");
255+
}
256256
}
257257

258258
@Test

0 commit comments

Comments
 (0)