Skip to content

Commit 105fa57

Browse files
committed
Remove Apache Commons Lang and unnecessary Guava usages
1 parent 8b5f82a commit 105fa57

22 files changed

+113
-61
lines changed

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ dependencies {
3737
compile 'com.google.code.gson:gson:2.8.0'
3838
compile 'org.apache.logging.log4j:log4j-api:2.8.1'
3939
compile 'com.google.guava:guava:21.0'
40-
compile 'org.apache.commons:commons-lang3:3.5'
4140
compile 'it.unimi.dsi:fastutil:7.1.0'
4241
}
4342

src/main/java/com/mojang/datafixers/DSL.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
// Licensed under the MIT license.
33
package com.mojang.datafixers;
44

5-
import com.google.common.collect.Maps;
65
import com.mojang.datafixers.util.Either;
76
import com.mojang.datafixers.util.Pair;
7+
import com.mojang.datafixers.util.Triple;
88
import com.mojang.datafixers.util.Unit;
9-
import com.mojang.datafixers.kinds.App2;
109
import com.mojang.datafixers.schemas.Schema;
1110
import com.mojang.datafixers.types.Func;
1211
import com.mojang.datafixers.types.Type;
@@ -33,10 +32,10 @@
3332
import com.mojang.datafixers.types.templates.Tag;
3433
import com.mojang.datafixers.types.templates.TaggedChoice;
3534
import com.mojang.datafixers.types.templates.TypeTemplate;
36-
import org.apache.commons.lang3.ArrayUtils;
37-
import org.apache.commons.lang3.tuple.Triple;
3835

36+
import java.util.Arrays;
3937
import java.util.Map;
38+
import java.util.concurrent.ConcurrentHashMap;
4039
import java.util.function.Function;
4140
import java.util.function.Supplier;
4241
import java.util.stream.Collectors;
@@ -168,7 +167,9 @@ static TypeTemplate and(final TypeTemplate first, final TypeTemplate... rest) {
168167
}
169168

170169
static TypeTemplate allWithRemainder(final TypeTemplate first, final TypeTemplate... rest) {
171-
return and(first, ArrayUtils.add(rest, remainder()));
170+
TypeTemplate[] templates = Arrays.copyOf(rest, rest.length + 1);
171+
templates[rest.length] = remainder();
172+
return and(first, templates);
172173
}
173174

