ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/uk/org/iscream/cms/conient/datacomponents/ServiceDataComponent.java
(Generate patch)

Comparing projects/cms/source/conient/uk/org/iscream/cms/conient/datacomponents/ServiceDataComponent.java (file contents):
Revision 1.2 by ajm, Thu Mar 15 01:05:46 2001 UTC vs.
Revision 1.10 by tdb, Wed Feb 5 19:35:04 2003 UTC

# Line 1 | Line 1
1 + /*
2 + * i-scream central monitoring system
3 + * http://www.i-scream.org.uk
4 + * Copyright (C) 2000-2002 i-scream
5 + *
6 + * This program is free software; you can redistribute it and/or
7 + * modify it under the terms of the GNU General Public License
8 + * as published by the Free Software Foundation; either version 2
9 + * of the License, or (at your option) any later version.
10 + *
11 + * This program is distributed in the hope that it will be useful,
12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 + * GNU General Public License for more details.
15 + *
16 + * You should have received a copy of the GNU General Public License
17 + * along with this program; if not, write to the Free Software
18 + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 + */
20 +
21   //---PACKAGE DECLARATION---
22 < package uk.org.iscream.conient.datacomponents;
22 > package uk.org.iscream.cms.conient.datacomponents;
23  
24   //---IMPORTS---
25   import javax.swing.JLabel;
# Line 7 | Line 27 | import javax.swing.JTextField;
27   import java.awt.Color;
28   import java.awt.GridLayout;
29   import javax.swing.SwingUtilities;
30 + import uk.org.iscream.cms.util.XMLPacket;
31  
32   /**
33   * This is the most basic of DataComponents.
# Line 42 | Line 63 | public class ServiceDataComponent extends VisibleDataC
63       * @param name the friendly name
64       * @param attribute the data attribute we look after
65       */
66 <    public ServiceDataComponent(String name, String attribute, StringDataComponent serviceStatus) {
66 >    public ServiceDataComponent(String name, String attribute, String statusAttribute) {
67          _name = name;
68 <        _serviceStatus = serviceStatus;
68 >        _statusAttribute = statusAttribute;
69          _attribute = attribute;
70 <        setLayout(new GridLayout(1,1));
70 >        setLayout(new GridLayout(1,2));
71 >        _label = new JLabel(_name + ": ");
72 >        _label.setHorizontalAlignment(JLabel.RIGHT);
73          _item = new JTextField("", DEFAULT_TEXT_LENGTH);
74 <        _item.setHorizontalAlignment(JTextField.CENTER);
74 >        _item.setHorizontalAlignment(JTextField.LEFT);
75          _item.setEditable(false);
76          _item.setText("-uninitialised-");
77 +        add(_label);
78          add(_item);
79 +        setVisible(false);
80      }
81  
82   //---PUBLIC METHODS---
# Line 63 | Line 88 | public class ServiceDataComponent extends VisibleDataC
88       * run this method.
89       */
90      public void run() {
91 <        if (_serviceStatusValue.equals("0")) {
92 <            _item.setBackground(Color.green);
93 <            _item.setText(_name + "[OK] : " + _cache);
91 >        if(!isVisible()) {
92 >            setVisible(true);
93 >        }
94 >        if (_statusCache.equals("0")) {
95 >            _item.setForeground(Color.black);
96 >            _item.setText("[OK] : " + _cache);
97          } else {
98 <            _item.setBackground(Color.red);
99 <            _item.setText(_name + "[FAILED] : " + _cache);
98 >            _item.setForeground(Color.red);
99 >            _item.setText("[FAILED] : " + _cache);
100          }
101 +        _item.setCaretPosition(0);
102      }
103      
104      /**
# Line 87 | Line 116 | public class ServiceDataComponent extends VisibleDataC
116   //---ACCESSOR/MUTATOR METHODS---
117  
118      /**
119 <     * This takes the String value of the parameter that this component
91 <     * is monitoring direct from the packet, it then performs all
119 >     * This takes the packet to obtain the value from, it then performs all
120       * approriate conversions and adds this class to the Swing Event
121       * Dispatching queue.
122       *
123 <     * @param value the value for this data component
123 >     * @param packet the XMLPacket to get the data from
124       * @throws DataFormatException if there was a problem converting the data for display
125       */
126 <    public void setValue(String value) throws DataFormatException {
126 >    public void setValue(XMLPacket packet) throws DataFormatException {
127 >        String value = packet.getParam(_attribute);
128 >        String statusvalue = packet.getParam(_statusAttribute);
129          try {
130 <            if((!_cache.equals(value) || !_serviceStatusValue.equals(_serviceStatus.getValue())) && !_serviceStatus.getValue().equals("")) {
130 >            if(!_cache.equals(value) || !_statusCache.equals(statusvalue)) {
131                  _cache = value;
132 <                _serviceStatusValue = _serviceStatus.getValue();
132 >                _statusCache = statusvalue;
133                  SwingUtilities.invokeLater(this);
134              }
135          } catch (Exception e) {
# Line 130 | Line 160 | public class ServiceDataComponent extends VisibleDataC
160      protected String _attribute;
161  
162      /**
163 +     * The service status attribute that this component is concerned with
164 +     */
165 +    protected String _statusAttribute;
166 +
167 +    /**
168       * The friendly label for this component
169       */
170      protected JLabel _label;
171      
172      /**
173 <     * Remebers what the last value was, so we
173 >     * Remembers what the last value was, so we
174       * only update if we have to.
175       */    
176 <    String _cache = "";
176 >    protected String _cache = "";
177      
178 +        /**
179 +     * Remembers what the last value was, so we
180 +     * only update if we have to.
181 +     */    
182 +    protected String _statusCache = "";
183 +    
184      /**
185       * The length of the JTextField
186       */
# Line 149 | Line 190 | public class ServiceDataComponent extends VisibleDataC
190       * Just a normal label to display our value as a String
191       */
192      protected JTextField _item;
152
153    private StringDataComponent _serviceStatus;
154    private String _serviceStatusValue = "";
155
156    
193  
194   //---STATIC ATTRIBUTES---
195  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines