mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Matthew Swift
02.58.2012 57dcbf9c69ce5f0bba384b88555b48a5d87d3476
Fix OPENDJ-391: Improve List existing Local DB Indexes output in dsconfig

* don't display the "type" column when listing managed objects if there is only one type of component which can be displayed
* add "index-entry-limit" and "index-extensible-matching-rule" as default properties to be displayed when listing JE backend indexes.
2 files modified
20 ■■■■ changed files
opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml 4 ●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/dsconfig/ListSubCommandHandler.java 16 ●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
@@ -24,7 +24,7 @@
  !
  !
  !      Copyright 2007-2010 Sun Microsystems, Inc.
  !      Portions Copyright 2010-2011 ForgeRock AS.
  !      Portions Copyright 2010-2012 ForgeRock AS.
  ! -->
<adm:managed-object name="local-db-backend"
  plural-name="local-db-backends" package="org.opends.server.admin.std"
@@ -100,6 +100,8 @@
    <adm:profile name="cli">
      <cli:relation>
        <cli:default-property name="index-type" />
        <cli:default-property name="index-entry-limit" />
        <cli:default-property name="index-extensible-matching-rule" />
      </cli:relation>
    </adm:profile>
  </adm:relation>
opends/src/server/org/opends/server/tools/dsconfig/ListSubCommandHandler.java
@@ -22,6 +22,7 @@
 * CDDL HEADER END
 *
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 *      Portions copyright 2012 ForgeRock AS.
 */
package org.opends.server.tools.dsconfig;
@@ -418,11 +419,18 @@
        app.println(Message.raw(name));
      }
    } else {
      // Create a table of their properties.
      // Create a table of their properties containing the name, type (if
      // appropriate), and requested properties.
      SortedMap<String, ?> subTypes =
          getSubTypes(relation.getChildDefinition());
      boolean includeTypesColumn = (subTypes.size() != 1
          || !subTypes.containsKey(DSConfig.GENERIC_TYPE));
      TableBuilder builder = new TableBuilder();
      builder.appendHeading(relation.getUserFriendlyName());
      builder
          .appendHeading(INFO_DSCFG_HEADING_COMPONENT_TYPE.get());
      if (includeTypesColumn) {
        builder.appendHeading(INFO_DSCFG_HEADING_COMPONENT_TYPE.get());
      }
      for (String propertyName : propertyNames) {
        builder.appendHeading(Message.raw(propertyName));
      }
@@ -453,6 +461,7 @@
          builder.appendCell(name);
        }
        if (includeTypesColumn) {
        // Output the managed object type in the form used in
        // create-xxx commands.
        String childType = d.getName();
@@ -473,6 +482,7 @@
        } else {
          builder.appendCell(childType);
        }
        }
        // Now any requested properties.
        for (String propertyName : propertyNames) {