1   package com.atlassian.maven.plugins.amps.codegen.prompter.common.component;
2   
3   import com.atlassian.maven.plugins.amps.codegen.annotations.ModuleCreatorClass;
4   import com.atlassian.maven.plugins.amps.codegen.prompter.AbstractModulePrompter;
5   import com.atlassian.plugins.codegen.modules.PluginModuleLocation;
6   import com.atlassian.plugins.codegen.modules.common.component.ComponentImportModuleCreator;
7   import com.atlassian.plugins.codegen.modules.common.component.ComponentImportProperties;
8   
9   import org.apache.commons.lang.StringUtils;
10  import org.codehaus.plexus.components.interactivity.Prompter;
11  import org.codehaus.plexus.components.interactivity.PrompterException;
12  
13  /**
14   * @since 3.6
15   */
16  @ModuleCreatorClass(ComponentImportModuleCreator.class)
17  public class ComponentImportPrompter extends AbstractModulePrompter<ComponentImportProperties>
18  {
19  
20      public ComponentImportPrompter(Prompter prompter)
21      {
22          super(prompter);
23  
24      }
25  
26      @Override
27      public ComponentImportProperties promptForBasicProperties(PluginModuleLocation moduleLocation) throws PrompterException
28      {
29          String fqInterface = promptFullyQualifiedJavaClass("Enter Fully Qualified Interface", "");
30          ComponentImportProperties props = new ComponentImportProperties(fqInterface);
31  
32          props.setModuleKey(prompt("Module Key", StringUtils.uncapitalize(StringUtils.substringAfterLast(fqInterface, "."))));
33          props.setFilter(prompt("Filter (not required)"));
34  
35          suppressAdvancedPrompt();
36          suppressExamplesPrompt();
37  
38          return props;
39      }
40  
41  
42  }