psmith 2003/06/22 20:49:03
Modified: src/java/org/apache/log4j/chainsaw
ReceiverTreeCellRenderer.java
Log:
Removed the internal Formatter interface and chain as it was
getting hard to manage. Once the Tree is more stable, will consider
revisting it, but for now the if/else logic isn't too complex.
Revision Changes Path
1.5 +37 -99
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiverTreeCellRenderer.java
Index: ReceiverTreeCellRenderer.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiverTreeCellRenderer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ReceiverTreeCellRenderer.java 23 Jun 2003 02:55:16 -0000 1.4
+++ ReceiverTreeCellRenderer.java 23 Jun 2003 03:49:03 -0000 1.5
@@ -57,10 +57,6 @@
import java.awt.Component;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JTree;
@@ -80,57 +76,9 @@
private Icon inactiveReceiverIcon =
new ImageIcon(ChainsawIcons.ICON_INACTIVE_RECEIVER);
private Icon rootIcon = new ImageIcon(ChainsawIcons.ANIM_NET_CONNECT);
- private FormatterChain chain;
public ReceiverTreeCellRenderer() {
super();
- chain = new FormatterChain();
- chain.add(
- new Formatter() {
- public String formatDetail(Object o) {
- if (!(o instanceof NetworkBased)) {
- return null;
- }
-
- NetworkBased networkBased = (NetworkBased) o;
-
- StringBuffer buf = new StringBuffer(networkBased.getName());
-
- if (o instanceof AddressBased) {
- buf.append("::").append(((AddressBased) o).getAddress());
- }
-
- if (o instanceof PortBased) {
- PortBased portBased = (PortBased) o;
-
- buf.append("::").append(portBased.getPort());
- }
-
- buf.append(" ").append("(")
- .append(networkBased.isActive() ? "running" : "inactive").append(
- ")");
-
- return buf.toString();
- }
- });
-
- chain.add(
- new Formatter() {
- public String formatDetail(Object o) {
- if (o == ReceiversTreeModel.NoReceiversNode.getUserObject()) {
- return o.toString();
- }
-
- return null;
- }
- });
-
- chain.add(
- new Formatter() {
- public String formatDetail(Object o) {
- return "(Unknown Type) :: " + o;
- }
- });
}
public Component getTreeCellRendererComponent(
@@ -140,67 +88,57 @@
tree, value, selected, expanded, leaf, row, hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
- Object obj = node.getUserObject();
- setText(obj.toString());
+ Object o = node.getUserObject();
+ setText(o.toString());
- if (tree.getModel().getRoot().equals(value)) {
- setIcon(rootIcon);
- } else {
- setText(chain.formatDetail(obj));
- }
+ /**
+ * Deal with Text
+ */
+ if ((o instanceof NetworkBased)) {
+ NetworkBased networkBased = (NetworkBased) o;
- if (obj instanceof NetworkBased) {
- NetworkBased networkBased = (NetworkBased) obj;
+ StringBuffer buf = new StringBuffer(networkBased.getName());
- if (networkBased.isActive()) {
- if ((obj instanceof Pauseable) && !((Pauseable) obj).isPaused()) {
- setIcon(activeReceiverIcon);
- } else {
- setIcon(inactiveReceiverIcon);
- }
- } else {
+ if (o instanceof AddressBased) {
+ buf.append("::").append(((AddressBased) o).getAddress());
}
- } else if (obj == ReceiversTreeModel.NoReceiversNode.getUserObject()) {
- setIcon(null);
- }
- return this;
- }
+ if (o instanceof PortBased) {
+ PortBased portBased = (PortBased) o;
- private static interface Formatter {
- /**
- * Returns a formatted string for the receiver or null if it cannot.
- * @param receiver
- * @return
- */
- public String formatDetail(Object networkBased);
- }
+ buf.append("::").append(portBased.getPort());
+ }
- private static class FormatterChain implements Formatter {
- private Collection collection = new ArrayList();
+ buf.append(" ").append("(")
+ .append(networkBased.isActive() ? "running" : "inactive").append(")");
- /**
- * @param formatter
- */
- public void add(Formatter formatter) {
- collection.add(formatter);
+ setText(buf.toString());
+ } else if (
+ o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
+ setText(o.toString());
+ } else {
+ setText("(Unknown Type) :: " + o);
}
- /* (non-Javadoc)
- * @see
org.apache.log4j.chainsaw.ChainsawToolBarAndMenus.ReceiverTreeCellRenderer.ReceiverFormatter#formatDetail(org.apache.log4j.plugins.Receiver)
+ /**
+ * Now deal with Icon
*/
- public String formatDetail(Object receiver) {
- for (Iterator iter = collection.iterator(); iter.hasNext();) {
- ReceiverTreeCellRenderer.Formatter item =
- (ReceiverTreeCellRenderer.Formatter) iter.next();
- String detail = item.formatDetail(receiver);
+ if (o instanceof NetworkBased) {
+ NetworkBased networkBased = (NetworkBased) o;
- if (detail != null) {
- return detail;
+ if (networkBased.isActive()) {
+ if ((o instanceof Pauseable) && !((Pauseable) o).isPaused()) {
+ setIcon(activeReceiverIcon);
+ } else {
+ setIcon(inactiveReceiverIcon);
}
+ } else {
}
-
- return null;
+ } else if (
+ o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
+ setIcon(rootIcon);
}
+
+ return this;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]