Author: manik.surtani(a)jboss.com
Date: 2008-01-07 06:57:26 -0500 (Mon, 07 Jan 2008)
New Revision: 5030
Modified:
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java
Log:
updated colours, labels, resizability, added a get node option
Modified:
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form
===================================================================
---
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form 2008-01-07
02:43:18 UTC (rev 5029)
+++
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.form 2008-01-07
11:57:26 UTC (rev 5030)
@@ -26,9 +26,7 @@
</grid>
<forms defaultalign-vert="false"/>
</constraints>
- <properties>
- <background color="-3355648"/>
- </properties>
+ <properties/>
<border type="none"/>
<children>
<grid id="7aed3" binding="controlPanelTab"
layout-manager="FormLayout">
@@ -112,7 +110,7 @@
<component id="ded97"
class="javax.swing.JTextArea" binding="configFileContents">
<constraints/>
<properties>
- <background color="-103"/>
+ <background color="-3355444"/>
<font name="Courier New" size="10"/>
</properties>
</component>
@@ -148,6 +146,7 @@
<constraints/>
<properties>
<background color="-1"/>
+ <editable value="false"/>
<showsRootHandles value="true"/>
<toolTipText value="Tree view of the cache"/>
</properties>
@@ -165,7 +164,7 @@
<component id="41fa4" class="javax.swing.JTable"
binding="nodeDataTable">
<constraints/>
<properties>
- <background color="-103"/>
+ <background color="-992313"/>
<gridColor color="-16777216"/>
<intercellSpacing width="3" height="3"/>
<toolTipText value="Data in currently selected
node"/>
@@ -202,7 +201,7 @@
<component id="d96d2" class="javax.swing.JTable"
binding="clusterTable">
<constraints/>
<properties>
- <background color="-103"/>
+ <background color="-992313"/>
<gridColor color="-16777216"/>
<intercellSpacing width="3" height="3"/>
<showHorizontalLines value="true"/>
@@ -334,6 +333,8 @@
<rowspec value="top:3dlu:noGrow"/>
<rowspec value="center:max(d;4px):noGrow"/>
<rowspec value="top:3dlu:noGrow"/>
+ <rowspec value="center:max(d;4px):noGrow"/>
+ <rowspec value="top:3dlu:noGrow"/>
<rowspec value="center:d:grow"/>
<rowspec value="top:3dlu:noGrow"/>
<rowspec value="center:max(d;4px):noGrow"/>
@@ -357,7 +358,7 @@
<colspec value="left:4dlu:noGrow"/>
<colspec value="fill:200px:grow"/>
<constraints>
- <tabbedpane title="Data generator"
enabled="false">
+ <tabbedpane title="Manipulate data"
enabled="false">
<tooltip value="This tab provides you with the ability to add or
remove data from the cache."/>
</tabbedpane>
</constraints>
@@ -435,7 +436,7 @@
</component>
<component id="11f60" class="javax.swing.JButton"
binding="goButton" default-binding="true">
<constraints>
- <grid row="12" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="14" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms defaultalign-horz="false"/>
</constraints>
<properties>
@@ -481,7 +482,7 @@
</component>
<component id="aacea"
class="javax.swing.JLabel">
<constraints>
- <grid row="16" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="18" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms/>
</constraints>
<properties>
@@ -491,14 +492,14 @@
</component>
<component id="bf689"
class="javax.swing.JSeparator">
<constraints>
- <grid row="14" column="0" row-span="1"
col-span="5" vsize-policy="6" hsize-policy="6"
anchor="0" fill="3" indent="0"
use-parent-layout="false"/>
+ <grid row="16" column="0" row-span="1"
col-span="5" vsize-policy="6" hsize-policy="6"
anchor="0" fill="3" indent="0"
use-parent-layout="false"/>
<forms defaultalign-horz="false"
defaultalign-vert="false"/>
</constraints>
<properties/>
</component>
<component id="dbe5d"
class="javax.swing.JLabel">
<constraints>
- <grid row="20" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="22" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms/>
</constraints>
<properties>
@@ -508,7 +509,7 @@
</component>
<component id="c9835"
class="javax.swing.JLabel">
<constraints>
- <grid row="18" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="20" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms/>
</constraints>
<properties>
@@ -518,7 +519,7 @@
</component>
<component id="922d3"
class="javax.swing.JLabel">
<constraints>
- <grid row="22" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="24" column="0" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms/>
</constraints>
<properties>
@@ -528,7 +529,7 @@
</component>
<component id="32377" class="javax.swing.JButton"
binding="randomGeneratorButton">
<constraints>
- <grid row="24" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="26" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms defaultalign-horz="false"/>
</constraints>
<properties>
@@ -537,7 +538,7 @@
</component>
<component id="513f3" class="javax.swing.JTextField"
binding="maxNodesTextField" default-binding="true">
<constraints>
- <grid row="18" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
+ <grid row="20" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
<forms defaultalign-horz="false"/>
@@ -546,7 +547,7 @@
</component>
<component id="b6c72" class="javax.swing.JTextField"
binding="maxDepthTextField" default-binding="true">
<constraints>
- <grid row="20" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
+ <grid row="22" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
<forms defaultalign-horz="false"/>
@@ -555,7 +556,7 @@
</component>
<component id="3108a" class="javax.swing.JTextField"
binding="numberOfKeysPerTextField" default-binding="true">
<constraints>
- <grid row="22" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
+ <grid row="24" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="6"
anchor="8" fill="1" indent="0"
use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
<forms defaultalign-horz="false"/>
@@ -564,14 +565,14 @@
</component>
<component id="f036"
class="javax.swing.JSeparator">
<constraints>
- <grid row="26" column="0" row-span="1"
col-span="5" vsize-policy="6" hsize-policy="6"
anchor="0" fill="3" indent="0"
use-parent-layout="false"/>
+ <grid row="28" column="0" row-span="1"
col-span="5" vsize-policy="6" hsize-policy="6"
anchor="0" fill="3" indent="0"
use-parent-layout="false"/>
<forms defaultalign-horz="false"
defaultalign-vert="false"/>
</constraints>
<properties/>
</component>
<component id="43cf0" class="javax.swing.JButton"
binding="cacheClearButton">
<constraints>
- <grid row="30" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="32" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms defaultalign-horz="false"/>
</constraints>
<properties>
@@ -580,7 +581,7 @@
</component>
<component id="dae1c"
class="javax.swing.JLabel">
<constraints>
- <grid row="28" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <grid row="30" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="0"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
<forms/>
</constraints>
<properties>
@@ -588,6 +589,15 @@
<text value="Clear cache"/>
</properties>
</component>
+ <component id="41b43"
class="javax.swing.JRadioButton" binding="getNodeRadioButton"
default-binding="true">
+ <constraints>
+ <grid row="12" column="2" row-span="1"
col-span="1" vsize-policy="0" hsize-policy="3"
anchor="8" fill="0" indent="0"
use-parent-layout="false"/>
+ <forms/>
+ </constraints>
+ <properties>
+ <text value="Get &Node"/>
+ </properties>
+ </component>
</children>
</grid>
</children>
@@ -622,6 +632,7 @@
<member id="e9453"/>
<member id="f9bf"/>
<member id="f2b07"/>
+ <member id="41b43"/>
</group>
</buttonGroups>
</form>
Modified:
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java
===================================================================
---
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java 2008-01-07
02:43:18 UTC (rev 5029)
+++
demos/core-demo-gui/trunk/src/main/java/org/jboss/cache/demo/JBossCacheDemo.java 2008-01-07
11:57:26 UTC (rev 5030)
@@ -3,56 +3,50 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.cache.Cache;
+import org.jboss.cache.CacheSPI;
import org.jboss.cache.CacheStatus;
import static org.jboss.cache.CacheStatus.*;
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
-import org.jboss.cache.CacheSPI;
import org.jboss.cache.Node;
+import org.jboss.cache.notifications.annotation.BuddyGroupChanged;
import org.jboss.cache.notifications.annotation.NodeCreated;
import org.jboss.cache.notifications.annotation.NodeRemoved;
import org.jboss.cache.notifications.annotation.ViewChanged;
-import org.jboss.cache.notifications.annotation.BuddyGroupChanged;
+import org.jboss.cache.notifications.event.BuddyGroupChangedEvent;
import org.jboss.cache.notifications.event.NodeCreatedEvent;
import org.jboss.cache.notifications.event.NodeRemovedEvent;
import org.jboss.cache.notifications.event.ViewChangedEvent;
-import org.jboss.cache.notifications.event.BuddyGroupChangedEvent;
import org.jgroups.Address;
import javax.swing.*;
-import javax.swing.border.TitledBorder;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.tree.TreePath;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.awt.*;
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.URL;
+import java.text.NumberFormat;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;
-import java.util.Date;
-import java.util.Collections;
+import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.BlockingQueue;
-import java.text.NumberFormat;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.InputStreamReader;
-import java.io.BufferedReader;
-import com.jgoodies.forms.layout.FormLayout;
-import com.jgoodies.forms.layout.CellConstraints;
-
/**
* @author Manik Surtani (<a
href="mailto:manik@jboss.org">manik@jboss.org</a>)
*/
@@ -94,6 +88,7 @@
private JLabel statsSizeOfCachedData;
private JLabel statsLastUpdated;
private JTextArea configFileContents;
+ private JRadioButton getNodeRadioButton;
private String cacheConfigFile;
private Cache<String, String> cache;
private String startCacheButtonLabel = "Start Cache", stopCacheButtonLabel =
"Stop Cache";
@@ -104,6 +99,7 @@
private NodeDataTableModel nodeDataTableModel;
private DataTreeRefresher treeRefresher;
private Random r = new Random();
+ private boolean isUsingBuddyReplication;
public static void main(String[] args)
{
@@ -119,7 +115,7 @@
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
- frame.setResizable(false);
+ frame.setResizable(true);
}
public JBossCacheDemo(String cfgFileName)
@@ -173,26 +169,32 @@
if (createNodeRadioButton.isSelected())
{
cache.put(fqnTextField.getText(), keyTextField.getText(),
valueTextField.getText());
-// treeRefresher.addNode(Fqn.fromString(fqnTextField.getText()));
}
else if (removeNodeRadioButton.isSelected())
{
cache.removeNode(fqnTextField.getText());
-// treeRefresher.removeNode(Fqn.fromString(fqnTextField.getText()));
}
else if (addKeyRadioButton.isSelected())
{
cache.put(fqnTextField.getText(), keyTextField.getText(),
valueTextField.getText());
-// treeRefresher.updateNode(Fqn.fromString(fqnTextField.getText()));
}
else if (removeKeyRadioButton.isSelected())
{
cache.remove(fqnTextField.getText(), keyTextField.getText());
-// treeRefresher.updateNode(Fqn.fromString(fqnTextField.getText()));
}
+ else if (getNodeRadioButton.isSelected())
+ {
+ // do a cache.get on the Fqn first, this may involve a data
gravitation
+ // only do this if BR is enabled as it may involve a data
gravitation event
+ if (isUsingBuddyReplication)
+
cache.getInvocationContext().getOptionOverrides().setForceDataGravitation(true);
+ cache.getNode(fqnTextField.getText());
+ }
treeRefresher.repaint();
dataViewTab.repaint();
processAction(goButton, false);
+ // now switch to the data pane
+ mainPane.setSelectedIndex(1);
}
});
}
@@ -233,6 +235,16 @@
valueTextField.setEnabled(true);
}
});
+ getNodeRadioButton.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ fqnTextField.setEnabled(true);
+ keyTextField.setEnabled(false);
+ valueTextField.setEnabled(false);
+ }
+ });
+
dataTree.addTreeSelectionListener(new TreeSelectionListener()
{
public void valueChanged(TreeSelectionEvent e)
@@ -243,7 +255,8 @@
if (!f.equals(nodeDataTableModel.getCurrentFqn()))
{
nodeDataTableModel.setCurrentFqn(f);
- nodeDataTableModel.setData(cache.getNode(f).getData());
+ Node n = cache.getNode(f);
+ if (n != null) nodeDataTableModel.setData(n.getData());
}
}
});
@@ -304,6 +317,8 @@
}
processAction(randomGeneratorButton, false);
+ // now switch to the data pane
+ mainPane.setSelectedIndex(1);
}
});
}
@@ -335,6 +350,8 @@
cache.removeNode(Fqn.ROOT);
cache.getRoot().clearData();
processAction(cacheClearButton, false);
+ // now switch to the data pane
+ mainPane.setSelectedIndex(1);
}
});
}
@@ -471,7 +488,7 @@
try
{
configFileContents.setText(readContents(resource == null ? new
FileInputStream(cacheConfigFile) : resource.openStream()));
- configFileContents.setEditable(false);
+ configFileContents.setEditable(false);
}
catch (Exception e)
{
@@ -480,6 +497,7 @@
configFileContents.repaint();
cache = new DefaultCacheFactory().createCache(cacheConfigFile);
+ isUsingBuddyReplication =
cache.getConfiguration().getBuddyReplicationConfig() != null &&
cache.getConfiguration().getBuddyReplicationConfig().isEnabled();
}
else
{
@@ -603,12 +621,10 @@
this.members.addAll(members);
}
- CacheSPI spi = (CacheSPI) cache;
-
List<Address> buddies = Collections.emptyList();
- if (spi.getBuddyManager() != null)
+ if (isUsingBuddyReplication)
{
- buddies = spi.getBuddyManager().getBuddyAddresses();
+ buddies = ((CacheSPI) cache).getBuddyManager().getBuddyAddresses();
log.debug("Buddy addresses: " + buddies);
}