Skip to content

Commit d518aa9

Browse files
authored
Merge pull request #821 from hazendaz/master
Cleanup throughout code for newer java styles
2 parents 33d1a9f + b50b626 commit d518aa9

21 files changed

+137
-183
lines changed

src/main/java/org/mybatis/guice/AbstractMyBatisModule.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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,7 +25,7 @@
2525
import com.google.inject.AbstractModule;
2626
import com.google.inject.Binder;
2727
import com.google.inject.Scopes;
28-
import com.google.inject.matcher.AbstractMatcher;
28+
import com.google.inject.matcher.Matcher;
2929

3030
import java.lang.reflect.Method;
3131
import java.util.Set;
@@ -40,19 +40,9 @@
4040

4141
abstract class AbstractMyBatisModule extends AbstractModule {
4242

43-
protected static final AbstractMatcher<Method> DECLARED_BY_OBJECT = new AbstractMatcher<Method>() {
44-
@Override
45-
public boolean matches(Method method) {
46-
return method.getDeclaringClass() == Object.class;
47-
}
48-
};
43+
protected static final Matcher<Method> DECLARED_BY_OBJECT = method -> method.getDeclaringClass() == Object.class;
4944

50-
protected static final AbstractMatcher<Method> SYNTHETIC = new AbstractMatcher<Method>() {
51-
@Override
52-
public boolean matches(Method method) {
53-
return method.isSynthetic();
54-
}
55-
};
45+
protected static final Matcher<Method> SYNTHETIC = Method::isSynthetic;
5646

5747
private ClassLoader resourcesClassLoader = getDefaultClassLoader();
5848

@@ -83,7 +73,7 @@ protected static Set<Class<?>> getClasses(String packageName) {
8373
protected static Set<Class<?>> getClasses(ResolverUtil.Test test, String packageName) {
8474
checkArgument(test != null, "Parameter 'test' must not be null");
8575
checkArgument(packageName != null, "Parameter 'packageName' must not be null");
86-
return new ResolverUtil<Object>().find(test, packageName).getClasses();
76+
return new ResolverUtil<>().find(test, packageName).getClasses();
8777
}
8878

8979
@Override
@@ -129,7 +119,7 @@ protected void bindTransactionInterceptors() {
129119
* the mapper type
130120
*/
131121
final <T> void bindMapper(Class<T> mapperType) {
132-
bind(mapperType).toProvider(guicify(new MapperProvider<T>(mapperType))).in(Scopes.SINGLETON);
122+
bind(mapperType).toProvider(guicify(new MapperProvider<>(mapperType))).in(Scopes.SINGLETON);
133123
}
134124

135125
/**

src/main/java/org/mybatis/guice/MyBatisJtaModule.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -41,10 +41,10 @@ public abstract class MyBatisJtaModule extends MyBatisModule {
4141
private TransactionManager transactionManager;
4242
private Class<? extends Provider<? extends XAResource>> xaResourceProvider = XASqlSessionManagerProvider.class;
4343

44-
public MyBatisJtaModule() {
44+
protected MyBatisJtaModule() {
4545
}
4646

47-
public MyBatisJtaModule(TransactionManager transactionManager) {
47+
protected MyBatisJtaModule(TransactionManager transactionManager) {
4848
this.transactionManager = transactionManager;
4949
}
5050

@@ -72,7 +72,7 @@ protected void bindTransactionInterceptors() {
7272
bindInterceptor(any(), not(DECLARED_BY_OBJECT).and(annotatedWith(Transactional.class)), interceptorTx,
7373
interceptor);
7474
// Intercept classes annotated with Transactional, but avoid "double"
75-
// interception when a mathod is also annotated inside an annotated
75+
// interception when a method is also annotated inside an annotated
7676
// class.
7777
bindInterceptor(annotatedWith(Transactional.class),
7878
not(DECLARED_BY_OBJECT).and(not(annotatedWith(Transactional.class))), interceptorTx, interceptor);

src/main/java/org/mybatis/guice/MyBatisModule.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2024 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -165,6 +165,7 @@ protected final void aggressiveLazyLoading(boolean aggressiveLazyLoading) {
165165
* @param multipleResultSetsEnabled
166166
* the multiple result sets enabled
167167
*/
168+
@Deprecated
168169
protected final void multipleResultSetsEnabled(boolean multipleResultSetsEnabled) {
169170
bindConfigurationSetting(new MultipleResultSetsEnabledConfigurationSetting(multipleResultSetsEnabled));
170171
}
@@ -435,16 +436,11 @@ protected final void bindDefaultScriptingLanguageType(Class<? extends LanguageDr
435436
* @return the alias binder
436437
*/
437438
protected final AliasBinder addAlias(final String alias) {
438-
checkArgument(alias != null && alias.length() > 0, "Empty or null 'alias' is not valid");
439-
440-
return new AliasBinder() {
441-
442-
@Override
443-
public void to(final Class<?> clazz) {
444-
checkArgument(clazz != null, "Null type not valid for alias '%s'", alias);
445-
bindConfigurationSetting(new AliasConfigurationSetting(alias, clazz));
446-
}
439+
checkArgument(alias != null && !alias.isEmpty(), "Empty or null 'alias' is not valid");
447440

441+
return clazz -> {
442+
checkArgument(clazz != null, "Null type not valid for alias '%s'", alias);
443+
bindConfigurationSetting(new AliasConfigurationSetting(alias, clazz));
448444
};
449445
}
450446

@@ -559,7 +555,7 @@ final <TH extends TypeHandler<? extends T>> void bindTypeHandler(TypeLiteral<TH>
559555

560556
final <TH extends TypeHandler<? extends T>> void bindProvidedTypeHandler(TypeLiteral<TH> typeHandlerType,
561557
Class<T> type) {
562-
bind(typeHandlerType).toProvider(guicify(new TypeHandlerProvider<TH, T>(typeHandlerType, type)))
558+
bind(typeHandlerType).toProvider(guicify(new TypeHandlerProvider<>(typeHandlerType, type)))
563559
.in(Scopes.SINGLETON);
564560
}
565561
};

src/main/java/org/mybatis/guice/configuration/settings/ObjectFactoryConfigurationSetting.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -21,7 +21,6 @@
2121
import jakarta.inject.Provider;
2222

2323
import org.apache.ibatis.reflection.factory.ObjectFactory;
24-
import org.apache.ibatis.session.Configuration;
2524

2625
public class ObjectFactoryConfigurationSetting implements Provider<ConfigurationSetting> {
2726

@@ -41,12 +40,7 @@ public void setInjector(final Injector injector) {
4140
@Override
4241
public ConfigurationSetting get() {
4342
final ObjectFactory objectFactory = injector.getInstance(objectFactoryType);
44-
return new ConfigurationSetting() {
45-
@Override
46-
public void applyConfigurationSetting(Configuration configuration) {
47-
configuration.setObjectFactory(objectFactory);
48-
}
49-
};
43+
return configuration -> configuration.setObjectFactory(objectFactory);
5044
}
5145

5246
}

src/main/java/org/mybatis/guice/configuration/settings/ObjectWrapperFactoryConfigurationSetting.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -21,7 +21,6 @@
2121
import jakarta.inject.Provider;
2222

2323
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
24-
import org.apache.ibatis.session.Configuration;
2524

2625
public class ObjectWrapperFactoryConfigurationSetting implements Provider<ConfigurationSetting> {
2726

@@ -40,11 +39,6 @@ public void setInjector(final Injector injector) {
4039
@Override
4140
public ConfigurationSetting get() {
4241
final ObjectWrapperFactory objectWrapperFactory = injector.getInstance(objectWrapperFactoryType);
43-
return new ConfigurationSetting() {
44-
@Override
45-
public void applyConfigurationSetting(Configuration configuration) {
46-
configuration.setObjectWrapperFactory(objectWrapperFactory);
47-
}
48-
};
42+
return configuration -> configuration.setObjectWrapperFactory(objectWrapperFactory);
4943
}
5044
}

src/main/java/org/mybatis/guice/configuration/settings/TypeHandlerConfigurationSettingProvider.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -21,7 +21,6 @@
2121
import jakarta.inject.Inject;
2222
import jakarta.inject.Provider;
2323

24-
import org.apache.ibatis.session.Configuration;
2524
import org.apache.ibatis.type.TypeHandler;
2625

2726
public final class TypeHandlerConfigurationSettingProvider implements Provider<ConfigurationSetting> {
@@ -37,12 +36,7 @@ public TypeHandlerConfigurationSettingProvider(final Key<? extends TypeHandler<?
3736
@Override
3837
public ConfigurationSetting get() {
3938
final TypeHandler<?> handlerInstance = injector.getInstance(key);
40-
return new ConfigurationSetting() {
41-
@Override
42-
public void applyConfigurationSetting(Configuration configuration) {
43-
configuration.getTypeHandlerRegistry().register(handlerInstance);
44-
}
45-
};
39+
return configuration -> configuration.getTypeHandlerRegistry().register(handlerInstance);
4640
}
4741

4842
}

src/main/java/org/mybatis/guice/datasource/dbcp/BasicDataSourceProvider.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -19,6 +19,7 @@
1919
import jakarta.inject.Named;
2020
import jakarta.inject.Provider;
2121

22+
import java.time.Duration;
2223
import java.util.Map.Entry;
2324
import java.util.Properties;
2425

@@ -205,7 +206,7 @@ public void setMaxOpenPreparedStatements(
205206
*/
206207
@com.google.inject.Inject(optional = true)
207208
public void setMaxWaitMillis(@Named("DBCP.maxWaitMillis") final long maxWaitMillis) {
208-
dataSource.setMaxWaitMillis(maxWaitMillis);
209+
dataSource.setMaxWait(Duration.ofMillis(maxWaitMillis));
209210
}
210211

211212
/**
@@ -217,7 +218,7 @@ public void setMaxWaitMillis(@Named("DBCP.maxWaitMillis") final long maxWaitMill
217218
@com.google.inject.Inject(optional = true)
218219
public void setMinEvictableIdleTimeMillis(
219220
@Named("DBCP.minEvictableIdleTimeMillis") final long minEvictableIdleTimeMillis) {
220-
dataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
221+
dataSource.setMinEvictableIdle(Duration.ofMillis(minEvictableIdleTimeMillis));
221222
}
222223

223224
/**
@@ -295,7 +296,7 @@ public void setTestWhileIdle(@Named("DBCP.testWhileIdle") final boolean testWhil
295296
@com.google.inject.Inject(optional = true)
296297
public void setTimeBetweenEvictionRunsMillis(
297298
@Named("DBCP.timeBetweenEvictionRunsMillis") int timeBetweenEvictionRunsMillis) {
298-
dataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
299+
dataSource.setDurationBetweenEvictionRuns(Duration.ofMillis(timeBetweenEvictionRunsMillis));
299300
}
300301

301302
/**

src/main/java/org/mybatis/guice/datasource/dbcp/DriverAdapterCPDSProvider.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -19,6 +19,8 @@
1919
import jakarta.inject.Named;
2020
import jakarta.inject.Provider;
2121

22+
import java.time.Duration;
23+
2224
import javax.sql.ConnectionPoolDataSource;
2325

2426
import org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS;
@@ -102,7 +104,7 @@ public void setMaxPreparedStatements(@Named("DBCP.maxOpenPreparedStatements") in
102104

103105
@com.google.inject.Inject(optional = true)
104106
public void setMinEvictableIdleTimeMillis(@Named("DBCP.minEvictableIdleTimeMillis") int minEvictableIdleTimeMillis) {
105-
adapter.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
107+
adapter.setMinEvictableIdleDuration(Duration.ofMillis(minEvictableIdleTimeMillis));
106108
}
107109

108110
@com.google.inject.Inject(optional = true)
@@ -118,7 +120,7 @@ public void setPoolPreparedStatements(@Named("DBCP.poolPreparedStatements") bool
118120
@com.google.inject.Inject(optional = true)
119121
public void setTimeBetweenEvictionRunsMillis(
120122
@Named("DBCP.timeBetweenEvictionRunsMillis") int timeBetweenEvictionRunsMillis) {
121-
adapter.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
123+
adapter.setDurationBetweenEvictionRuns(Duration.ofMillis(timeBetweenEvictionRunsMillis));
122124
}
123125

124126
@Override

src/main/java/org/mybatis/guice/datasource/dbcp/PerUserPoolDataSourceProvider.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -18,6 +18,7 @@
1818
import jakarta.inject.Named;
1919
import jakarta.inject.Provider;
2020

21+
import java.time.Duration;
2122
import java.util.Map;
2223
import java.util.Map.Entry;
2324

@@ -71,13 +72,13 @@ public void setJndiEnvironment(@Named("DBCP.jndi.key") String key, @Named("DBCP.
7172

7273
@com.google.inject.Inject(optional = true)
7374
public void setLoginTimeout(@Named("JDBC.loginTimeout") int loginTimeout) {
74-
dataSource.setLoginTimeout(loginTimeout);
75+
dataSource.setLoginTimeout(Duration.ofSeconds(loginTimeout));
7576
}
7677

7778
@com.google.inject.Inject(optional = true)
7879
public void setDefaultMinEvictableIdleTimeMillis(
7980
@Named("DBCP.defaultMinEvictableIdleTimeMillis") int defaultMinEvictableIdleTimeMillis) {
80-
dataSource.setDefaultMinEvictableIdleTimeMillis(defaultMinEvictableIdleTimeMillis);
81+
dataSource.setDefaultMinEvictableIdle(Duration.ofMillis(defaultMinEvictableIdleTimeMillis));
8182
}
8283

8384
@com.google.inject.Inject(optional = true)
@@ -109,7 +110,7 @@ public void setDefaultTestWhileIdle(@Named("DBCP.defaultTestWhileIdle") boolean
109110
@com.google.inject.Inject(optional = true)
110111
public void setDefaultTimeBetweenEvictionRunsMillis(
111112
@Named("DBCP.defaultTimeBetweenEvictionRunsMillis") int defaultTimeBetweenEvictionRunsMillis) {
112-
dataSource.setDefaultTimeBetweenEvictionRunsMillis(defaultTimeBetweenEvictionRunsMillis);
113+
dataSource.setDefaultDurationBetweenEvictionRuns(Duration.ofMillis(defaultTimeBetweenEvictionRunsMillis));
113114
}
114115

115116
@com.google.inject.Inject(optional = true)
@@ -129,7 +130,7 @@ public void setDefaultMaxIdle(@Named("DBCP.defaultMaxIdle") int defaultMaxIdle)
129130

130131
@com.google.inject.Inject(optional = true)
131132
public void setDefaultMaxWaitMillis(@Named("DBCP.defaultMaxWaitMillis") int defaultMaxWaitMillis) {
132-
dataSource.setDefaultMaxWaitMillis(defaultMaxWaitMillis);
133+
dataSource.setDefaultMaxWait(Duration.ofMillis(defaultMaxWaitMillis));
133134
}
134135

135136
/**
@@ -207,7 +208,7 @@ public void setPerUserMaxIdle(@PerUserMaxIdle Map<String, Integer> perUserMaxIdl
207208
@com.google.inject.Inject(optional = true)
208209
public void setPerUserMaxWaitMillis(@PerUserMaxWaitMillis Map<String, Long> perUserMaxWaitMillis) {
209210
for (Entry<String, Long> entry : perUserMaxWaitMillis.entrySet()) {
210-
dataSource.setPerUserMaxWaitMillis(entry.getKey(), entry.getValue());
211+
dataSource.setPerUserMaxWait(entry.getKey(), Duration.ofMillis(entry.getValue()));
211212
}
212213
}
213214

src/main/java/org/mybatis/guice/datasource/dbcp/SharedPoolDataSourceProvider.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2025 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.
@@ -18,6 +18,8 @@
1818
import jakarta.inject.Named;
1919
import jakarta.inject.Provider;
2020

21+
import java.time.Duration;
22+
2123
import javax.sql.ConnectionPoolDataSource;
2224
import javax.sql.DataSource;
2325

@@ -68,13 +70,13 @@ public void setJndiEnvironment(@Named("DBCP.jndi.key") String key, @Named("DBCP.
6870

6971
@com.google.inject.Inject(optional = true)
7072
public void setLoginTimeout(@Named("JDBC.loginTimeout") int loginTimeout) {
71-
dataSource.setLoginTimeout(loginTimeout);
73+
dataSource.setLoginTimeout(Duration.ofSeconds(loginTimeout));
7274
}
7375

7476
@com.google.inject.Inject(optional = true)
7577
public void setDefaultMinEvictableIdleTimeMillis(
7678
@Named("DBCP.defaultMinEvictableIdleTimeMillis") int defaultMinEvictableIdleTimeMillis) {
77-
dataSource.setDefaultMinEvictableIdleTimeMillis(defaultMinEvictableIdleTimeMillis);
79+
dataSource.setDefaultMinEvictableIdle(Duration.ofMillis(defaultMinEvictableIdleTimeMillis));
7880
}
7981

8082
@com.google.inject.Inject(optional = true)
@@ -106,7 +108,7 @@ public void setDefaultTestWhileIdle(@Named("DBCP.defaultTestWhileIdle") boolean
106108
@com.google.inject.Inject(optional = true)
107109
public void setDefaultTimeBetweenEvictionRunsMillis(
108110
@Named("DBCP.defaultTimeBetweenEvictionRunsMillis") int defaultTimeBetweenEvictionRunsMillis) {
109-
dataSource.setDefaultTimeBetweenEvictionRunsMillis(defaultTimeBetweenEvictionRunsMillis);
111+
dataSource.setDefaultDurationBetweenEvictionRuns(Duration.ofMillis((defaultTimeBetweenEvictionRunsMillis)));
110112
}
111113

112114
@com.google.inject.Inject(optional = true)
@@ -144,7 +146,7 @@ public void setDefaultMaxIdle(@Named("DBCP.defaultMaxIdle") final int defaultMax
144146
*/
145147
@com.google.inject.Inject(optional = true)
146148
public void setDefaultMaxWaitMillis(@Named("DBCP.defaultMaxWaitMillis") final int defaultMaxWaitMillis) {
147-
dataSource.setDefaultMaxWaitMillis(defaultMaxWaitMillis);
149+
dataSource.setDefaultMaxWait(Duration.ofMillis(defaultMaxWaitMillis));
148150
}
149151

150152
@Override

0 commit comments

Comments
 (0)