1   package com.atlassian.plugins.codegen.modules.stash.scm;
2   
3   import com.atlassian.plugins.codegen.PluginProjectChangeset;
4   import com.atlassian.plugins.codegen.annotations.StashPluginModuleCreator;
5   import com.atlassian.plugins.codegen.modules.AbstractPluginModuleCreator;
6   
7   import static com.atlassian.plugins.codegen.modules.Dependencies.MOCKITO_TEST;
8   
9   @StashPluginModuleCreator
10  public class ScmRequestCheckModuleCreator extends AbstractPluginModuleCreator<ScmRequestCheckProperties>
11  {
12  
13      public static final String MODULE_NAME = "SCM Request Check";
14  
15      private static final String TEMPLATE_PREFIX = "templates/stash/scm/";
16  
17      private static final String CLASS_TEMPLATE = TEMPLATE_PREFIX + "ScmRequestCheck.java.vtl";
18      private static final String TEST_TEMPLATE = TEMPLATE_PREFIX + "ScmRequestCheckTest.java.vtl";
19      private static final String PLUGIN_MODULE_TEMPLATE = TEMPLATE_PREFIX + "scm-request-check-plugin.xml.vtl";
20  
21      @Override
22      public PluginProjectChangeset createModule(ScmRequestCheckProperties props) throws Exception
23      {
24          return new PluginProjectChangeset()
25                  .with(MOCKITO_TEST)
26                  .with(createModule(props, PLUGIN_MODULE_TEMPLATE))
27                  .with(createClassAndTests(props, CLASS_TEMPLATE, TEST_TEMPLATE));
28      }
29  
30      @Override
31      public String getModuleName()
32      {
33          return MODULE_NAME;
34      }
35  
36  }