1 package com.atlassian.plugins.codegen.modules.jira;
2
3 import com.atlassian.plugins.codegen.PluginProjectChangeset;
4 import com.atlassian.plugins.codegen.annotations.JiraPluginModuleCreator;
5 import com.atlassian.plugins.codegen.modules.AbstractPluginModuleCreator;
6 import com.atlassian.plugins.codegen.modules.common.Resource;
7
8 import static com.atlassian.plugins.codegen.modules.Dependencies.MOCKITO_TEST;
9
10
11
12
13 @JiraPluginModuleCreator
14 public class CustomFieldSearcherModuleCreator extends AbstractPluginModuleCreator<CustomFieldSearcherProperties>
15 {
16
17 public static final String MODULE_NAME = "Custom Field Searcher";
18 private static final String TEMPLATE_PREFIX = "templates/jira/customfield/searcher/";
19
20
21 private static final String CLASS_TEMPLATE = TEMPLATE_PREFIX + "CustomFieldSearcher.java.vtl";
22 private static final String UNIT_TEST_TEMPLATE = "templates/generic/GenericTest.java.vtl";
23 private static final String VIEW_TEMPLATE = "templates/common/actionview.vm.vtl";
24
25
26 private static final String EXAMPLE_CLASS_TEMPLATE = TEMPLATE_PREFIX + "Example" + CLASS_TEMPLATE;
27
28 private static final String PLUGIN_MODULE_TEMPLATE = TEMPLATE_PREFIX + "customfield-searcher-plugin.xml.vtl";
29
30 @Override
31 public PluginProjectChangeset createModule(CustomFieldSearcherProperties props) throws Exception
32 {
33 PluginProjectChangeset ret = new PluginProjectChangeset()
34 .with(MOCKITO_TEST)
35 .with(createModule(props, PLUGIN_MODULE_TEMPLATE));
36
37 if (props.includeExamples())
38 {
39 ret = ret.with(createClass(props, EXAMPLE_CLASS_TEMPLATE));
40 }
41 else
42 {
43 if (props.generateClass())
44 {
45 ret = ret.with(createClassAndTests(props, CLASS_TEMPLATE, UNIT_TEST_TEMPLATE));
46 }
47 }
48
49
50 for (Resource resource : props.getResources())
51 {
52 ret = ret.with(createTemplateResource(props, resource, VIEW_TEMPLATE));
53 }
54
55 return ret;
56 }
57
58 @Override
59 public String getModuleName()
60 {
61 return MODULE_NAME;
62 }
63 }