From 87c4a12d6b540c2e659880ae3f5c6f6ecd8b7c19 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 10 Jun 2018 19:51:03 +0200 Subject: [PATCH] added missing default values to plugin.xml and module.xml --- .../sonia/scm/annotation/ScmAnnotationProcessor.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java index c548f30d45..7ef632a3b0 100644 --- a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java +++ b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java @@ -99,6 +99,8 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; +import static javax.lang.model.util.ElementFilter.methodsIn; + /** * * @author Sebastian Sdorra @@ -372,6 +374,15 @@ public final class ScmAnnotationProcessor extends AbstractProcessor { attributes.put(entry.getKey().getSimpleName().toString(), getValue(entry.getValue())); } + + // add default values + for (ExecutableElement meth : methodsIn(am.getAnnotationType().asElement().getEnclosedElements())) { + String attribute = meth.getSimpleName().toString(); + AnnotationValue defaultValue = meth.getDefaultValue(); + if (defaultValue != null && !attributes.containsKey(attribute)) { + attributes.put(attribute, getValue(defaultValue)); + } + } } }