/plugin-module-codegen-engine/src/main/java/com/atlassian/plugins/codegen/modules/common/servlet/ServletContextListenerModuleCreator.java

https://bitbucket.org/mmeinhold/amps · Java · 59 lines · 43 code · 10 blank · 6 comment · 1 complexity · 5923b4b15d9f4af736721dc08c89a5d7 MD5 · raw file

  1. package com.atlassian.plugins.codegen.modules.common.servlet;
  2. import com.atlassian.plugins.codegen.PluginProjectChangeset;
  3. import com.atlassian.plugins.codegen.annotations.*;
  4. import com.atlassian.plugins.codegen.modules.AbstractPluginModuleCreator;
  5. import static com.atlassian.plugins.codegen.modules.Dependencies.HTTPCLIENT_TEST;
  6. import static com.atlassian.plugins.codegen.modules.Dependencies.MOCKITO_TEST;
  7. import static com.atlassian.plugins.codegen.modules.Dependencies.SERVLET_API;
  8. /**
  9. * @since 3.6
  10. */
  11. @RefAppPluginModuleCreator
  12. @JiraPluginModuleCreator
  13. @ConfluencePluginModuleCreator
  14. @BambooPluginModuleCreator
  15. @StashPluginModuleCreator
  16. public class ServletContextListenerModuleCreator extends AbstractPluginModuleCreator<ServletContextListenerProperties>
  17. {
  18. public static final String MODULE_NAME = "Servlet Context Listener";
  19. private static final String TEMPLATE_PREFIX = "templates/common/servlet/listener/";
  20. //stub
  21. private static final String CLASS_TEMPLATE = TEMPLATE_PREFIX + "ServletContextListener.java.vtl";
  22. private static final String UNIT_TEST_TEMPLATE = TEMPLATE_PREFIX + "ServletContextListenerTest.java.vtl";
  23. //examples
  24. private static final String EXAMPLE_CLASS_TEMPLATE = TEMPLATE_PREFIX + "Example" + CLASS_TEMPLATE;
  25. private static final String PLUGIN_MODULE_TEMPLATE = TEMPLATE_PREFIX + "servlet-context-listener-plugin.xml.vtl";
  26. @Override
  27. public PluginProjectChangeset createModule(ServletContextListenerProperties props) throws Exception
  28. {
  29. PluginProjectChangeset ret = new PluginProjectChangeset()
  30. .with(SERVLET_API,
  31. HTTPCLIENT_TEST,
  32. MOCKITO_TEST)
  33. .with(createModule(props, PLUGIN_MODULE_TEMPLATE));
  34. if (props.includeExamples())
  35. {
  36. return ret.with(createClass(props, EXAMPLE_CLASS_TEMPLATE));
  37. }
  38. else
  39. {
  40. return ret.with(createClassAndTests(props, CLASS_TEMPLATE, UNIT_TEST_TEMPLATE));
  41. // context listener is too complex to func test without a known servlet
  42. }
  43. }
  44. @Override
  45. public String getModuleName()
  46. {
  47. return MODULE_NAME;
  48. }
  49. }