Updated Branches:
  refs/heads/0.8 a9ce73cfd -> 3c27988ca

kafka-827; improve list topic output format; patched by Jun Rao; reviewed by 
Neha Narkhede


Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/3c27988c
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/3c27988c
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/3c27988c

Branch: refs/heads/0.8
Commit: 3c27988ca4036985f4c7bef62b9bbae3f95f0fb9
Parents: a9ce73c
Author: Jun Rao <jun...@gmail.com>
Authored: Mon Apr 1 10:41:40 2013 -0700
Committer: Jun Rao <jun...@gmail.com>
Committed: Mon Apr 1 10:41:40 2013 -0700

----------------------------------------------------------------------
 .../main/scala/kafka/admin/ListTopicCommand.scala  |    4 ++--
 core/src/main/scala/kafka/api/TopicMetadata.scala  |   11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/3c27988c/core/src/main/scala/kafka/admin/ListTopicCommand.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/admin/ListTopicCommand.scala 
b/core/src/main/scala/kafka/admin/ListTopicCommand.scala
index f91eca2..baeb099 100644
--- a/core/src/main/scala/kafka/admin/ListTopicCommand.scala
+++ b/core/src/main/scala/kafka/admin/ListTopicCommand.scala
@@ -26,7 +26,7 @@ object ListTopicCommand {
 
   def main(args: Array[String]): Unit = {
     val parser = new OptionParser
-    val topicOpt = parser.accepts("topic", "REQUIRED: The topic to be 
deleted.")
+    val topicOpt = parser.accepts("topic", "REQUIRED: The topic to be listed. 
Defaults to all existing topics.")
                          .withRequiredArg
                          .describedAs("topic")
                          .ofType(classOf[String])
@@ -55,7 +55,7 @@ object ListTopicCommand {
       zkClient = new ZkClient(zkConnect, 30000, 30000, ZKStringSerializer)
 
       if (topic == "")
-        topicList = ZkUtils.getChildren(zkClient, ZkUtils.BrokerTopicsPath)
+        topicList = ZkUtils.getChildren(zkClient, 
ZkUtils.BrokerTopicsPath).sorted
       else
         topicList = List(topic)
 

http://git-wip-us.apache.org/repos/asf/kafka/blob/3c27988c/core/src/main/scala/kafka/api/TopicMetadata.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/api/TopicMetadata.scala 
b/core/src/main/scala/kafka/api/TopicMetadata.scala
index 409de76..f822678 100644
--- a/core/src/main/scala/kafka/api/TopicMetadata.scala
+++ b/core/src/main/scala/kafka/api/TopicMetadata.scala
@@ -108,6 +108,17 @@ case class PartitionMetadata(partitionId: Int,
     buffer.putInt(isr.size)
     isr.foreach(r => buffer.putInt(r.id))
   }
+
+  override def toString(): String = {
+    val partitionMetadataString = new StringBuilder
+    partitionMetadataString.append("\tpartition " + partitionId)
+    partitionMetadataString.append("\tleader: " + (if(leader.isDefined) 
formatBroker(leader.get) else "none"))
+    partitionMetadataString.append("\treplicas: " + 
replicas.map(formatBroker).mkString(","))
+    partitionMetadataString.append("\tisr: " + 
isr.map(formatBroker).mkString(","))
+    partitionMetadataString.toString()
+  }
+
+  private def formatBroker(broker: Broker) = broker.id + " (" + broker.host + 
":" + broker.port + ")"
 }
 
 

Reply via email to