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