/plugin-module-codegen-engine/src/main/java/com/atlassian/plugins/codegen/modules/jira/JqlFunctionModuleCreator.java

https://bitbucket.org/mmeinhold/amps · Java · 50 lines · 35 code · 10 blank · 5 comment · 1 complexity · ca4ea61eb6ada720c10d001bf530b927 MD5 · raw file

  1. package com.atlassian.plugins.codegen.modules.jira;
  2. import com.atlassian.plugins.codegen.PluginProjectChangeset;
  3. import com.atlassian.plugins.codegen.annotations.JiraPluginModuleCreator;
  4. import com.atlassian.plugins.codegen.modules.AbstractPluginModuleCreator;
  5. import static com.atlassian.plugins.codegen.modules.Dependencies.MOCKITO_TEST;
  6. /**
  7. * @since 3.6
  8. */
  9. @JiraPluginModuleCreator
  10. public class JqlFunctionModuleCreator extends AbstractPluginModuleCreator<JqlFunctionProperties>
  11. {
  12. public static final String MODULE_NAME = "JQL Function";
  13. private static final String TEMPLATE_PREFIX = "templates/jira/jql/";
  14. //stub
  15. private static final String CLASS_TEMPLATE = TEMPLATE_PREFIX + "JqlFunction.java.vtl";
  16. private static final String UNIT_TEST_TEMPLATE = TEMPLATE_PREFIX + "JqlFunctionTest.java.vtl";
  17. //examples
  18. private static final String EXAMPLE_CLASS_TEMPLATE = TEMPLATE_PREFIX + "Example" + CLASS_TEMPLATE;
  19. private static final String PLUGIN_MODULE_TEMPLATE = TEMPLATE_PREFIX + "jql-function-plugin.xml.vtl";
  20. @Override
  21. public PluginProjectChangeset createModule(JqlFunctionProperties props) throws Exception
  22. {
  23. PluginProjectChangeset ret = new PluginProjectChangeset()
  24. .with(MOCKITO_TEST)
  25. .with(createModule(props, PLUGIN_MODULE_TEMPLATE));
  26. if (props.includeExamples())
  27. {
  28. return ret.with(createClass(props, EXAMPLE_CLASS_TEMPLATE));
  29. }
  30. else
  31. {
  32. return ret.with(createClassAndTests(props, CLASS_TEMPLATE, UNIT_TEST_TEMPLATE));
  33. }
  34. }
  35. @Override
  36. public String getModuleName()
  37. {
  38. return MODULE_NAME;
  39. }
  40. }