/plugin-module-codegen-maven-client/src/main/java/com/atlassian/maven/plugins/amps/codegen/prompter/common/component/ComponentImportPrompter.java

https://bitbucket.org/mmeinhold/amps · Java · 42 lines · 28 code · 11 blank · 3 comment · 0 complexity · 203b556e6f7cc98a46f57c44f0e9cab1 MD5 · raw file

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