Source code: org/altara/mars/swingui/ChangeListRenderer.java
1 /* MARS Network Monitor Swing User Interface
2 Copyright (C) 1999 Brian H. Trammell
3 Copyright (C) 2002 Leapfrog Research & Development, LLC
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, it is available at
17 http:///www.gnu.org/copyleft/gpl.html, or by writing to the
18 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.
20 */
21
22 package org.altara.mars.swingui;
23
24 import org.altara.mars.*;
25 import org.altara.mars.engine.*;
26 import java.util.*;
27 import java.text.*;
28 import java.awt.*;
29 import java.awt.event.*;
30 import javax.swing.*;
31 import javax.swing.tree.*;
32 import javax.swing.event.*;
33
34 /** Renders status change events in the changeList.
35 */
36
37 public class ChangeListRenderer extends MarsAbstractRenderer {
38
39 private DateFormat df;
40
41 public ChangeListRenderer() {
42 super();
43 df = DateFormat.getTimeInstance(DateFormat.LONG);
44 }
45
46 protected Icon getIconForValue(Object value) {
47 // Change list entries are StatusChangeEvents; for the purposes
48 // of finding an icon, we're only interested in the new status.
49 return getIconForStatus(((StatusChangeEvent)value).getNewStatus());
50 }
51
52 protected String getStringForValue(Object value) {
53 // Change list entries are displayed much like fault list entries -
54 // but we care about the service and its new status.
55 Service service = ((StatusChangeEvent)value).getService();
56 Status status = ((StatusChangeEvent)value).getNewStatus();
57 Host host = service.getHost();
58
59 return service.getName()+" on "+host.getName()+
60 ":"+service.getPort()+": "+status.toString()+
61 " at "+df.format(new Date(status.getTimestamp()));
62 }
63 }