Skip to content

Commit 6662bce

Browse files
excluded classes fixed in Maven and Gradle plugins, improved tests
1 parent 4c714a9 commit 6662bce

File tree

6 files changed

+59
-12
lines changed

6 files changed

+59
-12
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public List<PropertyModel> getProperties() {
3030

3131
@Override
3232
public String toString() {
33-
return "BeanModel{" + "name=" + beanClass + ", properties=" + properties + '}';
33+
return "BeanModel{" + "beanClass=" + beanClass + ", properties=" + properties + '}';
3434
}
3535

3636
}

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,18 @@ public List<BeanModel> getBeans() {
1616
return beans;
1717
}
1818

19+
@Override
20+
public String toString() {
21+
final StringBuilder sb = new StringBuilder();
22+
sb.append("Model{");
23+
sb.append(String.format("%n"));
24+
for (BeanModel bean : beans) {
25+
sb.append(" ");
26+
sb.append(bean);
27+
sb.append(String.format("%n"));
28+
}
29+
sb.append('}');
30+
return sb.toString();
31+
}
32+
1933
}

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public void testReturnedTypes() {
3131
new TypeReference<List<F>>(){}.getType(),
3232
G.class,
3333
new TypeReference<Map<String, H>>(){}.getType(),
34-
I.class
34+
I.class,
35+
J[].class
3536
);
3637
assertHasSameItems(expectedTypes, types);
3738
}
@@ -53,7 +54,8 @@ public void testWithParsing() {
5354
F.class,
5455
G.class,
5556
H.class,
56-
I.class
57+
I.class,
58+
J.class
5759
);
5860
assertHasSameItems(expectedClasses, classes);
5961
}
@@ -66,8 +68,12 @@ public void testExcludedResource() {
6668

6769
@Test
6870
public void testExcludedType() {
69-
final List<SourceType<Type>> sourceTypes = new JaxrsApplicationScanner().scanJaxrsApplication(new TestApplication(), Arrays.asList(A.class.getName()));
71+
final List<SourceType<Type>> sourceTypes = new JaxrsApplicationScanner().scanJaxrsApplication(new TestApplication(), Arrays.asList(
72+
A.class.getName(),
73+
J.class.getName()
74+
));
7075
Assert.assertTrue(!getTypes(sourceTypes).contains(A.class));
76+
Assert.assertTrue(getTypes(sourceTypes).contains(J[].class));
7177
}
7278

7379
private List<Type> getTypes(final List<SourceType<Type>> sourceTypes) {
@@ -153,6 +159,9 @@ public void setI(
153159
I entityI) {
154160
}
155161
@POST
162+
public void setJs(J[] js) {
163+
}
164+
@POST
156165
public void setStandardEntity(byte[] value) {}
157166
@POST
158167
public void setStandardEntity(String value) {}
@@ -202,5 +211,6 @@ private static class F {}
202211
private static class G {}
203212
private static class H {}
204213
private static class I {}
214+
private static class J {}
205215

206216
}

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

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11

22
package cz.habarta.typescript.generator;
33

4+
import com.fasterxml.jackson.core.type.TypeReference;
45
import cz.habarta.typescript.generator.parser.*;
6+
import java.lang.reflect.Type;
57
import java.util.*;
68
import org.junit.*;
79

@@ -10,43 +12,62 @@ public class ModelParserTest {
1012

1113
@Test
1214
public void testClassDiscovery1() {
13-
final Model model = parseModel(RootClass1.class, null);
15+
final Model model = parseModel(RootClass1.class);
1416
Assert.assertEquals(2, model.getBeans().size());
1517

1618
}
1719

1820
@Test
1921
public void testClassDiscovery2() {
20-
final Model model = parseModel(RootClass2.class, null);
22+
final Model model = parseModel(RootClass2.class);
2123
Assert.assertEquals(2, model.getBeans().size());
2224
}
2325

2426
@Test
2527
public void testClassDiscovery3() {
26-
final Model model = parseModel(RootClass3.class, null);
28+
final Model model = parseModel(RootClass3.class);
2729
Assert.assertEquals(3, model.getBeans().size());
2830
}
2931

32+
@Test
33+
public void testClassDiscoveryExcludeNodeClassA() {
34+
final Model model = parseModel(RootClass1.class, NodeClassA.class.getName());
35+
Assert.assertEquals(1, model.getBeans().size());
36+
}
37+
3038
@Test
3139
public void testClassDiscoveryExcludeTag() {
32-
final Model model = parseModel(RootClass3.class, Arrays.asList(Tag.class.getName()));
40+
final Model model = parseModel(RootClass3.class, Tag.class.getName());
3341
Assert.assertEquals(2, model.getBeans().size());
3442
}
3543

3644
@Test
3745
public void testClassDiscoveryExcludeNodeClassB() {
38-
final Model model = parseModel(RootClass3.class, Arrays.asList(NodeClassB.class.getName()));
46+
final Model model = parseModel(RootClass3.class, NodeClassB.class.getName());
3947
Assert.assertEquals(1, model.getBeans().size());
4048
}
4149

42-
private Model parseModel(Class<?> rootClass, List<String> excludedClassNames) {
50+
@Test
51+
public void testExcludedInputDirectly() {
52+
final Model model = parseModel(RootClass3.class, RootClass3.class.getName());
53+
Assert.assertEquals(0, model.getBeans().size());
54+
}
55+
56+
@Test
57+
public void testExcludedInputInList() {
58+
final Model model = parseModel(new TypeReference<List<RootClass3>>() {}.getType(), RootClass3.class.getName());
59+
Assert.assertEquals(0, model.getBeans().size());
60+
}
61+
62+
private Model parseModel(Type type, String... excludedClassNames) {
4363
final Settings settings = new Settings();
44-
settings.excludedClassNames = excludedClassNames;
64+
settings.excludedClassNames = Arrays.asList(excludedClassNames);
4565
final ModelParser parser = new Jackson2Parser(settings, new TypeProcessor.Chain(
4666
new ExcludingTypeProcessor(settings.excludedClassNames),
4767
new DefaultTypeProcessor()
4868
));
49-
return parser.parseModel(rootClass);
69+
final Model model = parser.parseModel(type);
70+
return model;
5071
}
5172

5273
}

typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public void generate() throws Exception {
5353

5454
// Settings
5555
final Settings settings = new Settings();
56+
settings.excludedClassNames = excludeClasses;
5657
settings.jsonLibrary = jsonLibrary;
5758
settings.namespace = namespace;
5859
settings.module = module;

typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ public void execute() {
160160

161161
// Settings
162162
final Settings settings = new Settings();
163+
settings.excludedClassNames = excludeClasses;
163164
settings.jsonLibrary = jsonLibrary;
164165
settings.namespace = namespace != null ? namespace : moduleName;
165166
settings.module = module;

0 commit comments

Comments
 (0)