karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "james strachan (JIRA)" <j...@apache.org>
Subject [jira] Created: (KARAF-220) provide a text entry option with remembered default values for 'wizard' like commands
Date Thu, 23 Sep 2010 09:58:57 GMT
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.


Mime
View raw message