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

https://bitbucket.org/mmeinhold/amps · Java · 57 lines · 41 code · 13 blank · 3 comment · 1 complexity · e771ae427b09f3320eaf4c568e2c8907 MD5 · raw file

  1. package com.atlassian.maven.plugins.amps.codegen.prompter.common.servlet;
  2. import java.util.Map;
  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.servlet.ServletModuleCreator;
  7. import com.atlassian.plugins.codegen.modules.common.servlet.ServletProperties;
  8. import com.atlassian.plugins.codegen.util.ClassnameUtil;
  9. import org.codehaus.plexus.components.interactivity.Prompter;
  10. import org.codehaus.plexus.components.interactivity.PrompterException;
  11. /**
  12. * @since 3.6
  13. */
  14. @ModuleCreatorClass(ServletModuleCreator.class)
  15. public class ServletModulePrompter extends AbstractModulePrompter<ServletProperties>
  16. {
  17. public ServletModulePrompter(Prompter prompter)
  18. {
  19. super(prompter);
  20. }
  21. @Override
  22. public ServletProperties promptForBasicProperties(PluginModuleLocation moduleLocation) throws PrompterException
  23. {
  24. String className = promptJavaClassname("Enter New Classname", "MyServlet");
  25. String packageName = promptJavaPackagename("Enter Package Name", getDefaultBasePackage() + ".servlet");
  26. return new ServletProperties(ClassnameUtil.fullyQualifiedName(packageName, className));
  27. }
  28. @Override
  29. public void promptForAdvancedProperties(ServletProperties props, PluginModuleLocation moduleLocation) throws PrompterException
  30. {
  31. props.setUrlPattern(getUrlPatternFromUser("/" + props.getClassId().getName()
  32. .toLowerCase()));
  33. Map<String, String> initParams = promptForParams("Add Init-Param?");
  34. if (initParams.size() > 0)
  35. {
  36. props.setInitParams(initParams);
  37. }
  38. }
  39. private String getUrlPatternFromUser(String defaultVal) throws PrompterException
  40. {
  41. String pattern = promptNotBlank("URL Pattern", defaultVal);
  42. return pattern;
  43. }
  44. }