Author: sdeboy
Date: Tue Oct 13 05:24:36 2009
New Revision: 824592
URL: http://svn.apache.org/viewvc?rev=824592&view=rev
Log:
Chainsaw UI updates
- increase receiver panel tree and table row heights, add scroll pane around
receivers table
- require non-blank name field when creating or editing receiver configuration
- modify receivers jtree cell cell rendering logic so preferred size is wider
VFSLogFilePatternReceiver
- if null fileURL is provided, log instead of throw NPE
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
URL:
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java?rev=824592&r1=824591&r2=824592&view=diff
==============================================================================
---
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
(original)
+++
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
Tue Oct 13 05:24:36 2009
@@ -84,7 +84,7 @@
*
*/
private void initComponents() {
- setPreferredSize(new Dimension(160, 120));
+ propertyTable.setRowHeight(19);
setLayout(new BorderLayout());
scrollPane.setViewportView(propertyTable);
@@ -348,6 +348,10 @@
if (columnIndex == 1) {
+ if
(descriptors[rowIndex].getName().toLowerCase().equals("name") && aValue == null
|| aValue.toString().trim().equals("")) {
+ logger.error("Name required");
+ return;
+ }
aValue = translateValueIfNeeded(rowIndex, aValue);
logger.debug(
"setValueAt, " + rowIndex + ", " + columnIndex +
@@ -370,7 +374,7 @@
}
/**
- * @param columnIndex
+ * @param row
* @param value
* @return
*/
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
URL:
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java?rev=824592&r1=824591&r2=824592&view=diff
==============================================================================
---
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
(original)
+++
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
Tue Oct 13 05:24:36 2009
@@ -17,14 +17,9 @@
package org.apache.log4j.chainsaw.receivers;
-import java.awt.BorderLayout;
-import java.awt.Component;
+import java.awt.*;
-import javax.swing.Icon;
-import javax.swing.ImageIcon;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTree;
+import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
@@ -48,10 +43,13 @@
public ReceiverTreeCellRenderer() {
super();
+ BoxLayout layout = new BoxLayout(panel, BoxLayout.X_AXIS);
+ panel.setLayout(layout);
panel.setOpaque(false);
- panel.setLayout(new BorderLayout());
- panel.add(this, BorderLayout.CENTER);
- panel.add(levelLabel, BorderLayout.EAST);
+ panel.add(levelLabel);
+ //set preferredsize to something wide
+ setPreferredSize(new Dimension(200, 19));
+ panel.add(this);
}
public Component getTreeCellRendererComponent(
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
URL:
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java?rev=824592&r1=824591&r2=824592&view=diff
==============================================================================
---
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
(original)
+++
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
Tue Oct 13 05:24:36 2009
@@ -17,9 +17,7 @@
package org.apache.log4j.chainsaw.receivers;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Container;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
@@ -375,6 +373,7 @@
receiversTree.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
receiversTree.setCellRenderer(new ReceiverTreeCellRenderer());
+ receiversTree.setRowHeight(19);
buttonPanel = new ReceiverToolbar();
receiversTree.addTreeSelectionListener(buttonPanel);
@@ -763,11 +762,15 @@
panel.getOkPanel().getOkButton().addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e2) {
- dialog.dispose();
Plugin plugin = panel.getPlugin();
- pluginRegistry.addPlugin(plugin);
- plugin.activateOptions();
- MessageCenter.getInstance().addMessage("Plugin '" +
plugin.getName() + "' started");
+ if (plugin.getName() != null &&
!plugin.getName().trim().equals("")) {
+ dialog.dispose();
+ pluginRegistry.addPlugin(plugin);
+ plugin.activateOptions();
+ MessageCenter.getInstance().addMessage("Plugin '"
+ plugin.getName() + "' started");
+ } else {
+
MessageCenter.getInstance().getLogger().error("Name required to create
receiver");
+ }
}
});
dialog.setVisible(true);
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
URL:
http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java?rev=824592&r1=824591&r2=824592&view=diff
==============================================================================
---
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
(original)
+++
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
Tue Oct 13 05:24:36 2009
@@ -303,18 +303,22 @@
}}).start();
} else {
String oldURL = getFileURL();
- int index = oldURL.indexOf("://");
- String lastPart = oldURL.substring(index + "://".length());
- int passEndIndex = lastPart.indexOf("@");
- if (passEndIndex > -1) { //we have a username/password
- int passBeginIndex = lastPart.indexOf(":");
-// String userName = lastPart.substring(0, passBeginIndex);
- password = lastPart.substring(passBeginIndex + 1, passEndIndex);
- setHost(oldURL.substring(0, index + "://".length()));
- setPath(lastPart.substring(passEndIndex + 1));
- }
- vfsReader = new VFSReader();
- new Thread(vfsReader).start();
+ if (oldURL != null) {
+ int index = oldURL.indexOf("://");
+ String lastPart = oldURL.substring(index + "://".length());
+ int passEndIndex = lastPart.indexOf("@");
+ if (passEndIndex > -1) { //we have a username/password
+ int passBeginIndex = lastPart.indexOf(":");
+ // String userName = lastPart.substring(0, passBeginIndex);
+ password = lastPart.substring(passBeginIndex + 1,
passEndIndex);
+ setHost(oldURL.substring(0, index + "://".length()));
+ setPath(lastPart.substring(passEndIndex + 1));
+ }
+ vfsReader = new VFSReader();
+ new Thread(vfsReader).start();
+ } else {
+ getLogger().info("null URL - unable to parse file");
+ }
}
}