174175
static <F, G> Type<Pair<F, G>> and(final Type<F> first, final Type<G> second) {
@@ -213,7 +214,7 @@ static <K> TaggedChoice<K> taggedChoiceLazy(final String name, final Type<K> key
213214

214215
@SuppressWarnings("unchecked")
215216
static <K> Type<Pair<K, ?>> taggedChoiceType(final String name, final Type<K> keyType, final Map<K, Type<?>> types) {
216-
return (Type<Pair<K, ?>>) Instances.TAGGED_CHOICE_TYPE_CACHE.computeIfAbsent(Triple.of(name, keyType, types), k -> new TaggedChoice.TaggedChoiceType<>(k.getLeft(), (Type<K>) k.getMiddle(), (Map<K, Type<?>>) k.getRight()));
217+
return (Type<Pair<K, ?>>) Instances.TAGGED_CHOICE_TYPE_CACHE.computeIfAbsent(Triple.of(name, keyType, types), k -> new TaggedChoice.TaggedChoiceType<>(k.getFirst(), (Type<K>) k.getSecond(), (Map<K, Type<?>>) k.getThird()));
217218
}
218219

219220
static <A, B> Type<Function<A, B>> func(final Type<A> input, final Type<B> output) {
@@ -461,6 +462,6 @@ final class Instances {
461462

462463
private static final OpticFinder<Dynamic<?>> REMAINDER_FINDER = remainderType().finder();
463464

464-
private static final Map<Triple<String, Type<?>, Map<?, Type<?>>>, Type<? extends Pair<?, ?>>> TAGGED_CHOICE_TYPE_CACHE = Maps.newConcurrentMap();
465+
private static final Map<Triple<String, Type<?>, Map<?, Type<?>>>, Type<? extends Pair<?, ?>>> TAGGED_CHOICE_TYPE_CACHE = new ConcurrentHashMap<>();
465466
}
466467
}

src/main/java/com/mojang/datafixers/DataFixerBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT license.
33
package com.mojang.datafixers;
44

5-
import com.google.common.collect.Lists;
65
import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap;
76
import it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap;
87
import it.unimi.dsi.fastutil.ints.IntAVLTreeSet;
@@ -23,7 +22,7 @@ public class DataFixerBuilder {
2322

2423
private final int dataVersion;
2524
private final Int2ObjectSortedMap<Schema> schemas = new Int2ObjectAVLTreeMap<>();
26-
private final List<DataFix> globalList = Lists.newArrayList();
25+
private final List<DataFix> globalList = new ArrayList<>();
2726
private final IntSortedSet fixerVersions = new IntAVLTreeSet();
2827

2928
public DataFixerBuilder(final int dataVersion) {

src/main/java/com/mojang/datafixers/DataFixerUpper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package com.mojang.datafixers;
44

55
import com.google.common.collect.ImmutableList;
6-
import com.google.common.collect.Lists;
76
import it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap;
87
import it.unimi.dsi.fastutil.ints.IntSortedSet;
98
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
@@ -14,6 +13,7 @@
1413
import org.apache.logging.log4j.LogManager;
1514
import org.apache.logging.log4j.Logger;
1615

16+
import java.util.ArrayList;
1717
import java.util.List;
1818
import java.util.Optional;
1919

@@ -128,7 +128,7 @@ protected TypeRewriteRule getRule(final int version, final int dataVersion) {
128128

129129
final long key = (long) expandedVersion << 32 | expandedDataVersion;
130130
if (!rules.containsKey(key)) {
131-
final List<TypeRewriteRule> rules = Lists.newArrayList();
131+
final List<TypeRewriteRule> rules = new ArrayList<>();
132132
for (final DataFix fix : globalList) {
133133
final int fixVersion = fix.getVersionKey();
134134
if (fixVersion > expandedVersion && fixVersion <= expandedDataVersion) {

src/main/java/com/mojang/datafixers/FunctionType.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.mojang.datafixers.kinds.K1;
1111
import com.mojang.datafixers.kinds.K2;
1212
import com.mojang.datafixers.kinds.Representable;
13-
import com.mojang.datafixers.optics.Optic;
1413
import com.mojang.datafixers.optics.Optics;
1514
import com.mojang.datafixers.optics.Procompose;
1615
import com.mojang.datafixers.optics.Wander;

src/main/java/com/mojang/datafixers/RewriteResult.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import com.mojang.datafixers.types.Type;
66
import com.mojang.datafixers.types.templates.RecursivePoint;
7-
import org.apache.commons.lang3.ObjectUtils;
87

98
import java.util.BitSet;
109
import java.util.Objects;
@@ -30,7 +29,7 @@ public <C> RewriteResult<C, B> compose(final RewriteResult<C, A> that) {
3029
final BitSet newData;
3130
if (view.type() instanceof RecursivePoint.RecursivePointType<?> && that.view.type() instanceof RecursivePoint.RecursivePointType<?>) {
3231
// same family, merge results - not exactly accurate, but should be good enough
33-
newData = ObjectUtils.clone(recData);
32+
newData = (BitSet) recData.clone();
3433
newData.or(that.recData);
3534
} else {
3635
newData = recData;

src/main/java/com/mojang/datafixers/Typed.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ private <B, FT, FR> Typed<B> updateCap(final TypedOptic<A, B, FT, FR> field, fin
165165

166166
public <FT> List<Typed<FT>> getAllTyped(final OpticFinder<FT> optic) {
167167
final TypedOptic<A, ?, FT, ?> field = optic.findType(type, optic.type(), false).orThrow();
168-
return getAll(field).stream().map(ft -> new Typed<FT>(optic.type(), ops, ft)).collect(Collectors.toList());
168+
return getAll(field).stream().map(ft -> new Typed<>(optic.type(), ops, ft)).collect(Collectors.toList());
169169
}
170170

171171
public <FT> List<FT> getAll(final TypedOptic<A, ?, FT, ?> field) {

src/main/java/com/mojang/datafixers/TypedOptic.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
package com.mojang.datafixers;
44

55
import com.google.common.collect.ImmutableSet;
6-
import com.google.common.collect.Maps;
76
import com.google.common.reflect.TypeToken;
87
import com.mojang.datafixers.util.Either;
98
import com.mojang.datafixers.util.Pair;
@@ -27,6 +26,7 @@
2726
import com.mojang.datafixers.types.templates.TaggedChoice;
2827

2928
import java.util.Collection;
29+
import java.util.HashMap;
3030
import java.util.Map;
3131
import java.util.Objects;
3232
import java.util.Optional;
@@ -204,7 +204,7 @@ public static <A, B> TypedOptic<java.util.List<A>, java.util.List<B>, A, B> list
204204
if (!Objects.equals(sType.types().get(key), aType)) {
205205
throw new IllegalArgumentException("Focused type doesn't match.");
206206
}
207-
final Map<K, Type<?>> newTypes = Maps.newHashMap(sType.types());
207+
final Map<K, Type<?>> newTypes = new HashMap<>(sType.types());
208208
newTypes.put(key, bType);
209209
final Type<Pair<K, ?>> pairType = DSL.taggedChoiceType(sType.getName(), sType.getKeyType(), newTypes);
210210
return new TypedOptic<>(

src/main/java/com/mojang/datafixers/functions/Fold.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT license.
33
package com.mojang.datafixers.functions;
44

5-
import com.google.common.collect.Maps;
65
import com.mojang.datafixers.RewriteResult;
76
import com.mojang.datafixers.View;
87
import com.mojang.datafixers.types.DynamicOps;
@@ -11,14 +10,15 @@
1110
import com.mojang.datafixers.types.templates.RecursivePoint;
1211
import com.mojang.datafixers.util.Pair;
1312

13+
import java.util.HashMap;
1414
import java.util.Map;
1515
import java.util.Objects;
1616
import java.util.function.Function;
1717
import java.util.function.IntFunction;
1818

1919
final class Fold<A, B> extends PointFree<Function<A, B>> {
20-
private static final Map<Pair<RecursiveTypeFamily, Algebra>, IntFunction<RewriteResult<?, ?>>> HMAP_CACHE = Maps.newConcurrentMap();
21-
private static final Map<Pair<IntFunction<RewriteResult<?, ?>>, Integer>, RewriteResult<?, ?>> HMAP_APPLY_CACHE = Maps.newConcurrentMap();
20+
private static final Map<Pair<RecursiveTypeFamily, Algebra>, IntFunction<RewriteResult<?, ?>>> HMAP_CACHE = new HashMap<>();
21+
private static final Map<Pair<IntFunction<RewriteResult<?, ?>>, Integer>, RewriteResult<?, ?>> HMAP_APPLY_CACHE = new HashMap<>();
2222

2323
protected final RecursivePoint.RecursivePointType<A> aType;
2424
protected final RewriteResult<?, B> function;

src/main/java/com/mojang/datafixers/functions/PointFree.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
import com.mojang.datafixers.types.DynamicOps;
66
import com.mojang.datafixers.types.Type;
7-
import org.apache.commons.lang3.StringUtils;
87

98
import javax.annotation.Nullable;
9+
import java.util.Arrays;
1010
import java.util.Optional;
1111
import java.util.function.Function;
1212

@@ -40,7 +40,12 @@ public final String toString() {
4040
}
4141

4242
public static String indent(final int level) {
43-
return StringUtils.repeat(" ", level);
43+
if (level > 0) {
44+
char[] spaces = new char[level * 2];
45+
Arrays.fill(spaces, ' ');
46+
return new String(spaces);
47+
}
48+
return "";
4449
}
4550

4651
public abstract String toString(int level);

0 commit comments

Comments
 (0)