Skip to content

Commit 1d82865

Browse files
committed
Minor refactoring
1 parent 52c3d78 commit 1d82865

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

src/main/java/org/apache/ibatis/executor/keygen/Jdbc3KeyGenerator.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.sql.ResultSetMetaData;
2020
import java.sql.SQLException;
2121
import java.sql.Statement;
22-
import java.util.AbstractMap;
2322
import java.util.ArrayList;
2423
import java.util.Arrays;
2524
import java.util.Collection;
@@ -158,7 +157,7 @@ private void assignKeysToParamMap(Configuration configuration, ResultSet rs, Res
158157
Entry<String, KeyAssigner> entry = getAssignerForParamMap(configuration, rsmd, i + 1, paramMap, keyProperties[i],
159158
keyProperties, true);
160159
Entry<Iterator<?>, List<KeyAssigner>> iteratorPair = MapUtil.computeIfAbsent(assignerMap, entry.getKey(),
161-
k -> entry(collectionize(paramMap.get(k)).iterator(), new ArrayList<>()));
160+
k -> MapUtil.entry(collectionize(paramMap.get(k)).iterator(), new ArrayList<>()));
162161
iteratorPair.getValue().add(entry.getValue());
163162
}
164163
long counter = 0;
@@ -194,7 +193,7 @@ private Entry<String, KeyAssigner> getAssignerForParamMap(Configuration config,
194193
if (keySet.contains(paramName)) {
195194
String argParamName = omitParamName ? null : paramName;
196195
String argKeyProperty = keyProperty.substring(firstDot + 1);
197-
return entry(paramName, new KeyAssigner(config, rsmd, columnPosition, argParamName, argKeyProperty));
196+
return MapUtil.entry(paramName, new KeyAssigner(config, rsmd, columnPosition, argParamName, argKeyProperty));
198197
} else if (singleParam) {
199198
return getAssignerForSingleParam(config, rsmd, columnPosition, paramMap, keyProperty, omitParamName);
200199
} else {
@@ -210,7 +209,7 @@ private Entry<String, KeyAssigner> getAssignerForSingleParam(Configuration confi
210209
// Assume 'keyProperty' to be a property of the single param.
211210
String singleParamName = nameOfSingleParam(paramMap);
212211
String argParamName = omitParamName ? null : singleParamName;
213-
return entry(singleParamName, new KeyAssigner(config, rsmd, columnPosition, argParamName, keyProperty));
212+
return MapUtil.entry(singleParamName, new KeyAssigner(config, rsmd, columnPosition, argParamName, keyProperty));
214213
}
215214

216215
private static String nameOfSingleParam(Map<String, ?> paramMap) {
@@ -228,11 +227,6 @@ private static Collection<?> collectionize(Object param) {
228227
}
229228
}
230229

231-
private static <K, V> Entry<K, V> entry(K key, V value) {
232-
// Replace this with Map.entry(key, value) in Java 9.
233-
return new AbstractMap.SimpleImmutableEntry<>(key, value);
234-
}
235-
236230
private class KeyAssigner {
237231
private final Configuration configuration;
238232
private final ResultSetMetaData rsmd;

src/main/java/org/apache/ibatis/util/MapUtil.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616

1717
package org.apache.ibatis.util;
1818

19+
import java.util.AbstractMap;
1920
import java.util.Map;
21+
import java.util.Map.Entry;
2022
import java.util.function.Function;
2123

2224
public class MapUtil {
@@ -34,6 +36,13 @@ public static <K, V> V computeIfAbsent(Map<K, V> map, K key, Function<K, V> mapp
3436
return map.computeIfAbsent(key, mappingFunction::apply);
3537
}
3638

39+
/**
40+
* Map.entry(key, value) alternative for Java 8.
41+
*/
42+
public static <K, V> Entry<K, V> entry(K key, V value) {
43+
return new AbstractMap.SimpleImmutableEntry<>(key, value);
44+
}
45+
3746
private MapUtil() {
3847
super();
3948
}

0 commit comments

Comments
 (0)