ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/client/javacli/DataLayout.java
Revision: 1.2
Committed: Sat May 18 18:15:56 2002 UTC (22 years, 4 months ago) by tdb
Branch: MAIN
Changes since 1.1: +22 -3 lines
Log Message:
i-scream is now licensed under the GPL. I've added the GPL headers to every
source file, and put a full copy of the license in the appropriate places.
I think I've covered everything. This is going to be a mad commit ;)

File Contents

# User Rev Content
1 tdb 1.2 /*
2     * i-scream central monitoring system
3     * Copyright (C) 2000-2002 i-scream
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, write to the Free Software
17     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18     */
19    
20 pjm2 1.1 //---PACKAGE DECLARATION---
21    
22     //---IMPORTS---
23    
24     import org.xml.sax.*;
25     import javax.xml.parsers.SAXParserFactory;
26     import javax.xml.parsers.ParserConfigurationException;
27     import javax.xml.parsers.SAXParser;
28    
29     /**
30     * DataLayout
31     *
32 tdb 1.2 * @author $Author: pjm2 $
33     * @version $Id: DataLayout.java,v 1.1 2001/01/14 21:58:11 pjm2 Exp $
34 pjm2 1.1 */
35     public class DataLayout {
36    
37     //---FINAL ATTRIBUTES---
38    
39     /**
40     * The current CVS revision of this class
41     */
42 tdb 1.2 public final String REVISION = "$Revision: 1.1 $";
43 pjm2 1.1
44     private final int topOffset = 4;
45     private final int leftStart = 2;
46     private final int rightStart = 41;
47     private final int fieldLength = 17;
48    
49     //---STATIC METHODS---
50    
51     //---CONSTRUCTORS---
52    
53     // Constructor
54     public DataLayout (TerminalScreen screen, String[][] showData) {
55     _screen = screen;
56     _showData = showData;
57     }
58    
59     //---PUBLIC METHODS---
60    
61     public void updateScreen(XMLPacket packet) {
62     boolean onLeft = true;
63     for (int i = 0; i < _showData.length; i++) {
64     String friendlyName = _showData[i][1];
65     String value = packet.getParam(_showData[i][0]);
66    
67     friendlyName = this.StringSizer(friendlyName);
68     value = this.StringSizer(value);
69    
70     if (onLeft) {
71     onLeft = false;
72     _screen.gotoxy(leftStart, (i/2)+topOffset);
73     _screen.print(friendlyName+": "+value);
74    
75     }
76     else {
77     onLeft = true;
78     _screen.gotoxy(rightStart, (i/2)+topOffset);
79     _screen.print(friendlyName+": "+value);
80     }
81     }
82     }
83    
84     //---PRIVATE METHODS---
85    
86     private String StringSizer(String value) {
87     if (value == null) {
88     value = "";
89     }
90    
91     int lengthDiff = fieldLength - value.length();
92     if (lengthDiff < 0) {
93     value = value.substring(0, fieldLength - 3) + "...";
94     }
95     else if (lengthDiff > 0) {
96     char[] padding = new char[lengthDiff];
97     for (int i=0; i < lengthDiff; i++) {
98     padding[i] = 32;
99     }
100     value = value + new String(padding);
101     }
102     return value;
103     }
104    
105     //---ACCESSOR/MUTATOR METHODS---
106    
107     //---ATTRIBUTES---
108    
109     private TerminalScreen _screen;
110     private String[][] _showData;
111    
112     //---STATIC ATTRIBUTES---
113    
114     }