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

# User Rev Content
1 pjm2 1.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 pjm2 1.2 * @version $Id: IscreamLayout.java,v 1.1 2000/12/11 16:34:16 pjm2 Exp $
13 pjm2 1.1 */
14     public class IscreamLayout {
15    
16     //---FINAL ATTRIBUTES---
17    
18     /**
19     * The current CVS revision of this class
20     */
21 pjm2 1.2 public final String REVISION = "$Revision: 1.1 $";
22 pjm2 1.1
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 pjm2 1.2 bw.write("<!--#include virtual=\"../left.inc\" -->");
52 pjm2 1.1 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 pjm2 1.2 bw.write("<!--#include virtual=\"../title.inc\" -->");
61 pjm2 1.1 bw.newLine();
62     bw.newLine();
63     bw.write("<h3>"+title+"</h3>");
64     bw.newLine();
65     bw.flush();
66     }
67    
68 pjm2 1.3 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 pjm2 1.1 bw.write("<table border=\"0\">");
93 pjm2 1.3 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 pjm2 1.1 bw.write("</table>");
97     bw.newLine();
98     bw.flush();
99     }
100    
101     public static void printTable(BufferedWriter bw, PlotData pd) throws IOException{
102 pjm2 1.4
103 pjm2 1.1 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 pjm2 1.4 // Alternating row colours.
108 pjm2 1.1 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 pjm2 1.2 bw.write("<!--#include virtual=\"../bottom.inc\" -->");
136 pjm2 1.1 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     }