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]

Reply via email to