View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.log4j.lf5.viewer;
18  
19  import java.awt.Color;
20  import java.awt.Component;
21  
22  import javax.swing.JTable;
23  import javax.swing.table.DefaultTableCellRenderer;
24  
25  import org.apache.log4j.lf5.LogLevel;
26  import org.apache.log4j.lf5.LogRecord;
27  
28  /**
29   * LogTableRowRenderer
30   *
31   * @author Michael J. Sikorsky
32   * @author Robert Shaw
33   * @author Brad Marlborough
34   */
35  
36  // Contributed by ThoughtWorks Inc.
37  
38  public class LogTableRowRenderer extends DefaultTableCellRenderer {
39    private static final long serialVersionUID = -3951639953706443213L;
40    //--------------------------------------------------------------------------
41    //   Constants:
42    //--------------------------------------------------------------------------
43  
44    //--------------------------------------------------------------------------
45    //   Protected Variables:
46    //--------------------------------------------------------------------------
47    protected boolean _highlightFatal = true;
48    protected Color _color = new Color(230, 230, 230);
49  
50    //--------------------------------------------------------------------------
51    //   Private Variables:
52    //--------------------------------------------------------------------------
53  
54    //--------------------------------------------------------------------------
55    //   Constructors:
56    //--------------------------------------------------------------------------
57  
58    //--------------------------------------------------------------------------
59    //   Public Methods:
60    //--------------------------------------------------------------------------
61  
62    public Component getTableCellRendererComponent(JTable table,
63        Object value,
64        boolean isSelected,
65        boolean hasFocus,
66        int row,
67        int col) {
68  
69      if ((row % 2) == 0) {
70        setBackground(_color);
71      } else {
72        setBackground(Color.white);
73      }
74  
75      FilteredLogTableModel model = (FilteredLogTableModel) table.getModel();
76      LogRecord record = model.getFilteredRecord(row);
77  
78      setForeground(getLogLevelColor(record.getLevel()));
79  
80      return (super.getTableCellRendererComponent(table,
81          value,
82          isSelected,
83          hasFocus,
84          row, col));
85    }
86  
87  
88    //--------------------------------------------------------------------------
89    //   Protected Methods:
90    //--------------------------------------------------------------------------
91    protected Color getLogLevelColor(LogLevel level) {
92      return (Color) LogLevel.getLogLevelColorMap().get(level);
93    }
94  
95    //--------------------------------------------------------------------------
96    //   Private Methods:
97    //--------------------------------------------------------------------------
98  
99    //--------------------------------------------------------------------------
100   //   Nested Top-Level Classes or Interfaces:
101   //--------------------------------------------------------------------------
102 
103 }
104 
105 
106 
107 
108 
109