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);
+ }
}