Skip to content

Commit 6c3f925

Browse files
committed
refactor: clean up Guava removal per code review
- Fix broken indentation in PersonProvider and PlNationalIdentityCardNumberProvider - Use Validate.notNull/isTrue from commons-lang3 instead of hand-rolled if/throw - Use StringUtils.isNotEmpty instead of manual null+isEmpty check - Use Set.of() directly instead of new HashSet<>(Set.of()) for immutable set - Use List.of() instead of Arrays.asList() for constant lists - Remove redundant Arrays.asList wrapper around String.split result - Fix stale comment referencing removed checkArgument
1 parent 953efa4 commit 6c3f925

9 files changed

Lines changed: 31 additions & 40 deletions

File tree

src/main/java/com/devskiller/jfairy/data/MapBasedDataMaster.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.Map;
1414

1515
import org.apache.commons.lang3.EnumUtils;
16+
import org.apache.commons.lang3.Validate;
1617
import org.snakeyaml.engine.v2.api.Load;
1718
import org.snakeyaml.engine.v2.api.LoadSettings;
1819
import com.devskiller.jfairy.producer.BaseProducer;
@@ -74,22 +75,15 @@ public LanguageCode getLanguage() {
7475
return EnumUtils.getEnum(LanguageCode.class, getString(LANGUAGE_TAG).toUpperCase());
7576
}
7677

77-
@SuppressWarnings({"unchecked", "ConstantConditions"}) // checked by checkArgument
78+
@SuppressWarnings({"unchecked", "ConstantConditions"}) // checked by Validate
7879
<T> T getData(String key, Class<T> type) {
79-
if (key == null) {
80-
throw new IllegalArgumentException("key cannot be null");
81-
}
82-
if (type == null) {
83-
throw new IllegalArgumentException("type cannot be null");
84-
}
80+
Validate.notNull(key, "key cannot be null");
81+
Validate.notNull(type, "type cannot be null");
8582

8683
Object element = dataSource.get(key);
87-
if (element == null) {
88-
throw new IllegalArgumentException("No such key: " + key);
89-
}
90-
if (!type.isAssignableFrom(element.getClass())) {
91-
throw new IllegalArgumentException("Element under desired key has incorrect type - should be " + type.getSimpleName());
92-
}
84+
Validate.isTrue(element != null, "No such key: %s", key);
85+
Validate.isTrue(type.isAssignableFrom(element.getClass()),
86+
"Element under desired key has incorrect type - should be %s", type.getSimpleName());
9387

9488
return (T) element;
9589
}

src/main/java/com/devskiller/jfairy/producer/DateProducer.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import java.time.Period;
1212
import java.time.ZoneOffset;
1313

14+
import org.apache.commons.lang3.Validate;
15+
1416
import static java.time.temporal.TemporalAdjusters.firstDayOfYear;
1517
import static java.time.temporal.TemporalAdjusters.lastDayOfYear;
1618

@@ -28,9 +30,7 @@ public DateProducer(BaseProducer baseProducer, TimeProvider timeProvider) {
2830
}
2931

