You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Chris Dolan (JIRA)" <ji...@apache.org> on 2012/06/01 04:30:23 UTC
[jira] [Commented] (KARAF-1499) InfoAction shell command should
sort the properties from InfoProvider instances
[ https://issues.apache.org/jira/browse/KARAF-1499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13287100#comment-13287100 ]
Chris Dolan commented on KARAF-1499:
------------------------------------
Heh, I just updated svn to create a "real patch" but it looks like you've already committed it in rev 1344087. :-) Thanks.
> 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
>
> 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