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 ServletFilterModuleCreator extends AbstractPluginModuleCreator<ServletFilterProperties>
18 {
19
20 public static final String MODULE_NAME = "Servlet Filter";
21 private static final String TEMPLATE_PREFIX = "templates/common/servlet/filter/";
22
23
24 private static final String CLASS_TEMPLATE = TEMPLATE_PREFIX + "ServletFilter.java.vtl";
25 private static final String UNIT_TEST_TEMPLATE = TEMPLATE_PREFIX + "ServletFilterTest.java.vtl";
26 private static final String FUNC_TEST_TEMPLATE = TEMPLATE_PREFIX + "ServletFilterFuncTest.java.vtl";
27
28
29 private static final String EXAMPLE_CLASS_TEMPLATE = TEMPLATE_PREFIX + "Example" + CLASS_TEMPLATE;
30
31 private static final String PLUGIN_MODULE_TEMPLATE = "templates/common/servlet/filter/servlet-filter-plugin.xml.vtl";
32
33 @Override
34 public PluginProjectChangeset createModule(ServletFilterProperties props) throws Exception
35 {
36 PluginProjectChangeset ret = new PluginProjectChangeset()
37 .with(SERVLET_API,
38 SLF4J,
39 HTTPCLIENT_TEST,
40 MOCKITO_TEST)
41 .with(createModule(props, PLUGIN_MODULE_TEMPLATE));
42
43 if (props.includeExamples())
44 {
45 return ret.with(createClass(props, EXAMPLE_CLASS_TEMPLATE));
46 }
47 else
48 {
49 return ret.with(createClassAndTests(props, CLASS_TEMPLATE, UNIT_TEST_TEMPLATE, FUNC_TEST_TEMPLATE));
50 }
51 }
52
53 @Override
54 public String getModuleName()
55 {
56 return MODULE_NAME;
57 }
58 }