Skip to content

Commit 5c56f7b

Browse files
fix in classpath scanning
1 parent b979d17 commit 5c56f7b

File tree

1 file changed

+20
-15
lines changed
  • typescript-generator-core/src/main/java/cz/habarta/typescript/generator

1 file changed

+20
-15
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Input.java

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,19 @@ public static Input fromClassNamesAndJaxrsApplication(List<String> classNames, L
3434
final ClassLoader originalContextClassLoader = Thread.currentThread().getContextClassLoader();
3535
try {
3636
Thread.currentThread().setContextClassLoader(classLoader);
37+
final ClasspathScanner classpathScanner = new ClasspathScanner();
3738
final List<SourceType<Type>> types = new ArrayList<>();
3839
if (classNames != null) {
3940
types.addAll(fromClassNames(classNames).getSourceTypes());
4041
}
4142
if (classNamePatterns != null) {
42-
types.addAll(fromClassNamePatterns(scanClasspath(), classNamePatterns).getSourceTypes());
43+
types.addAll(fromClassNamePatterns(classpathScanner.scanClasspath(), classNamePatterns).getSourceTypes());
4344
}
4445
if (jaxrsApplicationClassName != null) {
4546
types.addAll(JaxrsApplicationScanner.scanJaxrsApplication(jaxrsApplicationClassName, isClassNameExcluded));
4647
}
4748
if (automaticJaxrsApplication) {
48-
types.addAll(JaxrsApplicationScanner.scanJaxrsApplication(scanClasspath(), isClassNameExcluded));
49+
types.addAll(JaxrsApplicationScanner.scanJaxrsApplication(classpathScanner.scanClasspath(), isClassNameExcluded));
4950
}
5051
if (types.isEmpty()) {
5152
final String errorMessage = "No input classes found.";
@@ -58,21 +59,25 @@ public static Input fromClassNamesAndJaxrsApplication(List<String> classNames, L
5859
}
5960
}
6061

61-
private static FastClasspathScanner scanClasspath() {
62-
if (fastClasspathScanner == null) {
63-
System.out.println("Scanning classpath");
64-
final Date scanStart = new Date();
65-
final FastClasspathScanner scanner = new FastClasspathScanner().scan();
66-
final int count = scanner.getNamesOfAllClasses().size();
67-
final Date scanEnd = new Date();
68-
final double timeInSeconds = (scanEnd.getTime() - scanStart.getTime()) / 1000.0;
69-
System.out.println(String.format("Scanning finished in %.2f seconds. Total number of classes: %d.", timeInSeconds, count));
70-
fastClasspathScanner = scanner;
62+
private static class ClasspathScanner {
63+
64+
private FastClasspathScanner fastClasspathScanner = null;
65+
66+
public FastClasspathScanner scanClasspath() {
67+
if (fastClasspathScanner == null) {
68+
System.out.println("Scanning classpath");
69+
final Date scanStart = new Date();
70+
final FastClasspathScanner scanner = new FastClasspathScanner().scan();
71+
final int count = scanner.getNamesOfAllClasses().size();
72+
final Date scanEnd = new Date();
73+
final double timeInSeconds = (scanEnd.getTime() - scanStart.getTime()) / 1000.0;
74+
System.out.println(String.format("Scanning finished in %.2f seconds. Total number of classes: %d.", timeInSeconds, count));
75+
fastClasspathScanner = scanner;
76+
}
77+
return fastClasspathScanner;
7178
}
72-
return fastClasspathScanner;
73-
}
7479

75-
private static FastClasspathScanner fastClasspathScanner = null;
80+
}
7681

7782
private static Input fromClassNamePatterns(FastClasspathScanner scanner, List<String> classNamePatterns) {
7883
final List<String> allClassNames = new ArrayList<>();

0 commit comments

Comments
 (0)