ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/reports/DBReporter/IscreamLayout.java
Revision: 1.4
Committed: Sun Jan 7 13:05:21 2001 UTC (24 years, 11 months ago) by pjm2
Branch: MAIN
Changes since 1.3: +2 -0 lines
Log Message:
Reports no longer have the data included in the SHTML file (this could
often be VERY large).  Destination directories for reports has also
changed.

File Contents

# Content
1 //---PACKAGE DECLARATION---
2
3 //---IMPORTS---
4 import java.io.*;
5 import java.util.*;
6 import java.awt.geom.*;
7
8 /**
9 * Provides common i-screamed SHTML layout themes for the historical reports.
10 *
11 * @author $Author: pjm2 $
12 * @version $Id: IscreamLayout.java,v 1.1 2000/12/11 16:34:16 pjm2 Exp $
13 */
14 public class IscreamLayout {
15
16 //---FINAL ATTRIBUTES---
17
18 /**
19 * The current CVS revision of this class
20 */
21 public final String REVISION = "$Revision: 1.1 $";
22
23 //---STATIC METHODS---
24
25 public static void printDocType(BufferedWriter bw) throws IOException{
26 bw.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
27 bw.newLine();
28 bw.newLine();
29 bw.flush();
30 }
31
32 public static void printHeader(BufferedWriter bw, String title, String metaDescription, String metaKeywords) throws IOException{
33 bw.write("<html>");
34 bw.write("<head>");
35 bw.write("<title>"+title+"</title>");
36 bw.write("<meta name=\"description\" content=\""+metaDescription+"\">");
37 bw.write("<meta name=\"keywords\" content=\""+metaKeywords+"\">");
38 bw.write("<meta name=\"generator\" content=\"pjm2's DBReporterMain\">");
39 bw.write("</head>");
40 bw.write("<body bgcolor=\"#ffffff\" link=\"#0000ff\" alink=\"#3333cc\" vlink=\"#3333cc\" text=\"#000066\">");
41 bw.write("<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\">");
42 bw.write(" <tr>");
43 bw.write(" <td valign=\"top\">");
44 bw.write("");
45 bw.newLine();
46 bw.flush();
47 }
48
49 public static void printLeftMenu(BufferedWriter bw) throws IOException{
50 bw.newLine();
51 bw.write("<!--#include virtual=\"../left.inc\" -->");
52 bw.newLine();
53 bw.write("</td><td valign=\"top\">");
54 bw.newLine();
55 bw.flush();
56 }
57
58 public static void printTitle(BufferedWriter bw, String title) throws IOException{
59 bw.newLine();
60 bw.write("<!--#include virtual=\"../title.inc\" -->");
61 bw.newLine();
62 bw.newLine();
63 bw.write("<h3>"+title+"</h3>");
64 bw.newLine();
65 bw.flush();
66 }
67
68 public static void printGraph(BufferedWriter bw, String filename, int width, int height, int type, long startDate, long endDate) throws IOException{
69
70 String graphTitle = "Unknown time period";
71 String xAxisTitle = "Time";
72 String yAxisTitle = "Value";
73 String scaleRow = " <tr><td>&nbsp;</td><td align=\"left\">"+startDate+"</td><td align=\"right\">"+endDate+"</td></tr>";
74
75 switch (type) {
76 case ReportPage.HOUR:
77 graphTitle = "Hourly report from "+startDate+" to "+endDate;
78 break;
79 case ReportPage.DAY:
80 graphTitle = "24 hour report from "+startDate+" to "+endDate;
81 break;
82 case ReportPage.WEEK:
83 graphTitle = "7 day report from "+startDate+" to "+endDate;
84 break;
85 case ReportPage.MONTH:
86 graphTitle = "30 day report from "+startDate+" to "+endDate;
87 break;
88 default:
89 // Do nothing.
90 }
91
92 bw.write("<table border=\"0\">");
93 bw.write(" <tr><td>&nbsp;</td><td colspan=\"2\"><b>"+graphTitle+"</b></td></tr>");
94 bw.write(" <tr><td>"+yAxisTitle+"</td><td colspan=\"2\"><img src=\""+filename+"\" width=\""+width+"\" height=\""+height+"\"></td></tr>");
95 bw.write(scaleRow);
96 bw.write("</table>");
97 bw.newLine();
98 bw.flush();
99 }
100
101 public static void printTable(BufferedWriter bw, PlotData pd) throws IOException{
102
103 bw.write("<table border=\"0\" align=\"center\">");
104
105 bw.write("<tr bgcolor=\"black\"><td><font color=\"white\">Date</font></td><td><font color=\"white\">Value</font></td></tr>");
106
107 // Alternating row colours.
108 String rowColour1 = "#ccccff";
109 String rowColour2 = "#ffffff";
110
111 String rowColour = rowColour1;
112
113 Iterator it = pd.iterator();
114 while (it.hasNext()){
115 Point2D p = (Point2D)it.next();
116 double x = p.getX();
117 double y = p.getY();
118
119 if (rowColour.equals(rowColour1)){
120 rowColour = rowColour2;
121 }
122 else {
123 rowColour = rowColour1;
124 }
125
126 bw.write("<tr bgcolor=\""+rowColour+"\"><td>"+x+"</td><td>"+y+"</td></tr>");
127 }
128
129 bw.write("</table>");
130 bw.flush();
131 }
132
133 public static void printBottom(BufferedWriter bw) throws IOException{
134 bw.newLine();
135 bw.write("<!--#include virtual=\"../bottom.inc\" -->");
136 bw.newLine();
137 bw.newLine();
138 bw.flush();
139 }
140
141
142
143 //---CONSTRUCTORS---
144
145
146 //---PUBLIC METHODS---
147
148 /**
149 * Overrides the {@link java.lang.Object#toString() Object.toString()}
150 * method to provide clean logging (every class should have this).
151 *
152 * @return the name of this class and its CVS revision
153 */
154 public String toString() {
155 return this.getClass().getName() + "(" + REVISION.substring(11, REVISION.length() - 2) + ")";
156 }
157
158 //---PRIVATE METHODS---
159
160 //---ACCESSOR/MUTATOR METHODS---
161
162 //---ATTRIBUTES---
163
164 //---STATIC ATTRIBUTES---
165
166 }