Skip to content

Commit 7cd0a5c

Browse files
sabi0slow-J
authored andcommitted
Use Collections.addAll() instead of manual array copy and misc. code cleanups (apache#12977)
1 parent 8de8ead commit 7cd0a5c

File tree

15 files changed

+115
-191
lines changed

15 files changed

+115
-191
lines changed

lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.lucene.analysis.morfologik;
1818

1919
import java.io.IOException;
20+
import java.util.Collections;
2021
import java.util.TreeSet;
2122
import org.apache.lucene.analysis.Analyzer;
2223
import org.apache.lucene.analysis.CharArraySet;
@@ -127,9 +128,7 @@ private void assertPOSToken(TokenStream ts, String term, String... tags) throws
127128
for (StringBuilder b : ts.getAttribute(MorphosyntacticTagsAttribute.class).getTags()) {
128129
actual.add(b.toString());
129130
}
130-
for (String s : tags) {
131-
expected.add(s);
132-
}
131+
Collections.addAll(expected, tags);
133132

134133
if (!expected.equals(actual)) {
135134
System.out.println("Expected:\n" + expected);

lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.lang.reflect.Constructor;
2222
import java.util.ArrayList;
2323
import java.util.Arrays;
24+
import java.util.Collections;
2425
import java.util.Locale;
2526
import org.apache.lucene.benchmark.byTask.PerfRunData;
2627
import org.apache.lucene.benchmark.byTask.tasks.PerfTask;
@@ -77,8 +78,8 @@ public Algorithm(PerfRunData runData) throws Exception {
7778
if (task instanceof RepSumByPrefTask) {
7879
stok.nextToken();
7980
String prefix = stok.sval;
80-
if (prefix == null || prefix.length() == 0) {
81-
throw new Exception("named report prefix problem - " + stok.toString());
81+
if (prefix == null || prefix.isEmpty()) {
82+
throw new Exception("named report prefix problem - " + stok);
8283
}
8384
((RepSumByPrefTask) task).setPrefix(prefix);
8485
}
@@ -108,7 +109,7 @@ public Algorithm(PerfRunData runData) throws Exception {
108109
}
109110
case StreamTokenizer.TT_EOF:
110111
{
111-
throw new RuntimeException("Unexpexted EOF: - " + stok.toString());
112+
throw new RuntimeException("Unexpected EOF: - " + stok);
112113
}
113114
case '"':
114115
case '\'':
@@ -160,15 +161,15 @@ public Algorithm(PerfRunData runData) throws Exception {
160161

161162
switch (c) {
162163
case ':':
163-
if (!colonOk) throw new Exception("colon unexpexted: - " + stok.toString());
164+
if (!colonOk) throw new Exception("colon unexpected: - " + stok);
164165
colonOk = false;
165166
// get repetitions number
166167
stok.nextToken();
167168
if ((char) stok.ttype == '*') {
168169
((TaskSequence) prevTask).setRepetitions(TaskSequence.REPEAT_EXHAUST);
169170
} else {
170171
if (stok.ttype != StreamTokenizer.TT_NUMBER) {
171-
throw new Exception("expected repetitions number or XXXs: - " + stok.toString());
172+
throw new Exception("expected repetitions number or XXXs: - " + stok);
172173
} else {
173174
double num = stok.nval;
174175
stok.nextToken();
@@ -188,7 +189,7 @@ public Algorithm(PerfRunData runData) throws Exception {
188189
// get rate number
189190
stok.nextToken();
190191
if (stok.ttype != StreamTokenizer.TT_NUMBER)
191-
throw new Exception("expected rate number: - " + stok.toString());
192+
throw new Exception("expected rate number: - " + stok);
192193
// check for unit - min or sec, sec is default
193194
stok.nextToken();
194195
if (stok.ttype != '/') {
@@ -197,14 +198,14 @@ public Algorithm(PerfRunData runData) throws Exception {
197198
} else {
198199
stok.nextToken();
199200
if (stok.ttype != StreamTokenizer.TT_WORD)
200-
throw new Exception("expected rate unit: 'min' or 'sec' - " + stok.toString());
201+
throw new Exception("expected rate unit: 'min' or 'sec' - " + stok);
201202
String unit = stok.sval.toLowerCase(Locale.ROOT);
202203
if ("min".equals(unit)) {
203204
((TaskSequence) prevTask).setRate((int) stok.nval, true); // set rate per min
204205
} else if ("sec".equals(unit)) {
205206
((TaskSequence) prevTask).setRate((int) stok.nval, false); // set rate per sec
206207
} else {
207-
throw new Exception("expected rate unit: 'min' or 'sec' - " + stok.toString());
208+
throw new Exception("expected rate unit: 'min' or 'sec' - " + stok);
208209
}
209210
}
210211
}
@@ -221,8 +222,8 @@ public Algorithm(PerfRunData runData) throws Exception {
221222
stok.pushBack();
222223
} else {
223224
name = stok.sval;
224-
if (stok.ttype != '"' || name == null || name.length() == 0) {
225-
throw new Exception("sequence name problem - " + stok.toString());
225+
if (stok.ttype != '"' || name == null || name.isEmpty()) {
226+
throw new Exception("sequence name problem - " + stok);
226227
}
227228
}
228229
// start the sequence
@@ -299,9 +300,7 @@ private String[] initTasksPackages(Config config) {
299300
}
300301
ArrayList<String> pkgs = new ArrayList<>();
301302
pkgs.add(dfltPkg);
302-
for (String alt : alts.split(",")) {
303-
pkgs.add(alt);
304-
}
303+
Collections.addAll(pkgs, alts.split(","));
305304
return pkgs.toArray(new String[0]);
306305
}
307306

@@ -322,11 +321,7 @@ private Class<?> taskClass(Config config, String taskName) throws ClassNotFoundE
322321

323322
@Override
324323
public String toString() {
325-
String newline = System.getProperty("line.separator");
326-
StringBuilder sb = new StringBuilder();
327-
sb.append(sequence.toString());
328-
sb.append(newline);
329-
return sb.toString();
324+
return sequence.toString() + System.lineSeparator();
330325
}
331326

332327
/** Execute this algorithm */

lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,19 @@
2020
import java.io.IOException;
2121
import java.io.UncheckedIOException;
2222
import java.nio.file.NoSuchFileException;
23-
import java.util.Arrays;
2423
import java.util.Collection;
24+
import java.util.Collections;
2525
import java.util.HashSet;
2626
import java.util.Set;
27+
import java.util.TreeSet;
2728
import java.util.concurrent.atomic.AtomicBoolean;
2829
import java.util.concurrent.atomic.AtomicLong;
2930
import org.apache.lucene.util.Accountable;
3031
import org.apache.lucene.util.IOUtils;
3132

3233
// TODO
3334
// - let subclass dictate policy...?
34-
// - rename to MergeCacheingDir? NRTCachingDir
35+
// - rename to MergeCachingDir? NRTCachingDir
3536

3637
/**
3738
* Wraps a RAM-resident directory around any provided delegate directory, to be used during NRT
@@ -105,16 +106,10 @@ public String toString() {
105106

106107
@Override
107108
public synchronized String[] listAll() throws IOException {
108-
final Set<String> files = new HashSet<>();
109-
for (String f : cacheDirectory.listAll()) {
110-
files.add(f);
111-
}
112-
for (String f : in.listAll()) {
113-
files.add(f);
114-
}
115-
String[] result = files.toArray(new String[files.size()]);
116-
Arrays.sort(result);
117-
return result;
109+
final Set<String> files = new TreeSet<>();
110+
Collections.addAll(files, cacheDirectory.listAll());
111+
Collections.addAll(files, in.listAll());
112+
return files.toArray(new String[0]);
118113
}
119114

120115
@Override

lucene/core/src/test/org/apache/lucene/analysis/TestCharArraySet.java

Lines changed: 32 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ public class TestCharArraySet extends LuceneTestCase {
3636

3737
public void testRehash() throws Exception {
3838
CharArraySet cas = new CharArraySet(0, true);
39-
for (int i = 0; i < TEST_STOP_WORDS.length; i++) {
40-
cas.add(TEST_STOP_WORDS[i]);
39+
for (String stopWord : TEST_STOP_WORDS) {
40+
cas.add(stopWord);
4141
}
4242
assertEquals(TEST_STOP_WORDS.length, cas.size());
43-
for (int i = 0; i < TEST_STOP_WORDS.length; i++) {
44-
assertTrue(cas.contains(TEST_STOP_WORDS[i]));
43+
for (String testStopWord : TEST_STOP_WORDS) {
44+
assertTrue(cas.contains(testStopWord));
4545
}
4646
}
4747

@@ -80,13 +80,13 @@ public void testClear() {
8080
assertEquals("Not all words added", TEST_STOP_WORDS.length, set.size());
8181
set.clear();
8282
assertEquals("not empty", 0, set.size());
83-
for (int i = 0; i < TEST_STOP_WORDS.length; i++) {
84-
assertFalse(set.contains(TEST_STOP_WORDS[i]));
83+
for (String testStopWord : TEST_STOP_WORDS) {
84+
assertFalse(set.contains(testStopWord));
8585
}
8686
set.addAll(Arrays.asList(TEST_STOP_WORDS));
8787
assertEquals("Not all words added", TEST_STOP_WORDS.length, set.size());
88-
for (int i = 0; i < TEST_STOP_WORDS.length; i++) {
89-
assertTrue(set.contains(TEST_STOP_WORDS[i]));
88+
for (String testStopWord : TEST_STOP_WORDS) {
89+
assertTrue(set.contains(testStopWord));
9090
}
9191
}
9292

@@ -118,7 +118,7 @@ public void testModifyOnUnmodifiable() {
118118
"Test String has been added to unmodifiable set", unmodifiableSet.contains(NOT_IN_SET));
119119
assertEquals("Size of unmodifiable set has changed", size, unmodifiableSet.size());
120120

121-
expectThrows(UnsupportedOperationException.class, () -> unmodifiableSet.clear());
121+
expectThrows(UnsupportedOperationException.class, unmodifiableSet::clear);
122122
assertFalse("Changed unmodifiable set", unmodifiableSet.contains(NOT_IN_SET));
123123
assertEquals("Size of unmodifiable set has changed", size, unmodifiableSet.size());
124124

@@ -149,31 +149,27 @@ public void testModifyOnUnmodifiable() {
149149
assertFalse(
150150
"Test String has been added to unmodifiable set", unmodifiableSet.contains(NOT_IN_SET));
151151

152-
for (int i = 0; i < TEST_STOP_WORDS.length; i++) {
153-
assertTrue(set.contains(TEST_STOP_WORDS[i]));
154-
assertTrue(unmodifiableSet.contains(TEST_STOP_WORDS[i]));
152+
for (String testStopWord : TEST_STOP_WORDS) {
153+
assertTrue(set.contains(testStopWord));
154+
assertTrue(unmodifiableSet.contains(testStopWord));
155155
}
156156
}
157157

158158
public void testUnmodifiableSet() {
159159
CharArraySet set = new CharArraySet(10, true);
160160
set.addAll(Arrays.asList(TEST_STOP_WORDS));
161-
set.add(Integer.valueOf(1));
161+
set.add(1);
162162
final int size = set.size();
163163
set = CharArraySet.unmodifiableSet(set);
164164
assertEquals("Set size changed due to unmodifiableSet call", size, set.size());
165165
for (String stopword : TEST_STOP_WORDS) {
166166
assertTrue(set.contains(stopword));
167167
}
168-
assertTrue(set.contains(Integer.valueOf(1)));
168+
assertTrue(set.contains(1));
169169
assertTrue(set.contains("1"));
170170
assertTrue(set.contains(new char[] {'1'}));
171171

172-
expectThrows(
173-
NullPointerException.class,
174-
() -> {
175-
CharArraySet.unmodifiableSet(null);
176-
});
172+
expectThrows(NullPointerException.class, () -> CharArraySet.unmodifiableSet(null));
177173
}
178174

179175
public void testSupplementaryChars() {
@@ -186,17 +182,13 @@ public void testSupplementaryChars() {
186182
String[] lowerArr =
187183
new String[] {"abc\ud801\udc44", "\ud801\udc44\ud801\udc44cde", "a\ud801\udc44b"};
188184
CharArraySet set = new CharArraySet(Arrays.asList(TEST_STOP_WORDS), true);
189-
for (String upper : upperArr) {
190-
set.add(upper);
191-
}
185+
Collections.addAll(set, upperArr);
192186
for (int i = 0; i < upperArr.length; i++) {
193187
assertTrue(String.format(Locale.ROOT, missing, upperArr[i]), set.contains(upperArr[i]));
194188
assertTrue(String.format(Locale.ROOT, missing, lowerArr[i]), set.contains(lowerArr[i]));
195189
}
196190
set = new CharArraySet(Arrays.asList(TEST_STOP_WORDS), false);
197-
for (String upper : upperArr) {
198-
set.add(upper);
199-
}
191+
Collections.addAll(set, upperArr);
200192
for (int i = 0; i < upperArr.length; i++) {
201193
assertTrue(String.format(Locale.ROOT, missing, upperArr[i]), set.contains(upperArr[i]));
202194
assertFalse(String.format(Locale.ROOT, falsePos, lowerArr[i]), set.contains(lowerArr[i]));
@@ -212,17 +204,13 @@ public void testSingleHighSurrogate() {
212204
String[] lowerArr =
213205
new String[] {"abc\uD800", "abc\uD800efg", "\uD800efg", "\uD800\ud801\udc44b"};
214206
CharArraySet set = new CharArraySet(Arrays.asList(TEST_STOP_WORDS), true);
215-
for (String upper : upperArr) {
216-
set.add(upper);
217-
}
207+
Collections.addAll(set, upperArr);
218208
for (int i = 0; i < upperArr.length; i++) {
219209
assertTrue(String.format(Locale.ROOT, missing, upperArr[i]), set.contains(upperArr[i]));
220210
assertTrue(String.format(Locale.ROOT, missing, lowerArr[i]), set.contains(lowerArr[i]));
221211
}
222212
set = new CharArraySet(Arrays.asList(TEST_STOP_WORDS), false);
223-
for (String upper : upperArr) {
224-
set.add(upper);
225-
}
213+
Collections.addAll(set, upperArr);
226214
for (int i = 0; i < upperArr.length; i++) {
227215
assertTrue(String.format(Locale.ROOT, missing, upperArr[i]), set.contains(upperArr[i]));
228216
assertFalse(String.format(Locale.ROOT, falsePos, upperArr[i]), set.contains(lowerArr[i]));
@@ -239,9 +227,9 @@ public void testCopyCharArraySetBWCompat() {
239227
stopwordsUpper.add(string.toUpperCase(Locale.ROOT));
240228
}
241229
setIgnoreCase.addAll(Arrays.asList(TEST_STOP_WORDS));
242-
setIgnoreCase.add(Integer.valueOf(1));
230+
setIgnoreCase.add(1);
243231
setCaseSensitive.addAll(Arrays.asList(TEST_STOP_WORDS));
244-
setCaseSensitive.add(Integer.valueOf(1));
232+
setCaseSensitive.add(1);
245233

246234
CharArraySet copy = CharArraySet.copy(setIgnoreCase);
247235
CharArraySet copyCaseSens = CharArraySet.copy(setCaseSensitive);
@@ -274,23 +262,23 @@ public void testCopyCharArraySetBWCompat() {
274262

275263
/** Test the static #copy() function with a CharArraySet as a source */
276264
public void testCopyCharArraySet() {
277-
CharArraySet setIngoreCase = new CharArraySet(10, true);
265+
CharArraySet setIgnoreCase = new CharArraySet(10, true);
278266
CharArraySet setCaseSensitive = new CharArraySet(10, false);
279267

280268
List<String> stopwords = Arrays.asList(TEST_STOP_WORDS);
281269
List<String> stopwordsUpper = new ArrayList<>();
282270
for (String string : stopwords) {
283271
stopwordsUpper.add(string.toUpperCase(Locale.ROOT));
284272
}
285-
setIngoreCase.addAll(Arrays.asList(TEST_STOP_WORDS));
286-
setIngoreCase.add(Integer.valueOf(1));
273+
setIgnoreCase.addAll(Arrays.asList(TEST_STOP_WORDS));
274+
setIgnoreCase.add(1);
287275
setCaseSensitive.addAll(Arrays.asList(TEST_STOP_WORDS));
288-
setCaseSensitive.add(Integer.valueOf(1));
276+
setCaseSensitive.add(1);
289277

290-
CharArraySet copy = CharArraySet.copy(setIngoreCase);
278+
CharArraySet copy = CharArraySet.copy(setIgnoreCase);
291279
CharArraySet copyCaseSens = CharArraySet.copy(setCaseSensitive);
292280

293-
assertEquals(setIngoreCase.size(), copy.size());
281+
assertEquals(setIgnoreCase.size(), copy.size());
294282
assertEquals(setCaseSensitive.size(), copy.size());
295283

296284
assertTrue(copy.containsAll(stopwords));
@@ -311,21 +299,19 @@ public void testCopyCharArraySet() {
311299
assertTrue(copy.containsAll(newWords));
312300
// new added terms are not in the source set
313301
for (String string : newWords) {
314-
assertFalse(setIngoreCase.contains(string));
302+
assertFalse(setIgnoreCase.contains(string));
315303
assertFalse(setCaseSensitive.contains(string));
316304
}
317305
}
318306

319307
/** Test the static #copy() function with a JDK {@link Set} as a source */
320308
public void testCopyJDKSet() {
321-
Set<String> set = new HashSet<>();
322-
323309
List<String> stopwords = Arrays.asList(TEST_STOP_WORDS);
324310
List<String> stopwordsUpper = new ArrayList<>();
325311
for (String string : stopwords) {
326312
stopwordsUpper.add(string.toUpperCase(Locale.ROOT));
327313
}
328-
set.addAll(Arrays.asList(TEST_STOP_WORDS));
314+
Set<String> set = new HashSet<>(Arrays.asList(TEST_STOP_WORDS));
329315

330316
CharArraySet copy = CharArraySet.copy(set);
331317

@@ -377,23 +363,11 @@ public void testEmptySet() {
377363
public void testContainsWithNull() {
378364
CharArraySet set = new CharArraySet(1, true);
379365

380-
expectThrows(
381-
NullPointerException.class,
382-
() -> {
383-
set.contains((char[]) null, 0, 10);
384-
});
366+
expectThrows(NullPointerException.class, () -> set.contains(null, 0, 10));
385367

386-
expectThrows(
387-
NullPointerException.class,
388-
() -> {
389-
set.contains((CharSequence) null);
390-
});
368+
expectThrows(NullPointerException.class, () -> set.contains((CharSequence) null));
391369

392-
expectThrows(
393-
NullPointerException.class,
394-
() -> {
395-
set.contains((Object) null);
396-
});
370+
expectThrows(NullPointerException.class, () -> set.contains((Object) null));
397371
}
398372

399373
public void testToString() {

0 commit comments

Comments
 (0)