Skip to content

Commit 31f2c8a

Browse files
Cleanup, take advantage of Java 11
1 parent 2d5ff1e commit 31f2c8a

File tree

5 files changed

+34
-63
lines changed

5 files changed

+34
-63
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelCompiler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public TsModel javaToTypeScript(Model model) {
151151
}
152152
}
153153

154-
// dates
154+
// maps
155155
tsModel = transformMaps(symbolTable, tsModel);
156156

157157
// dates

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Jackson2Parser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@ private DeclarationModel parseEnumOrObjectEnum(SourceType<Class<?>> sourceClass,
724724
final List<EnumMemberModel> enumMembers = new ArrayList<>();
725725
if (sourceClass.type.isEnum()) {
726726
@SuppressWarnings("unchecked")
727-
final Class<Enum> enumClass = (Class<Enum>) sourceClass.type;
727+
final Class<Enum<?>> enumClass = (Class<Enum<?>>) sourceClass.type;
728728
final List<Field> constants = Arrays.stream(enumClass.getEnumConstants()).map(e -> {
729729
try {
730730
return enumClass.getDeclaredField(e.name());

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/util/DeprecationUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ public final class DeprecationUtils {
88
public static final String DEPRECATED = "@deprecated";
99

1010
public static String convertToComment(Deprecated deprecated) {
11-
// support for java 9+ syntax
12-
String since = Utils.getAnnotationElementValue(deprecated, "since", String.class);
13-
Boolean forRemoval = Utils.getAnnotationElementValue(deprecated, "forRemoval", Boolean.class);
11+
String since = deprecated.since();
12+
Boolean forRemoval = deprecated.forRemoval();
1413

1514
List<String> additional = new ArrayList<>();
1615
if (since != null && !since.isEmpty()) {
@@ -21,4 +20,5 @@ public static String convertToComment(Deprecated deprecated) {
2120
}
2221
return additional.isEmpty() ? DEPRECATED : (DEPRECATED + " " + String.join(", ", additional));
2322
}
23+
2424
}

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/util/Utils.java

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,20 @@
3030
import java.util.Collection;
3131
import java.util.Collections;
3232
import java.util.Comparator;
33-
import java.util.Iterator;
3433
import java.util.LinkedHashMap;
3534
import java.util.List;
3635
import java.util.Map;
3736
import java.util.Objects;
3837
import java.util.Optional;
3938
import java.util.Scanner;
40-
import java.util.Spliterator;
41-
import java.util.Spliterators;
4239
import java.util.concurrent.atomic.AtomicReference;
4340
import java.util.function.Function;
44-
import java.util.function.Predicate;
4541
import java.util.function.Supplier;
46-
import java.util.function.UnaryOperator;
4742
import java.util.regex.Matcher;
4843
import java.util.regex.Pattern;
4944
import java.util.stream.Collector;
5045
import java.util.stream.Collectors;
5146
import java.util.stream.Stream;
52-
import java.util.stream.StreamSupport;
5347

5448

5549
public final class Utils {
@@ -122,7 +116,7 @@ public static List<Field> getAllFields(Class<?> cls) {
122116
}
123117

124118
public static Stream<Class<?>> getInheritanceChain(Class<?> cls) {
125-
return generateStream(cls, c -> c != null, (Class<?> c) -> c.getSuperclass())
119+
return Stream.iterate(cls, c -> c != null, (Class<?> c) -> c.getSuperclass())
126120
.collect(toReversedCollection())
127121
.stream();
128122
}
@@ -149,27 +143,6 @@ public static Stream<Class<?>> getInheritanceChain(Class<?> cls) {
149143
);
150144
}
151145

152-
// remove on Java 9 and replace with Stream.iterate
153-
private static <T> Stream<T> generateStream(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next) {
154-
final Spliterator<T> spliterator = Spliterators.spliteratorUnknownSize(new Iterator<T>() {
155-
private T last = seed;
156-
157-
@Override
158-
public boolean hasNext() {
159-
return hasNext.test(last);
160-
}
161-
162-
@Override
163-
public T next() {
164-
final T current = last;
165-
last = next.apply(last);
166-
return current;
167-
}
168-
}, Spliterator.ORDERED);
169-
170-
return StreamSupport.stream(spliterator, false);
171-
}
172-
173146
public static boolean hasAnyAnnotation(
174147
Function<Class<? extends Annotation>, Annotation> getAnnotationFunction,
175148
List<Class<? extends Annotation>> annotations) {

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/DeprecationUtilsTest.java

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,33 @@
88

99
public class DeprecationUtilsTest {
1010

11-
// TODO uncomment on Java 9
12-
13-
// @Deprecated
14-
// private String a;
15-
//
16-
// @Deprecated(since = "2.28")
17-
// private String b;
18-
//
19-
// @Deprecated(forRemoval = true)
20-
// private String c;
21-
//
22-
// @Deprecated(since = "2.28", forRemoval = true)
23-
// private String d;
24-
//
25-
// @Test
26-
// public void test() {
27-
// Assert.assertEquals("@deprecated", getDeprecationText("a"));
28-
// Assert.assertEquals("@deprecated since 2.28", getDeprecationText("b"));
29-
// Assert.assertEquals("@deprecated for removal", getDeprecationText("c"));
30-
// Assert.assertEquals("@deprecated since 2.28, for removal", getDeprecationText("d"));
31-
// }
32-
//
33-
// private static String getDeprecationText(String fieldName) {
34-
// try {
35-
// final Deprecated deprecated = DeprecationUtilsTest.class.getDeclaredField(fieldName).getAnnotation(Deprecated.class);
36-
// return DeprecationUtils.convertToComment(deprecated);
37-
// } catch (ReflectiveOperationException e) {
38-
// throw new RuntimeException(e);
39-
// }
40-
// }
11+
@Deprecated
12+
private String a;
13+
14+
@Deprecated(since = "2.28")
15+
private String b;
16+
17+
@Deprecated(forRemoval = true)
18+
private String c;
19+
20+
@Deprecated(since = "2.28", forRemoval = true)
21+
private String d;
22+
23+
@Test
24+
public void test() {
25+
Assertions.assertEquals("@deprecated", getDeprecationText("a"));
26+
Assertions.assertEquals("@deprecated since 2.28", getDeprecationText("b"));
27+
Assertions.assertEquals("@deprecated for removal", getDeprecationText("c"));
28+
Assertions.assertEquals("@deprecated since 2.28, for removal", getDeprecationText("d"));
29+
}
30+
31+
private static String getDeprecationText(String fieldName) {
32+
try {
33+
final Deprecated deprecated = DeprecationUtilsTest.class.getDeclaredField(fieldName).getAnnotation(Deprecated.class);
34+
return DeprecationUtils.convertToComment(deprecated);
35+
} catch (ReflectiveOperationException e) {
36+
throw new RuntimeException(e);
37+
}
38+
}
4139

4240
}

0 commit comments

Comments
 (0)