provide a text entry option with remembered default values for 'wizard' like
commands
-------------------------------------------------------------------------------------
Key: KARAF-220
URL: https://issues.apache.org/jira/browse/KARAF-220
Project: Karaf
Issue Type: New Feature
Components: console
Reporter: james strachan
Fix For: 2.2.0
For example, imagine a command line "mvn release:prepare" or imagine a simple
command which creates a new Java source file using some kind of template. You
might want to allow folks to specify the package name to use, or release number
to use for a command using an option. But if the option isn't supplied you
might want to prompt the user with a guessed default value - which may well be
fine most of the time, so users can just type 'enter' to accept the default, or
provide a new value.
e.g..
imagine a "foo create mdb" command which creates a Message Driven Bean java
class. If the user types the following in the console....
{code}
$ foo create mdb bar
Creating Message Driven Bean class Bar
package: [org.acme.foo]: _
{code}
if the user hits enter, then the default value is accepted otherwise they can
enter the value. Just like with "mvn release" where the plugin guesses decent
values for all the options.
Lets say the user enters "org.acme.foo.mdb" as the value then creates another
MDB...
{code}
$ foo create mdb bar
Creating Message Driven Bean class Bar
package: [org.acme.foo]: org.acme.foo.mdb
Created MDB in org.acme.foo.mdb.Bar
$ foo create mdb another
package: [org.acme.foo.mdb]: _
{code}
Here the system has remembered what the user typed for an option so it can be
defaulted in the next time.
So given all the nice injection & annotations stuff in the Karaf console; I'm
wondering if we can reuse the same options to from inside the execution of a
command, be able to ask the user for an option (if it was not specified in the
original command line) showing a default value - which if required can also be
saved using the User Preferences stuff.
something along the line of...
public interface EntryForm {
public boolean promptUser(Action action, String optionName, String prompt);
}
with maybe a separate API for use when the users response should be remembered
in UserPreferences for next time the user executes a similar command.
A great use case for the 'remembering' is when we create commands which code
generate XML or Java code into a directory or package; which will likely remain
the same for a project, but we may generate multiple instances of the same kind
of thing. e.g. like creating entities or controllers in Rails, creating
RouteBuilders in Camel or whatever
UserPreferences stuff here:
http://download.oracle.com/javase/1.5.0/docs/guide/preferences/index.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.