From 89c269dd4b1dc5e8d949cfba8c595258b01369c0 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 13 Mar 2012 23:52:28 +0000
Subject: [PATCH] Fix OPENDJ-82: Improve dsreplication status script friendly mode
---
opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java | 653 ++++++++++++++++++++++++----------------------------------
1 files changed, 274 insertions(+), 379 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java b/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java
index 7828095..7587425 100644
--- a/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java
+++ b/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java
@@ -24,6 +24,7 @@
*
* Copyright 2007-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2012 ForgeRock AS
+ * Portions Copyright 2012 profiq s.r.o.
*/
package org.opends.server.tools.dsreplication;
@@ -153,7 +154,9 @@
import org.opends.server.util.cli.MenuBuilder;
import org.opends.server.util.cli.MenuResult;
import org.opends.server.util.cli.PointAdder;
+import org.opends.server.util.table.TabSeparatedTablePrinter;
import org.opends.server.util.table.TableBuilder;
+import org.opends.server.util.table.TablePrinter;
import org.opends.server.util.table.TextTablePrinter;
/**
@@ -1136,7 +1139,6 @@
printPurgeProgressMessage(uData);
ReplicationCliReturnCode returnCode = ReplicationCliReturnCode.SUCCESSFUL;
boolean taskCreated = false;
- int i = 0;
boolean isOver = false;
String dn = null;
String taskID = null;
@@ -1163,7 +1165,6 @@
throw new ReplicationCliException(
getThrowableMsg(msg, ne), code, ne);
}
- i++;
}
// Wait until it is over
SearchControls searchControls = new SearchControls();
@@ -7254,15 +7255,12 @@
new HashSet<ReplicaDescriptor>();
Set<ServerDescriptor> serversWithNoReplica =
new HashSet<ServerDescriptor>();
- for (Set<ReplicaDescriptor> replicas : orderedReplicaLists)
- {
- printlnProgress();
- displayStatus(replicas, uData.isScriptFriendly(),
+ displayStatus(orderedReplicaLists, uData.isScriptFriendly(),
PreferredConnection.getPreferredConnections(ctx),
cache.getServers(),
replicasWithNoReplicationServer, serversWithNoReplica);
- somethingDisplayed = true;
- }
+ somethingDisplayed = true;
+
if (oneReplicated && !uData.isScriptFriendly())
{
printlnProgress();
@@ -7314,338 +7312,290 @@
* all the servers that act as replication server in the topology but have
* no replica.
*/
- private void displayStatus(Set<ReplicaDescriptor> replicas,
+ //private void displayStatus(Set<ReplicaDescriptor> replicas,
+ private void displayStatus(
+ LinkedList<Set<ReplicaDescriptor>> orderedReplicaLists,
boolean scriptFriendly, LinkedHashSet<PreferredConnection> cnx,
Set<ServerDescriptor> servers,
Set<ReplicaDescriptor> replicasWithNoReplicationServer,
Set<ServerDescriptor> serversWithNoReplica)
{
- boolean isReplicated = false;
Set<ReplicaDescriptor> orderedReplicas =
new LinkedHashSet<ReplicaDescriptor>();
Set<String> hostPorts = new TreeSet<String>();
Set<ServerDescriptor> notAddedReplicationServers =
new TreeSet<ServerDescriptor>(new ReplicationServerComparator());
- for (ReplicaDescriptor replica : replicas)
- {
- if (replica.isReplicated())
- {
- isReplicated = true;
- }
- hostPorts.add(getHostPort(replica.getServer(), cnx));
- }
- for (String hostPort : hostPorts)
+ for (Set<ReplicaDescriptor> replicas : orderedReplicaLists)
{
for (ReplicaDescriptor replica : replicas)
{
- if (getHostPort(replica.getServer(), cnx).equals(hostPort))
- {
- orderedReplicas.add(replica);
- }
+ hostPorts.add(getHostPort(replica.getServer(), cnx));
}
- }
- for (ServerDescriptor server : servers)
- {
- if (server.isReplicationServer())
+ for (String hostPort : hostPorts)
{
- boolean isDomain = false;
- boolean isRepServer = false;
- String replicationServer = server.getReplicationServerHostPort();
for (ReplicaDescriptor replica : replicas)
{
- if (!isRepServer)
+ if (getHostPort(replica.getServer(), cnx).equals(hostPort))
{
- Set<String> repServers = replica.getReplicationServers();
- for (String repServer : repServers)
+ orderedReplicas.add(replica);
+ }
+ }
+ }
+ for (ServerDescriptor server : servers)
+ {
+ if (server.isReplicationServer())
+ {
+ boolean isDomain = false;
+ boolean isRepServer = false;
+ String replicationServer = server.getReplicationServerHostPort();
+ for (ReplicaDescriptor replica : replicas)
+ {
+ if (!isRepServer)
{
- if (replicationServer.equalsIgnoreCase(repServer))
+ Set<String> repServers = replica.getReplicationServers();
+ for (String repServer : repServers)
{
- isRepServer = true;
+ if (replicationServer.equalsIgnoreCase(repServer))
+ {
+ isRepServer = true;
+ }
}
}
+ if (replica.getServer() == server)
+ {
+ isDomain = true;
+ }
+ if (isDomain && isRepServer)
+ {
+ break;
+ }
}
- if (replica.getServer() == server)
+ if (!isDomain && isRepServer)
{
- isDomain = true;
+ notAddedReplicationServers.add(server);
}
- if (isDomain && isRepServer)
- {
- break;
- }
- }
- if (!isDomain && isRepServer)
- {
- notAddedReplicationServers.add(server);
}
}
}
- final int SERVERPORT = 0;
- final int NUMBER_ENTRIES = 1;
- final int MISSING_CHANGES = 2;
- final int AGE_OF_OLDEST_MISSING_CHANGE = 3;
- final int REPLICATION_PORT = 4;
- final int SECURE = 5;
- Message[] headers;
- if (scriptFriendly)
- {
- if (isReplicated)
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_LABEL_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_LABEL_NUMBER_ENTRIES.get(),
- INFO_REPLICATION_STATUS_LABEL_MISSING_CHANGES.get(),
- INFO_REPLICATION_STATUS_LABEL_AGE_OF_OLDEST_MISSING_CHANGE.get(),
- INFO_REPLICATION_STATUS_LABEL_REPLICATION_PORT.get(),
- INFO_REPLICATION_STATUS_LABEL_SECURE.get()
- };
- }
- else
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_LABEL_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_LABEL_NUMBER_ENTRIES.get()
- };
- }
- }
- else
- {
- if (isReplicated)
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_HEADER_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_HEADER_NUMBER_ENTRIES.get(),
- INFO_REPLICATION_STATUS_HEADER_MISSING_CHANGES.get(),
- INFO_REPLICATION_STATUS_HEADER_AGE_OF_OLDEST_MISSING_CHANGE.get(),
- INFO_REPLICATION_STATUS_HEADER_REPLICATION_PORT.get(),
- INFO_REPLICATION_STATUS_HEADER_SECURE.get()
- };
- }
- else
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_HEADER_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_HEADER_NUMBER_ENTRIES.get()
- };
- }
- }
- Message[][] values = new Message[
- notAddedReplicationServers.size() +orderedReplicas.size()][headers.length];
- int i = 0;
+ /*
+ * The table has the following columns:
+ * - suffix DN;
+ * - server;
+ * - number of entries;
+ * - replication enabled indicator;
+ * - directory server instance ID;
+ * - replication server;
+ * - replication server ID;
+ * - missing changes;
+ * - age of the oldest change, and
+ * - security enabled indicator.
+ */
+ TableBuilder tableBuilder = new TableBuilder();
- for (ServerDescriptor server : notAddedReplicationServers)
- {
- serversWithNoReplica.add(server);
- Message v;
- for (int j=0; j<headers.length; j++)
- {
- switch (j)
- {
- case SERVERPORT:
- v = Message.raw(getHostPort(server, cnx));
- break;
- case NUMBER_ENTRIES:
- if (scriptFriendly)
- {
- v = INFO_REPLICATION_STATUS_NOT_A_REPLICATION_DOMAIN_LONG.get();
- }
- else
- {
- v = INFO_REPLICATION_STATUS_NOT_A_REPLICATION_DOMAIN_SHORT.get();
- }
- break;
- case MISSING_CHANGES:
- v = INFO_NOT_APPLICABLE_LABEL.get();
- break;
- case AGE_OF_OLDEST_MISSING_CHANGE:
- v = INFO_NOT_APPLICABLE_LABEL.get();
- break;
- case REPLICATION_PORT:
- int replicationPort = server.getReplicationServerPort();
- if (replicationPort >= 0)
- {
- v = Message.raw(String.valueOf(replicationPort));
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case SECURE:
- if (server.isReplicationSecure())
- {
- v = INFO_REPLICATION_STATUS_SECURITY_ENABLED.get();
- }
- else
- {
- v = INFO_REPLICATION_STATUS_SECURITY_DISABLED.get();
- }
- break;
- default:
- throw new IllegalStateException("Unknown index: "+j);
- }
- values[i][j] = v;
- }
- i++;
- }
+ /*
+ * Table headings.
+ */
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_SUFFIX_DN.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_SERVERPORT.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_NUMBER_ENTRIES.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_REPLICATION_ENABLED.get());
+ tableBuilder.appendHeading(INFO_REPLICATION_STATUS_HEADER_DS_ID.get());
+ tableBuilder.appendHeading(INFO_REPLICATION_STATUS_HEADER_RS_ID.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_REPLICATION_PORT.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_MISSING_CHANGES.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_AGE_OF_OLDEST_MISSING_CHANGE.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_SECURE.get());
+
+ /*
+ * Table data.
+ */
for (ReplicaDescriptor replica : orderedReplicas)
{
- Message v;
- for (int j=0; j<headers.length; j++)
+ tableBuilder.startRow();
+ if (replica.isReplicated())
{
- switch (j)
- {
- case SERVERPORT:
- v = Message.raw(getHostPort(replica.getServer(), cnx));
- break;
- case NUMBER_ENTRIES:
- int nEntries = replica.getEntries();
- if (nEntries >= 0)
- {
- v = Message.raw(String.valueOf(nEntries));
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case MISSING_CHANGES:
- int missingChanges = replica.getMissingChanges();
- if (missingChanges >= 0)
- {
- v = Message.raw(String.valueOf(missingChanges));
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case AGE_OF_OLDEST_MISSING_CHANGE:
- long ageOfOldestMissingChange = replica.getAgeOfOldestMissingChange();
- if (ageOfOldestMissingChange > 0)
- {
- Date date = new Date(ageOfOldestMissingChange);
- v = Message.raw(date.toString());
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case REPLICATION_PORT:
- int replicationPort = replica.getServer().getReplicationServerPort();
- if (!replica.getServer().isReplicationServer())
- {
- if (scriptFriendly)
- {
- v = INFO_REPLICATION_STATUS_NOT_A_REPLICATION_SERVER_LONG.get();
- }
- else
- {
- v = INFO_REPLICATION_STATUS_NOT_A_REPLICATION_SERVER_SHORT.get();
- }
- replicasWithNoReplicationServer.add(replica);
- }
- else if (replicationPort >= 0)
- {
- v = Message.raw(String.valueOf(replicationPort));
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case SECURE:
- if (!replica.getServer().isReplicationServer())
- {
- v = INFO_NOT_APPLICABLE_LABEL.get();
- }
- else if (replica.getServer().isReplicationSecure())
- {
- v = INFO_REPLICATION_STATUS_SECURITY_ENABLED.get();
- }
- else
- {
- v = INFO_REPLICATION_STATUS_SECURITY_DISABLED.get();
- }
- break;
- default:
- throw new IllegalStateException("Unknown index: "+j);
- }
- values[i][j] = v;
- }
- i++;
- }
+ // Suffix DN
+ tableBuilder.appendCell(Message.raw(replica.getSuffix().getDN()));
- String dn = replicas.iterator().next().getSuffix().getDN();
- if (scriptFriendly)
- {
- Message[] labels = {
- INFO_REPLICATION_STATUS_BASEDN.get(),
- INFO_REPLICATION_STATUS_IS_REPLICATED.get()
- };
- Message[] vs = {
- Message.raw(dn),
- isReplicated ? INFO_BASEDN_REPLICATED_LABEL.get() :
- INFO_BASEDN_NOT_REPLICATED_LABEL.get()
- };
- for (i=0; i<labels.length; i++)
- {
- printProgress(Message.raw(labels[i]+" "+vs[i]));
- printlnProgress();
- }
+ // Server port
+ tableBuilder.appendCell(
+ Message.raw(getHostPort(replica.getServer(), cnx)));
- for (i=0; i<values.length; i++)
- {
- printProgress(Message.raw("-"));
- printlnProgress();
- for (int j=0; j<values[i].length; j++)
+ // Number of entries
+ int nEntries = replica.getEntries();
+ if (nEntries >= 0)
{
- printProgress(Message.raw(headers[j]+" "+values[i][j]));
- printlnProgress();
+ tableBuilder.appendCell(Message.raw(String.valueOf(nEntries)));
}
- }
- }
- else
- {
- Message msg;
- if (isReplicated)
- {
- msg = INFO_REPLICATION_STATUS_REPLICATED.get(dn);
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+
+ // Replication enabled
+ tableBuilder.appendCell(
+ Message.raw(Boolean.toString(replica.isReplicated())));
+
+ // DS instance ID
+ tableBuilder.appendCell(
+ Message.raw(Integer.toString(replica.getReplicationId())));
+
+ // RS ID and port.
+ if (replica.getServer().isReplicationServer())
+ {
+ tableBuilder.appendCell(Integer.toString(replica.getServer()
+ .getReplicationServerId()));
+ tableBuilder.appendCell(Message.raw(String.valueOf(replica
+ .getServer().getReplicationServerPort())));
+ }
+ else
+ {
+ if (scriptFriendly)
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+ else
+ {
+ tableBuilder.appendCell(
+ INFO_REPLICATION_STATUS_NOT_A_REPLICATION_SERVER_SHORT.get());
+ }
+ tableBuilder.appendCell(Message.raw(""));
+ replicasWithNoReplicationServer.add(replica);
+ }
+
+ // Missing changes
+ int missingChanges = replica.getMissingChanges();
+ if (missingChanges >= 0)
+ {
+ tableBuilder.appendCell(Message.raw(String.valueOf(missingChanges)));
+ }
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+
+ // Age of oldest missing change
+ long ageOfOldestMissingChange = replica.getAgeOfOldestMissingChange();
+ if (ageOfOldestMissingChange > 0)
+ {
+ Date date = new Date(ageOfOldestMissingChange);
+ tableBuilder.appendCell(Message.raw(date.toString()));
+ }
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+
+ // Secure
+ if (!replica.getServer().isReplicationServer())
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+ else
+ {
+ tableBuilder.appendCell(
+ Message.raw(Boolean.toString(
+ replica.getServer().isReplicationSecure())));
+ }
}
else
{
- msg = INFO_REPLICATION_STATUS_NOT_REPLICATED.get(dn);
- }
- printProgressMessageNoWrap(msg);
- printlnProgress();
- int length = msg.length();
- StringBuilder buf = new StringBuilder();
- for (i=0; i<length; i++)
- {
- buf.append("=");
- }
- printProgressMessageNoWrap(Message.raw(buf.toString()));
- printlnProgress();
-
- TableBuilder table = new TableBuilder();
- for (i=0; i< headers.length; i++)
- {
- table.appendHeading(headers[i]);
- }
- for (i=0; i<values.length; i++)
- {
- table.startRow();
- for (int j=0; j<headers.length; j++)
+ tableBuilder.appendCell(Message.raw(replica.getSuffix().getDN()));
+ tableBuilder.appendCell(
+ Message.raw(getHostPort(replica.getServer(), cnx)));
+ int nEntries = replica.getEntries();
+ if (nEntries >= 0)
{
- table.appendCell(values[i][j]);
+ tableBuilder.appendCell(Message.raw(String.valueOf(nEntries)));
}
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+ tableBuilder.appendCell(
+ Message.raw(Boolean.toString(replica.isReplicated())));
}
- TextTablePrinter printer = new TextTablePrinter(getOutputStream());
- printer.setColumnSeparator(ToolConstants.LIST_TABLE_SEPARATOR);
- table.print(printer);
}
+
+ for (ServerDescriptor server : notAddedReplicationServers)
+ {
+ tableBuilder.startRow();
+ serversWithNoReplica.add(server);
+
+ // Suffix DN
+ tableBuilder.appendCell(Message.raw(""));
+
+ // Server port
+ tableBuilder.appendCell(Message.raw(getHostPort(server, cnx)));
+
+ // Number of entries
+ if (scriptFriendly)
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+ else
+ {
+ tableBuilder.appendCell(
+ INFO_REPLICATION_STATUS_NOT_A_REPLICATION_DOMAIN_SHORT.get());
+ }
+
+ // Replication enabled
+ tableBuilder.appendCell(Message.raw(Boolean.toString(true)));
+
+ // DS ID
+ tableBuilder.appendCell(Message.raw(""));
+
+ // RS ID
+ tableBuilder.appendCell(
+ Message.raw(Integer.toString(server.getReplicationServerId())));
+
+ // Replication port
+ int replicationPort = server.getReplicationServerPort();
+ if (replicationPort >= 0)
+ {
+ tableBuilder.appendCell(
+ Message.raw(String.valueOf(replicationPort)));
+ }
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+
+ // Missing changes
+ tableBuilder.appendCell(Message.raw(""));
+
+ // Age of oldest change
+ tableBuilder.appendCell(Message.raw(""));
+
+ // Secure
+ tableBuilder.appendCell(
+ Message.raw(Boolean.toString(server.isReplicationSecure())));
+ }
+
+ PrintStream out = getOutputStream();
+ TablePrinter printer = null;
+
+ if (scriptFriendly)
+ {
+ printer = new TabSeparatedTablePrinter(out);
+ }
+ else
+ {
+ printer = new TextTablePrinter(out);
+ ((TextTablePrinter)printer).setColumnSeparator(
+ ToolConstants.LIST_TABLE_SEPARATOR);
+ }
+ tableBuilder.print(printer);
}
/**
@@ -7659,85 +7609,42 @@
private void displayStatus(Set<ServerDescriptor> servers,
boolean scriptFriendly, LinkedHashSet<PreferredConnection> cnx)
{
- final int SERVERPORT = 0;
- final int REPLICATION_PORT = 1;
- final int SECURE = 2;
- Message[] headers;
- if (scriptFriendly)
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_LABEL_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_LABEL_REPLICATION_PORT.get(),
- INFO_REPLICATION_STATUS_LABEL_SECURE.get()
- };
- }
- else
- {
- headers = new Message[] {
- INFO_REPLICATION_STATUS_HEADER_SERVERPORT.get(),
- INFO_REPLICATION_STATUS_HEADER_REPLICATION_PORT.get(),
- INFO_REPLICATION_STATUS_HEADER_SECURE.get()
- };
- }
- Message[][] values = new Message[servers.size()][headers.length];
-
- int i = 0;
+ TableBuilder tableBuilder = new TableBuilder();
+ tableBuilder.appendHeading(INFO_REPLICATION_STATUS_HEADER_SERVERPORT.get());
+ tableBuilder.appendHeading(
+ INFO_REPLICATION_STATUS_HEADER_REPLICATION_PORT.get());
+ tableBuilder.appendHeading(INFO_REPLICATION_STATUS_HEADER_SECURE.get());
for (ServerDescriptor server : servers)
{
- Message v;
- for (int j=0; j<headers.length; j++)
+ tableBuilder.startRow();
+ // Server port
+ tableBuilder.appendCell(Message.raw(getHostPort(server, cnx)));
+ // Replication port
+ int replicationPort = server.getReplicationServerPort();
+ if (replicationPort >= 0)
{
- switch (j)
- {
- case SERVERPORT:
- v = Message.raw(getHostPort(server, cnx));
- break;
- case REPLICATION_PORT:
- int replicationPort = server.getReplicationServerPort();
- if (replicationPort >= 0)
- {
- v = Message.raw(String.valueOf(replicationPort));
- }
- else
- {
- v = INFO_NOT_AVAILABLE_SHORT_LABEL.get();
- }
- break;
- case SECURE:
- if (server.isReplicationSecure())
- {
- v = INFO_REPLICATION_STATUS_SECURITY_ENABLED.get();
- }
- else
- {
- v = INFO_REPLICATION_STATUS_SECURITY_DISABLED.get();
- }
- break;
- default:
- throw new IllegalStateException("Unknown index: "+j);
- }
- values[i][j] = v;
+ tableBuilder.appendCell(Message.raw(String.valueOf(replicationPort)));
}
- i++;
+ else
+ {
+ tableBuilder.appendCell(Message.raw(""));
+ }
+ // Secure
+ tableBuilder.appendCell(
+ Message.raw(
+ Boolean.toString(server.isReplicationSecure())));
}
+ PrintStream out = getOutputStream();
+ TablePrinter printer = null;
+
if (scriptFriendly)
{
printProgress(
INFO_REPLICATION_STATUS_INDEPENDENT_REPLICATION_SERVERS.get());
printlnProgress();
-
- for (i=0; i<values.length; i++)
- {
- printProgress(Message.raw("-"));
- printlnProgress();
- for (int j=0; j<values[i].length; j++)
- {
- printProgress(Message.raw(headers[j]+" "+values[i][j]));
- printlnProgress();
- }
- }
+ printer = new TabSeparatedTablePrinter(out);
}
else
{
@@ -7747,30 +7654,18 @@
printlnProgress();
int length = msg.length();
StringBuilder buf = new StringBuilder();
- for (i=0; i<length; i++)
+ for (int i=0; i<length; i++)
{
buf.append("=");
}
printProgressMessageNoWrap(Message.raw(buf.toString()));
printlnProgress();
- TableBuilder table = new TableBuilder();
- for (i=0; i< headers.length; i++)
- {
- table.appendHeading(headers[i]);
- }
- for (i=0; i<values.length; i++)
- {
- table.startRow();
- for (int j=0; j<headers.length; j++)
- {
- table.appendCell(values[i][j]);
- }
- }
- TextTablePrinter printer = new TextTablePrinter(getOutputStream());
- printer.setColumnSeparator(ToolConstants.LIST_TABLE_SEPARATOR);
- table.print(printer);
+ printer = new TextTablePrinter(getOutputStream());
+ ((TextTablePrinter)printer).setColumnSeparator(
+ ToolConstants.LIST_TABLE_SEPARATOR);
}
+ tableBuilder.print(printer);
}
/**
--
Gitblit v1.10.0