[ 
https://issues.apache.org/jira/browse/KARAF-1499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jamie goodyear closed KARAF-1499.
---------------------------------

    
> InfoAction shell command should sort the properties from InfoProvider 
> instances
> -------------------------------------------------------------------------------
>
>                 Key: KARAF-1499
>                 URL: https://issues.apache.org/jira/browse/KARAF-1499
>             Project: Karaf
>          Issue Type: Improvement
>          Components: karaf-shell
>    Affects Versions: 2.2.4
>            Reporter: Chris Dolan
>            Assignee: Freeman Fang
>            Priority: Trivial
>             Fix For: 2.2.8, 2.3.0, 3.0.0
>
>
> The class org.apache.karaf.shell.commands.InfoAction accepts input from 
> InfoProvider services. The items from those providers are printed via this 
> code:
> {code}
>     for (String section : properties.keySet()) {
>         System.out.println(section);
>         for (Object key : properties.get(section).keySet()) {
>             printValue(String.valueOf(key), maxNameLen, 
> String.valueOf(properties.get(section).get(key)));
>         }
>     }
> {code}
> The .keySet() method returns keys in effectively random order, making the 
> output hard to read. I propose instead the following presentation:
> {code}
>     List<String> sections = new ArrayList<String>(properties.keySet());
>     Collections.sort(sections);
>     for (String section : sections) {
>         List<Object> keys = new 
> ArrayList<Object>(properties.get(section).keySet());
>         if (keys.size() > 0) {
>             System.out.println(section);
>             Collections.sort(keys, new Comparator<Object>() {
>                 public int compare(Object o1, Object o2) {
>                     return String.valueOf(o1).compareTo(String.valueOf(o2));
>                 }
>             });
>             for (Object key : keys) {
>                 printValue(String.valueOf(key), maxNameLen, 
> String.valueOf(properties.get(section).get(key)));
>             }
>         }
>     }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to