You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mj...@apache.org on 2009/08/15 18:28:10 UTC

svn commit: r804480 - in /mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client: PubsubClientModel.java PubsubNode.java PubsubTableModel.java

Author: mjakl
Date: Sat Aug 15 16:28:09 2009
New Revision: 804480

URL: http://svn.apache.org/viewvc?rev=804480&view=rev
Log:
Keep the node-list sorted.

Modified:
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubTableModel.java

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java?rev=804480&r1=804479&r2=804480&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java Sat Aug 15 16:28:09 2009
@@ -130,9 +130,11 @@
         }
 
         tableModel.clear();
+        tableModel.startBulkAdd();
         for(PubsubNode n : lookup.values()) {
-            tableModel.addRow(n);
+            tableModel.bulkAddRow(n);
         }
+        tableModel.endBulkAdd();
     }
 
     public void logout() {

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java?rev=804480&r1=804479&r2=804480&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubNode.java Sat Aug 15 16:28:09 2009
@@ -24,7 +24,7 @@
  *
  * @author The Apache MINA Project (http://mina.apache.org)
  */
-public class PubsubNode {
+public class PubsubNode implements Comparable<PubsubNode> {
     private String node;
     private Boolean subscribed;
     private Boolean ownership;
@@ -60,4 +60,8 @@
     public int hashCode() {
         return getNode().hashCode();
     }
+
+    public int compareTo(PubsubNode o) {
+        return this.node.compareTo(o.getNode());
+    }
 }

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubTableModel.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubTableModel.java?rev=804480&r1=804479&r2=804480&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubTableModel.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubTableModel.java Sat Aug 15 16:28:09 2009
@@ -19,7 +19,9 @@
  */
 package org.apache.vysper.demo.pubsub.client;
 
-import java.util.Vector;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 import javax.swing.table.AbstractTableModel;
 
@@ -32,7 +34,7 @@
     private static final long serialVersionUID = -3788690749950634883L;
     
     private final String[] columnNames = new String[] {"Node", "Subscribed", "Owner"}; 
-    private Vector<PubsubNode> nodes = new Vector<PubsubNode>();
+    private List<PubsubNode> nodes = new ArrayList<PubsubNode>();
     
     @Override
     public String getColumnName(int col) {
@@ -76,8 +78,13 @@
     
     public void addRow(PubsubNode node) {
         this.nodes.add(node);
+        Collections.sort(this.nodes);
         fireTableRowsInserted(getRowCount()-1, getColumnCount()-1);
     }
+
+    public void bulkAddRow(PubsubNode node) {
+        this.nodes.add(node);
+    }
     
     public void deleteRow(int rowIndex) {
         this.nodes.remove(rowIndex);
@@ -96,4 +103,13 @@
         nodes.clear();
         fireTableRowsDeleted(0, rowCount);
     }
+
+    public void startBulkAdd() {
+        // for consistency
+    }
+
+    public void endBulkAdd() {
+        Collections.sort(this.nodes);
+        fireTableRowsInserted(0, this.getRowCount()-1);
+    }
 }