psmith 2003/12/22 13:44:00 Modified: src/java/org/apache/log4j/chainsaw/receivers PluginPropertyEditorPanel.java Log: Smartened up the logic for determing the correct editor to display within the property editor sheet. This was most notable when the Threshold for a particular plugin was null, and so it thought it was a string. Revision Changes Path 1.3 +13 -4 jakarta-log4j/src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java Index: PluginPropertyEditorPanel.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- PluginPropertyEditorPanel.java 19 Dec 2003 03:21:36 -0000 1.2 +++ PluginPropertyEditorPanel.java 22 Dec 2003 21:44:00 -0000 1.3 @@ -237,11 +237,14 @@ public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - if (editorMap.containsKey(value.getClass())) { + PluginPropertyTableModel model = (PluginPropertyTableModel) table.getModel(); + PropertyDescriptor descriptor = model.getDescriptors()[row]; + Class valueClass = descriptor.getPropertyType(); + if (editorMap.containsKey(valueClass)) { DefaultCellEditor editor = - (DefaultCellEditor) editorMap.get(value.getClass()); - LogLog.debug("Located CellEditor for " + value.getClass()); + (DefaultCellEditor) editorMap.get(valueClass); + LogLog.debug("Located CellEditor for " + valueClass); currentEditor = editor; return currentEditor.getTableCellEditorComponent(table, value, @@ -249,7 +252,7 @@ } currentEditor = defaultEditor; - LogLog.debug("Cell value class " + value.getClass() + + LogLog.debug("Cell value class " + valueClass + " not know, using default editor"); return defaultEditor.getTableCellEditorComponent(table, value, @@ -415,6 +418,12 @@ } return value; + } + /** + * @return Returns the descriptors. + */ + public final PropertyDescriptor[] getDescriptors() { + return descriptors; } } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]