|
19 | 19 | import javax.annotation.processing.SupportedOptions; |
20 | 20 | import javax.lang.model.SourceVersion; |
21 | 21 | import javax.lang.model.element.Element; |
22 | | -import javax.lang.model.element.ExecutableElement; |
23 | 22 | import javax.lang.model.element.Modifier; |
24 | 23 | import javax.lang.model.element.TypeElement; |
25 | 24 | import javax.lang.model.util.ElementFilter; |
@@ -54,11 +53,12 @@ public SourceVersion getSupportedSourceVersion() { |
54 | 53 | @Override |
55 | 54 | public Set<String> getSupportedAnnotationTypes() { |
56 | 55 | return Set.of( |
57 | | - PathPrism.PRISM_TYPE, |
58 | | - ControllerPrism.PRISM_TYPE, |
59 | | - OpenAPIDefinitionPrism.PRISM_TYPE, |
60 | | - MappedParamPrism.PRISM_TYPE, |
61 | | - MapImportPrism.PRISM_TYPE); |
| 56 | + PathPrism.PRISM_TYPE, |
| 57 | + ControllerPrism.PRISM_TYPE, |
| 58 | + OpenAPIDefinitionPrism.PRISM_TYPE, |
| 59 | + MappedParamPrism.PRISM_TYPE, |
| 60 | + MapImportPrism.PRISM_TYPE, |
| 61 | + HttpValidPrism.PRISM_TYPE); |
62 | 62 | } |
63 | 63 |
|
64 | 64 | @Override |
@@ -91,7 +91,7 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment |
91 | 91 | if (round.errorRaised()) { |
92 | 92 | return false; |
93 | 93 | } |
94 | | - |
| 94 | + getElements(round, HttpValidPrism.PRISM_TYPE).forEach(this::warnValid); |
95 | 95 | for (final var type : ElementFilter.typesIn(getElements(round, MappedParamPrism.PRISM_TYPE))) { |
96 | 96 | var prism = MappedParamPrism.getInstanceOn(type); |
97 | 97 | registerParamMapping(type, prism.factoryMethod()); |
@@ -148,6 +148,12 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment |
148 | 148 | return false; |
149 | 149 | } |
150 | 150 |
|
| 151 | + private void warnValid(Element e) { |
| 152 | + if (!ControllerPrism.isPresent(e) && !ControllerPrism.isPresent(e.getEnclosingElement())) { |
| 153 | + logWarn(e, "%s should only be used in Controller Classes", HttpValidPrism.PRISM_TYPE); |
| 154 | + } |
| 155 | + } |
| 156 | + |
151 | 157 | private Set<? extends Element> getElements(RoundEnvironment round, String name) { |
152 | 158 | return Optional.ofNullable(typeElement(name)) |
153 | 159 | .map(round::getElementsAnnotatedWith) |
|
0 commit comments