This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository nuiton-config. See https://gitlab.nuiton.org/nuiton/nuiton-config.git commit 6fc83ee05ae89a58eb5b8bc0043795e693792de0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 7 17:31:12 2016 +0200 Add more nice methods on generated config --- .../templates/ApplicationConfigTransformer.java | 49 ++++++++++++++++++---- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/nuiton-config-maven-plugin/src/main/java/org/nuiton/config/plugin/templates/ApplicationConfigTransformer.java b/nuiton-config-maven-plugin/src/main/java/org/nuiton/config/plugin/templates/ApplicationConfigTransformer.java index f86297d..fa3ab97 100644 --- a/nuiton-config-maven-plugin/src/main/java/org/nuiton/config/plugin/templates/ApplicationConfigTransformer.java +++ b/nuiton-config-maven-plugin/src/main/java/org/nuiton/config/plugin/templates/ApplicationConfigTransformer.java @@ -46,6 +46,9 @@ import org.nuiton.eugene.models.object.ObjectModelJavaModifier; import org.nuiton.eugene.models.object.ObjectModelOperation; import org.nuiton.i18n.I18n; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Locale; import java.util.Set; @@ -481,13 +484,7 @@ public class ApplicationConfigTransformer extends ObjectModelTransformerToJava { addImport(output, actionClassName); String actionClassSimpleName = GeneratorUtil.getSimpleName(actionClassName); builder.append("" - /*{ - for (<%=actionClassSimpleName%> a : <%=actionClassSimpleName%>.values()) { - - for (String alias : a.getAliases()) { - applicationConfig.addActionAlias(alias, a.getAction()); - } - } + /*{ this.applicationConfig.loadActions(<%=actionClassSimpleName%>.class); }*/ ); } @@ -527,6 +524,44 @@ public class ApplicationConfigTransformer extends ObjectModelTransformerToJava { } + ObjectModelOperation getConfigurationDescription = addOperation( + output, "getConfigurationDescription", String.class, ObjectModelJavaModifier.PUBLIC + ); + setOperationBody(getConfigurationDescription , "" + /*{ + StringBuilder builder = new StringBuilder(); + builder.append("\\n====================================================================================================================="); + builder.append("\\n=== Configuration ==================================================================================================="); + builder.append("\\n====================================================================================================================="); + builder.append(String.format("\\n=== %1$-40s = %2$s", "Filename", get().getConfigFileName())); + for (<%=optionClassSimpleName%> option : orderedByKey()) { + builder.append(String.format("\\n=== %1$-40s = %2$s", option.getKey(), get().getOption(option))); + } + builder.append("\\n====================================================================================================================="); + return builder.toString(); + }*/ + ); + + ObjectModelOperation orderedByKey = addOperation( + output, "orderedByKey", "List<" + optionClassSimpleName + ">", ObjectModelJavaModifier.PROTECTED + ); + addImport(output, List.class); + addImport(output, Arrays.class); + addImport(output, Collections.class); + addImport(output, Comparator.class); + setOperationBody(orderedByKey, "" + /*{ + List<<%=optionClassSimpleName%>> values = Arrays.asList(<%=optionClassSimpleName%>.values()); + Collections.sort(values, new Comparator<<%=optionClassSimpleName%>>() { + @Override + public int compare(<%=optionClassSimpleName%> o1, <%=optionClassSimpleName%> o2) { + return o1.getKey().compareTo(o2.getKey()); + } + }); + return Collections.unmodifiableList(values); + }*/ + ); + } private void generateConfigClass(String packageName, String className, String abstractClassName) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.