psmith      2003/09/08 20:03:32

  Modified:    src/java/org/apache/log4j/chainsaw DisplayFilterEntry.java
                        DetailFieldSelector.java ColorFilter.java
                        LogUI.java ColumnSelector.java DisplayFilter.java
  Log:
  A large number of changes because of the move to the new Rule
  structure.
  
  Some code has been deprecated as an effort to tag which
  code needs either reworking or replacement because of this change.
  
  The Logger Tree panel now has a working implementation of the
  "Focus On" principle, allowing temporary/quick view filtering
  based on the focused on Logger and it's children.
  
  The other filtering mechanisms have not been hooked up at this time.
  
  Colouring is still not in operation.
  
  Revision  Changes    Path
  1.2       +2 -0      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/DisplayFilterEntry.java
  
  Index: DisplayFilterEntry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/DisplayFilterEntry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DisplayFilterEntry.java   25 Jun 2003 04:05:22 -0000      1.1
  +++ DisplayFilterEntry.java   9 Sep 2003 03:03:32 -0000       1.2
  @@ -56,6 +56,8 @@
    * value and level and returns the display value (true or false).
    *
    * @author Scott Deboy <[EMAIL PROTECTED]>
  + * 
  + * @deprecated The new Rule structure replaces this class
    */
   
   class DisplayFilterEntry implements Serializable {
  
  
  
  1.2       +1 -0      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/DetailFieldSelector.java
  
  Index: DetailFieldSelector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/DetailFieldSelector.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DetailFieldSelector.java  25 Jun 2003 04:05:21 -0000      1.1
  +++ DetailFieldSelector.java  9 Sep 2003 03:03:32 -0000       1.2
  @@ -71,6 +71,7 @@
    * to include in the Detail Panel, or tooltip text when displaying a
    * particular selected LoggingEvent.
    *
  + * @deprecated  
    * @author Scott Deboy <[EMAIL PROTECTED]>
    *
    */
  
  
  
  1.3       +3 -0      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ColorFilter.java
  
  Index: ColorFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ColorFilter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ColorFilter.java  3 Sep 2003 05:47:27 -0000       1.2
  +++ ColorFilter.java  9 Sep 2003 03:03:32 -0000       1.3
  @@ -67,6 +67,9 @@
    * multiple filters, as long as the regexp is unique.
    *
    * @author Scott Deboy <[EMAIL PROTECTED]>
  + * 
  + * @deprecated The new Rule structure replaces this class
  + * 
    */
   public class ColorFilter {
     private Vector filterListeners = new Vector();
  
  
  
  1.23      +67 -55    jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java
  
  Index: LogUI.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogUI.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- LogUI.java        5 Sep 2003 06:08:42 -0000       1.22
  +++ LogUI.java        9 Sep 2003 03:03:32 -0000       1.23
  @@ -63,6 +63,7 @@
   import org.apache.log4j.chainsaw.prefs.SaveSettingsEvent;
   import org.apache.log4j.chainsaw.prefs.SettingsListener;
   import org.apache.log4j.chainsaw.prefs.SettingsManager;
  +import org.apache.log4j.chainsaw.rule.AbstractRule;
   import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.helpers.OptionConverter;
   import org.apache.log4j.net.SocketNodeEventListener;
  @@ -1194,7 +1195,7 @@
       EventBatchListener {
       private boolean paused = false;
       final ColorFilter colorFilter = new ColorFilter();
  -    final DisplayFilter displayFilter;
  +    private final RuleMediator ruleMediator = new RuleMediator();
       final EventContainer tableModel;
       final JEditorPane detail;
       final JSplitPane lowerPanel;
  @@ -1211,7 +1212,7 @@
       final Map columnDisplayMap = new HashMap();
       final Map colorDisplayMap = new HashMap();
       final Set loggerSet = new HashSet();
  -    final ColorDisplaySelector colorDisplaySelector;
  +//    final ColorDisplaySelector colorDisplaySelector;
       Set MDCSet = new HashSet();
       Set NDCSet = new HashSet();
       Set threadSet = new HashSet();
  @@ -1230,6 +1231,7 @@
       Point currentPoint;
       private final JSplitPane nameTreeAndMainPanelSplit;
       private final LoggerNameTreePanel logTreePanel;
  +     private boolean tooltipsEnabled;
   
       public LogPanel(final String ident, String eventType) {
         identifier = ident;
  @@ -1279,8 +1281,33 @@
   
         // ==========================================
         tableModel.addLoggerNameListener(logTreeModel);
  +      
  +      /**
  +       * Set the Display rule to use the mediator, the model will add itself as a 
property
  +       * change listener and update itself when the rule changes.
  +       */
  +      tableModel.setDisplayRule(ruleMediator);
  +      
         logTreePanel = new LoggerNameTreePanel(logTreeModel);
   
  +     /**
  +      * We listen for when the FocusOn action changes, and then ensure the 
Refinement filter is set
  +      * accordingly.
  +      */
  +       logTreePanel.addFocusOnPropertyChangeListener( new PropertyChangeListener(){
  +
  +             public void propertyChange(PropertyChangeEvent evt) {
  +                     if(logTreePanel.isFocusOnSelected()){
  +                             final String loggerName = 
logTreePanel.getCurrentlySelectedLoggerName();
  +                             ruleMediator.setRefinementRule(new AbstractRule(){
  +
  +                                     public boolean evaluate(LoggingEvent e) {
  +                                             return 
e.getLoggerName().startsWith(loggerName);
  +                                     }});
  +                     } else {
  +                             ruleMediator.setRefinementRule(null);
  +                     }
  +             }});
         levelSet = new HashSet((List) levelMap.get(eventType));
   
         map.put(ChainsawConstants.LEVEL_COL_NAME, levelSet);
  @@ -1295,9 +1322,11 @@
         map.put(ChainsawConstants.NONE_COL_NAME, noneSet);
   
         setLayout(new BorderLayout());
  -      displayFilter = loadDisplayFilter(ident);
  -      tableModel.setDisplayFilter(displayFilter);
  -      displayFilter.addFilterChangedListener(tableModel);
  +      
  +//      TODO reload new Display rule for this panel
  +//      displayFilter = loadDisplayFilter(ident);
  +//      tableModel.setDisplayRule(displayFilter);
  +//      displayFilter.addFilterChangedListener(tableModel);
   
         scrollMap.put(ident, scrollToBottom);
   
  @@ -1319,17 +1348,12 @@
             }
           });
   
  -      final DetailFieldSelector detailFieldSelector =
  -        new DetailFieldSelector(
  -          ident, new Vector(ChainsawColumns.getColumnsNames()), displayFilter);
  -
         final ColumnSelector columnSelector =
           new ColumnSelector(
  -          ident, new Vector(ChainsawColumns.getColumnsNames()), table,
  -          displayFilter);
  +          ident, new Vector(ChainsawColumns.getColumnsNames()), table);
         table.getColumnModel().addColumnModelListener(columnSelector);
  +      
         columnSelector.setIconImage(getIconImage());
  -      detailFieldSelector.setIconImage(getIconImage());
   
         JMenu menuColumnDisplayFilter =
           new JMenu("Apply display filter for column");
  @@ -1352,8 +1376,8 @@
                   lastSelected = tableModel.getRow(table.getSelectedRow());
                 }
   
  -              colorDisplaySelector.applyColorUpdateForColumn(colName);
  -              colorDisplaySelector.applyColorFilters(colName);
  +//              colorDisplaySelector.applyColorUpdateForColumn(colName);
  +//              colorDisplaySelector.applyColorFilters(colName);
   
                 if (lastSelected != null) {
                   int newIndex = tableModel.getRowIndex(lastSelected);
  @@ -1387,8 +1411,8 @@
                   lastSelected = tableModel.getRow(table.getSelectedRow());
                 }
   
  -              colorDisplaySelector.applyDisplayUpdateForColumn(colName);
  -              colorDisplaySelector.applyDisplayFilters(colName);
  +//              colorDisplaySelector.applyDisplayUpdateForColumn(colName);
  +//              colorDisplaySelector.applyDisplayFilters(colName);
   
                 if (lastSelected != null) {
                   int newIndex = tableModel.getRowIndex(lastSelected);
  @@ -1406,14 +1430,6 @@
           columnDisplayMap.put(colName, thisItem);
         }
   
  -      colorDisplaySelector =
  -        new ColorDisplaySelector(
  -          ident, map, colorFilter, displayFilter, colorDisplayMap,
  -          columnDisplayMap, ChainsawColumns.getColumnsNames(),
  -          filterableColumns, (List) levelMap.get(eventType));
  -      colorDisplaySelector.setIconImage(
  -        ((ImageIcon) ChainsawIcons.ICON_PREFERENCES).getImage());
  -
         table.addMouseMotionListener(
           new MouseMotionAdapter() {
             int currentRow = -1;
  @@ -1421,7 +1437,8 @@
             public void mouseMoved(MouseEvent evt) {
               currentPoint = evt.getPoint();
   
  -            if (displayFilter.isToolTipsEnabled()) {
  +//                   TODO refactor so that LogPanel itself knows if Tooltips are 
enabled
  +            if (false) {
                 int row = table.rowAtPoint(evt.getPoint());
   
                 if ((row == currentRow) || (row == -1)) {
  @@ -1485,15 +1502,17 @@
             }
   
             public void setFilter() {
  +             LogLog.warn("setFilter() is not re-implemented in terms of the new 
Display rule yet");
  +//           TODO Display rule stuff
               if (filterText.getText().equals("")) {
  -              displayFilter.setCustomFilter(null);
  +//              displayFilter.setCustomFilter(null);
               } else {
  -              detailPaneUpdater.setSelectedRow(-1);
  -
  -              displayFilter.setCustomFilter(
  -                new DisplayFilterEntry(
  -                  (String) customFilterList.getSelectedItem(),
  -                  filterText.getText(), ChainsawConstants.GLOBAL_MATCH));
  +//              detailPaneUpdater.setSelectedRow(-1);
  +//
  +//              displayFilter.setCustomFilter(
  +//                new DisplayFilterEntry(
  +//                  (String) customFilterList.getSelectedItem(),
  +//                  filterText.getText(), ChainsawConstants.GLOBAL_MATCH));
               }
             }
           });
  @@ -1511,10 +1530,12 @@
           new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
               if (!(filterText.getText().equals(""))) {
  -              displayFilter.setCustomFilter(
  -                new DisplayFilterEntry(
  -                  (String) customFilterList.getSelectedItem(),
  -                  filterText.getText(), ChainsawConstants.GLOBAL_MATCH));
  +             
  +//                   TODO more Rule implementation here.
  +//              displayFilter.setCustomFilter(
  +//                new DisplayFilterEntry(
  +//                  (String) customFilterList.getSelectedItem(),
  +//                  filterText.getText(), ChainsawConstants.GLOBAL_MATCH));
               }
             }
           });
  @@ -1532,7 +1553,7 @@
                 lastSelected = tableModel.getRow(table.getSelectedRow());
               }
   
  -            displayFilter.setCustomFilterOverride(override.isSelected());
  +//            displayFilter.setCustomFilterOverride(override.isSelected());
   
               if (lastSelected != null) {
                 int newIndex = tableModel.getRowIndex(lastSelected);
  @@ -1831,11 +1852,11 @@
   
         final JCheckBoxMenuItem menuItemToggleToolTips =
           new JCheckBoxMenuItem(
  -          "Show ToolTips", displayFilter.isToolTipsEnabled());
  +          "Show ToolTips", tooltipsEnabled);
         menuItemToggleToolTips.addActionListener(
           new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
  -            displayFilter.enableToolTips(menuItemToggleToolTips.isSelected());
  +            tooltipsEnabled = menuItemToggleToolTips.isSelected();
             }
           });
         menuItemToggleToolTips.setIcon(new ImageIcon(ChainsawIcons.TOOL_TIP));
  @@ -1885,20 +1906,11 @@
         menuItemRemoveColorFilter.addActionListener(
           new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
  -            colorDisplaySelector.clearColors();
  +//            colorDisplaySelector.clearColors();
               colorFilter.clear();
             }
           });
   
  -      JMenuItem menuItemDetailFieldSelector =
  -        new JMenuItem("Select tooltip/detail columns...");
  -      menuItemDetailFieldSelector.addActionListener(
  -        new ActionListener() {
  -          public void actionPerformed(ActionEvent evt) {
  -            detailFieldSelector.show();
  -          }
  -        });
  -
         JMenuItem menuItemColumnSelector =
           new JMenuItem("Select display columns...");
         menuItemColumnSelector.addActionListener(
  @@ -1913,8 +1925,8 @@
         menuItemRemoveDisplayFilter.addActionListener(
           new ActionListener() {
             public void actionPerformed(ActionEvent evt) {
  -            colorDisplaySelector.clearDisplay();
  -            displayFilter.clear();
  +//            colorDisplaySelector.clearDisplay();
  +            tableModel.setDisplayRule(null);
             }
           });
   
  @@ -1968,7 +1980,6 @@
         JMenu selectSubMenu = new JMenu("Select");
   
         selectSubMenu.add(menuItemColumnSelector);
  -      selectSubMenu.add(menuItemDetailFieldSelector);
   
         removeSubMenu.add(menuItemRemoveColorFilter);
         removeSubMenu.add(menuItemRemoveDisplayFilter);
  @@ -2070,7 +2081,7 @@
       }
   
       void showPreferences() {
  -      colorDisplaySelector.show();
  +//      colorDisplaySelector.show();
       }
   
       TableModel getModel() {
  @@ -2219,8 +2230,9 @@
   
       public void saveSettings() {
         saveColumnSettings(identifier, table.getColumnModel());
  -      colorDisplaySelector.save();
  -      displayFilter.save();
  +//      colorDisplaySelector.save();
  +//      TODO save display rule settings
  +//      displayFilter.save();
       }
   
       public void saveSettings(SaveSettingsEvent event) {
  
  
  
  1.2       +1 -4      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ColumnSelector.java
  
  Index: ColumnSelector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ColumnSelector.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ColumnSelector.java       25 Jun 2003 04:05:21 -0000      1.1
  +++ ColumnSelector.java       9 Sep 2003 03:03:32 -0000       1.2
  @@ -78,7 +78,6 @@
    */
   public class ColumnSelector extends JFrame implements TableColumnModelListener {
     private final JSortTable sortTable;
  -  private final DisplayFilter displayFilter;
     private Vector checkBoxes=new Vector();
     private List columnNames = ChainsawColumns.getColumnsNames();
   
  @@ -89,11 +88,9 @@
    * 
    */
     public ColumnSelector(String ident,
  -    final Vector columnNames, final JSortTable sortTable,
  -    final DisplayFilter displayFilter) {
  +    final Vector columnNames, final JSortTable sortTable) {
        super("Select displayed columns for " + ident);
       this.sortTable = sortTable;
  -    this.displayFilter = displayFilter;
       setLocation(150, 150);
   
       JPanel columnPanel = new JPanel(new GridLayout(0, 1));
  
  
  
  1.3       +2 -0      
jakarta-log4j/src/java/org/apache/log4j/chainsaw/DisplayFilter.java
  
  Index: DisplayFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/DisplayFilter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DisplayFilter.java        9 Jul 2003 06:10:01 -0000       1.2
  +++ DisplayFilter.java        9 Sep 2003 03:03:32 -0000       1.3
  @@ -76,6 +76,8 @@
    * multiple filters, as long as the regexp is unique.
    *
    * @author Scott Deboy <[EMAIL PROTECTED]>
  + * 
  + * @deprecated The new Rule structure replaces this class
    */
   public class DisplayFilter implements Serializable {
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to