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
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 }