*/
public class ManageNodesDialog extends JDialog implements ListSelectionListener {
- /** The current list of nodes. */
- private List<NodeWrapper> nodes = new ArrayList<NodeWrapper>();
+ /** The original list of nodes. */
+ private List<Node> originalNodeList;
+
+ /** The current list of wrapped nodes. */
+ private List<NodeWrapper> wrappedNodeList = new ArrayList<NodeWrapper>();
/** The current default node. */
private Node defaultNode;
* @return The list of nodes
*/
public List<Node> getNodeList() {
- List<Node> nodes = new ArrayList<Node>();
- for (NodeWrapper nodeWrapper: this.nodes) {
- nodes.add(nodeWrapper.getWrappedNode());
- }
- return nodes;
+ return originalNodeList;
}
/**
* Sets the list of nodes.
*
- * @param nodes
+ * @param nodeList
* The list of nodes
*/
- public void setNodeList(List<Node> nodes) {
- this.nodes.clear();
- for (Node node: nodes) {
- this.nodes.add(new NodeWrapper(node));
+ public void setNodeList(List<Node> nodeList) {
+ originalNodeList = nodeList;
+ wrappedNodeList.clear();
+ for (Node node: nodeList) {
+ wrappedNodeList.add(new NodeWrapper(node));
}
- nodeListModel.setNodeList(this.nodes);
+ nodeListModel.setNodeList(wrappedNodeList);
}
//
newNode.setHostname(editNodeDialog.getNodeHostname());
newNode.setPort(editNodeDialog.getNodePort());
NodeWrapper newNodeWrapper = new NodeWrapper(newNode);
- if (nodes.isEmpty()) {
+ if (wrappedNodeList.isEmpty()) {
defaultNode = newNode;
newNodeWrapper.setDefaultNode(true);
}
- nodes.add(new NodeWrapper(newNode));
- nodeListModel.setNodeList(nodes);
+ wrappedNodeList.add(new NodeWrapper(newNode));
+ nodeListModel.setNodeList(wrappedNodeList);
}
}
*/
private void deleteNode() {
NodeWrapper selectedNode = (NodeWrapper) nodeList.getSelectedValue();
- nodes.remove(selectedNode);
+ wrappedNodeList.remove(selectedNode);
nodeList.clearSelection();
nodeList.repaint();
}
*/
private void setDefaultNode() {
NodeWrapper selectedNode = (NodeWrapper) nodeList.getSelectedValue();
- for (NodeWrapper nodeWrapper: nodes) {
+ for (NodeWrapper nodeWrapper: wrappedNodeList) {
nodeWrapper.setDefaultNode(nodeWrapper == selectedNode);
}
nodeList.repaint();
/**
* This method is called when the “okay” button is pressed. The nodes from
- * the list are read and the {@link #nodes} and {@link #defaultNode} members
- * are set so that the calling code can use {@link #getNodeList()} and
- * {@link #getDefaultNode()} to get the changed values.
+ * the list are read and the {@link #wrappedNodeList} and
+ * {@link #defaultNode} members are set so that the calling code can use
+ * {@link #getNodeList()} and {@link #getDefaultNode()} to get the changed
+ * values.
*/
private void confirm() {
+ originalNodeList.clear();
+ for (NodeWrapper nodeWrapper: wrappedNodeList) {
+ originalNodeList.add(nodeWrapper.getWrappedNode());
+ if (nodeWrapper.isDefaultNode()) {
+ defaultNode = nodeWrapper.getWrappedNode();
+ }
+ }
setVisible(false);
}