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