3032
public LocalDateTime randomDateInThePast(int maxYearsEarlier) {
31-
if (maxYearsEarlier < 0) {
32-
throw new IllegalArgumentException(maxYearsEarlier + " has to be >= 0");
33-
}
33+
Validate.isTrue(maxYearsEarlier >= 0, "%d has to be >= 0", maxYearsEarlier);
3434
LocalDateTime currentDate = timeProvider.getCurrentTime();
3535
LocalDateTime latestDateInThePast = currentDate.minusSeconds(SECONDS_BEFORE_TO_BE_IN_THE_PAST);
3636
LocalDateTime maxYearsEarlierDate = currentDate.minusYears(maxYearsEarlier);
@@ -54,9 +54,7 @@ public LocalDateTime randomDateBetweenTwoDates(LocalDateTime from, LocalDateTime
5454
}
5555

5656
public LocalDateTime randomDateBetweenYears(int fromYear, int toYear) {
57-
if (fromYear > toYear) {
58-
throw new IllegalArgumentException(fromYear + " has to be <= " + toYear);
59-
}
57+
Validate.isTrue(fromYear <= toYear, "%d has to be <= %d", fromYear, toYear);
6058
LocalDateTime fromDate = getDateForFirstDayForGivenYear(fromYear);
6159
LocalDateTime toDate = getDateForLastDayForGivenYear(toYear);
6260
return randomDateBetweenTwoDates(fromDate, toDate);

src/main/java/com/devskiller/jfairy/producer/company/locale/en/EnVATIdentificationNumberProvider.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.devskiller.jfairy.producer.company.locale.en;
22

3-
import java.util.HashSet;
43
import java.util.Set;
54

65
import com.devskiller.jfairy.producer.BaseProducer;
@@ -27,7 +26,7 @@ public class EnVATIdentificationNumberProvider implements VATIdentificationNumbe
2726
private static final int AREA_NUMBER_LENGTH = 2;
2827

2928
private BaseProducer baseProducer;
30-
private static Set<Integer> excludedNumbers = new HashSet<>(Set.of(7, 8, 9, 17, 18, 19, 28, 29, 41, 47, 49, 69, 70, 79, 89, 96, 97));
29+
private static final Set<Integer> EXCLUDED_NUMBERS = Set.of(7, 8, 9, 17, 18, 19, 28, 29, 41, 47, 49, 69, 70, 79, 89, 96, 97);
3130

3231

3332
public EnVATIdentificationNumberProvider(BaseProducer baseProducer) {
@@ -58,7 +57,7 @@ private void fillAreaNumber(char[] ein) {
5857
Integer number;
5958
do {
6059
number = baseProducer.randomBetween(0, 99);
61-
} while (excludedNumbers.contains(number));
60+
} while (EXCLUDED_NUMBERS.contains(number));
6261
char[] digits = leftPad(number.toString(), AREA_NUMBER_LENGTH, "0").toCharArray();
6362
arraycopy(digits, 0, ein, 0, digits.length);
6463

src/main/java/com/devskiller/jfairy/producer/payment/DefaultIBANProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.IllegalFormatCodePointException;
44
import java.util.List;
55

6+
import org.apache.commons.lang3.StringUtils;
67
import org.iban4j.CountryCode;
78
import org.iban4j.Iban;
89
import org.iban4j.UnsupportedCountryException;
@@ -48,7 +49,7 @@ public IBAN get() {
4849
.bankCode(bankCode)
4950
.branchCode(branchCode)
5051
.nationalCheckDigit(nationalCheckDigit);
51-
if (accountNumber != null && !accountNumber.isEmpty()) {
52+
if (StringUtils.isNotEmpty(accountNumber)) {
5253
builder.accountNumber(accountNumber);
5354
}
5455
Iban iban = builder.buildRandom();

src/main/java/com/devskiller/jfairy/producer/person/PersonProvider.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ public interface PersonProvider extends Supplier<Person> {
99

1010
int MIN_AGE = 1;
1111
int MAX_AGE = 100;
12-
String FIRST_NAME = "firstNames";
13-
String LAST_NAME = "lastNames";
14-
String PERSONAL_EMAIL = "personalEmails";
15-
String TELEPHONE_NUMBER_FORMATS = "telephone_number_formats";
16-
String JOB_TITLE = "jobTitles";
12+
String FIRST_NAME = "firstNames";
13+
String LAST_NAME = "lastNames";
14+
String PERSONAL_EMAIL = "personalEmails";
15+
String TELEPHONE_NUMBER_FORMATS = "telephone_number_formats";
16+
String JOB_TITLE = "jobTitles";
1717

1818
@Override
1919
Person get();

src/main/java/com/devskiller/jfairy/producer/person/locale/en/EnNationalIdentityCardNumberProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.devskiller.jfairy.producer.person.locale.en;
22

3-
import java.util.Arrays;
43
import java.util.List;
54

65
import com.devskiller.jfairy.producer.BaseProducer;
@@ -22,7 +21,7 @@ public class EnNationalIdentityCardNumberProvider implements NationalIdentityCar
2221
private static final int AREA_NUMBER_LENGTH = 3;
2322
private static final int GROUP_NUMBER_LENGTH = 2;
2423
private static final int GROUP_NUMBER_INDEX = 4;
25-
private static final List<Integer> HYPHEN_INDEXES = Arrays.asList(3, 6);
24+
private static final List<Integer> HYPHEN_INDEXES = List.of(3, 6);
2625
private static final int SERIAL_NUMBER_LENGTH = 4;
2726
private static final int SERIAL_NUMBER_INDEX = 7;
2827

src/main/java/com/devskiller/jfairy/producer/person/locale/pl/PlNationalIdentityCardNumberProvider.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.devskiller.jfairy.producer.DateProducer;
77
import com.devskiller.jfairy.producer.person.NationalIdentityCardNumberProvider;
88
import com.devskiller.jfairy.producer.util.AlphaNumberSystem;
9+
import org.apache.commons.lang3.Validate;
10+
911
import static java.lang.String.copyValueOf;
1012
import static java.lang.String.valueOf;
1113
import static java.lang.System.arraycopy;
@@ -18,16 +20,16 @@
1820
*/
1921
public class PlNationalIdentityCardNumberProvider implements NationalIdentityCardNumberProvider {
2022

21-
static final int ISSUING_BEGIN = 2000;
23+
static final int ISSUING_BEGIN = 2000;
2224

2325
private static final int[] WEIGHTS = new int[]{7, 3, 1, 0, 7, 3, 1, 7, 3};
2426
private static final int CHECKSUM_INDEX = 3;
2527

2628
private static final int DIGITS_PART_SIZE = 5;
2729

28-
static final int MAX_DIGITS_PART_VALUE = 99999;
30+
static final int MAX_DIGITS_PART_VALUE = 99999;
2931

30-
static final int LETTER_WEIGHT = 45;
32+
static final int LETTER_WEIGHT = 45;
3133
private static final int LETTERS_PART_SIZE = 3;
3234
private static final int LETTER_VALUE_MODIFIER = 10;
3335
private static final int ALPHABET_SIZE = 26;
@@ -53,9 +55,7 @@ public String get() {
5355

5456
public String get(LocalDate date) {
5557

56-
if (date.getYear() < ISSUING_BEGIN) {
57-
throw new IllegalArgumentException("Polish ID was introduced in 2000");
58-
}
58+
Validate.isTrue(date.getYear() >= ISSUING_BEGIN, "Polish ID was introduced in 2000");
5959

6060
char[] id = new char[WEIGHTS.length];
6161

src/main/java/com/devskiller/jfairy/producer/text/TextProducerInternal.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package com.devskiller.jfairy.producer.text;
55

66
import java.util.ArrayList;
7-
import java.util.Arrays;
87
import java.util.List;
98

109
import com.devskiller.jfairy.data.DataMaster;
@@ -105,8 +104,9 @@ public String latinSentence(int wordCount) {
105104

106105
private String sentence(List<String> words, int wordCount) {
107106
String randomWords = rawWords(words, wordCount, WORD_COUNT_PRECISION_IN_SENTENCE);
108-
List<String> sentences = new ArrayList<>();
109-
for (String sentence : Arrays.asList(randomWords.split("\\. "))) {
107+
String[] parts = randomWords.split("\\. ");
108+
List<String> sentences = new ArrayList<>(parts.length);
109+
for (String sentence : parts) {
110110
sentences.add(capitalize(sentence));
111111
}
112112
String sentence = capitalize(String.join(". ", sentences));

src/test/groovy/com/devskiller/jfairy/producer/company/locale/en/EnVATIdentificationNumberProviderSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class EnVATIdentificationNumberProviderSpec extends Specification {
4141
for (char digit : areaPart.toCharArray()) {
4242
digit.isDigit()
4343
}
44-
!EnVATIdentificationNumberProvider.excludedNumbers.contains(areaNumber)
44+
!EnVATIdentificationNumberProvider.EXCLUDED_NUMBERS.contains(areaNumber)
4545
}
4646

4747
def "should generate number with valid serial part"() {

0 commit comments

Comments
 (0)