diff --git a/typescript-generator-spring/src/main/java/cz/habarta/typescript/generator/spring/SpringApplicationParser.java b/typescript-generator-spring/src/main/java/cz/habarta/typescript/generator/spring/SpringApplicationParser.java index c5d6252b2..03349ff89 100644 --- a/typescript-generator-spring/src/main/java/cz/habarta/typescript/generator/spring/SpringApplicationParser.java +++ b/typescript-generator-spring/src/main/java/cz/habarta/typescript/generator/spring/SpringApplicationParser.java @@ -121,6 +121,10 @@ public JaxrsApplicationParser.Result tryParse(SourceType sourceType) { // controller final Component component = AnnotationUtils.findAnnotation(cls, Component.class); if (component != null) { + if (isClassNameExcluded != null && isClassNameExcluded.test(cls.getName())) { + return null; + } + TypeScriptGenerator.getLogger().verbose("Parsing Spring component: " + cls.getName()); final JaxrsApplicationParser.Result result = new JaxrsApplicationParser.Result(); final RequestMapping requestMapping = AnnotatedElementUtils.findMergedAnnotation(cls, RequestMapping.class); diff --git a/typescript-generator-spring/src/test/java/cz/habarta/typescript/generator/spring/SpringTest.java b/typescript-generator-spring/src/test/java/cz/habarta/typescript/generator/spring/SpringTest.java index 8488ed73b..5c47dff9a 100644 --- a/typescript-generator-spring/src/test/java/cz/habarta/typescript/generator/spring/SpringTest.java +++ b/typescript-generator-spring/src/test/java/cz/habarta/typescript/generator/spring/SpringTest.java @@ -167,6 +167,26 @@ public void testInheritance() { Assertions.assertFalse(output.contains("uriEncoding`test/b`")); } + @Test + public void testExclusion() { + final Settings settings = TestUtils.settings(); + settings.outputFileType = TypeScriptFileType.implementationFile; + settings.generateSpringApplicationClient = true; + settings.setExcludeFilter(null, Arrays.asList("**Controller6")); + final String output = new TypeScriptGenerator(settings).generateTypeScript(Input.from(Controller6.class)); + Assertions.assertFalse(output.contains("Controller6")); + } + + @Test + public void testExclusion2() { + final Settings settings = TestUtils.settings(); + settings.outputFileType = TypeScriptFileType.implementationFile; + settings.generateSpringApplicationClient = true; + settings.setExcludeFilter(null, Arrays.asList("cz.habarta.typescript.generator.spring.SpringTest**")); + final String output = new TypeScriptGenerator(settings).generateTypeScript(Input.from(Controller6.class)); + Assertions.assertFalse(output.contains("Controller6")); + } + @RestController @RequestMapping("/owners/{ownerId}") public static class Controller1 {