From bd1760a4ac578df9149b7a49cb373f6b7c93160c 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 --- .../scm/annotation/ScmAnnotationProcessor.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 b49713d61a..c1cd26dfe7 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 @@ -101,6 +101,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 @@ -432,7 +434,7 @@ public final class ScmAnnotationProcessor extends AbstractProcessor //J- descriptorElements.add( new SubscriberElement( - clazz.toString(), + clazz.toString(), param.asType().toString(), desc ) @@ -538,6 +540,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)); + } + } } }