/*
* Created on 24/03/2005
*/
package DMS;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
/**
* @author mtayler
*/
public class htmlGen {
private HttpServletRequest FRequest;
private HttpServletResponse FResponse;
private templateXML FTemplate;
private projectItem FDefaultProject;
private templateItem FDefaultTemplate;
private dbTemplateData FTemplateData;
private static String PROJECT = "filterfieldproject";
private static String PROJECT_LABEL = "Projects";
private static String TEMPLATE = "filterfieldtemplate";
private static String TEMPLATE_LABEL = "Templates";
private static String TEMPLATE_XML = "TEMPLATE_XML";
private static String TEMPLATE_DATA = "TEMPLATE_DATA";
public htmlGen(HttpServletRequest request, HttpServletResponse response) {
FRequest=request;
FResponse=response;
FTemplate = (templateXML)getAttribute(TEMPLATE_XML);
if (FTemplate==null) {
FTemplate = new templateXML();
setAttribute(TEMPLATE_XML,FTemplate);
}
String sDefaultProject = DMSUtils.NVL(getParameter(PROJECT));
String sDefaultTemplate = DMSUtils.NVL(getParameter(TEMPLATE));
FDefaultProject = FTemplate.getProjectByName(sDefaultProject);
FDefaultTemplate = null;
if (FDefaultProject!=null) {
FDefaultTemplate = FDefaultProject.getTemplateByName(sDefaultTemplate);
if (FDefaultTemplate!=null) {
FTemplateData = (dbTemplateData)getAttribute(TEMPLATE_DATA);
if (FTemplateData==null || !FTemplateData.getTemplate().equals(FDefaultTemplate)) {
FTemplateData=new dbTemplateData(FDefaultTemplate, FRequest);
setAttribute(TEMPLATE_DATA,FTemplateData);
}
FTemplateData.load(FRequest);//load all data
}
}
}
private void setAttribute(String key, Object obj) {
if (FRequest!=null) FRequest.getSession(false).setAttribute(key, obj);
}
private Object getAttribute(String key) {
if (FRequest!=null) return FRequest.getSession(false).getAttribute(key);
else return null;
}
private String getParameter(String key) {
if (FRequest!=null) return FRequest.getParameter(key);
else return null;
}
private PrintWriter getWriter() {
PrintWriter writer = null;
try {
writer=FResponse.getWriter();
} catch (Exception e) {
e.printStackTrace();
}
return writer;
}
private void write(String data) {
PrintWriter writer=getWriter();
if (writer!=null) {
writer.println(data);
}
}
private String genCombo(String name, String label, comboDataItem[] data, String defValue, boolean bSelectAll, boolean bRefresh) {
StringBuffer sb = new StringBuffer();
sb.append (" ");
sb.append("").append(DMSUtils.cleanHTMLStr(label)).append("").append(" ").append("\n");
sb.append (" ");
sb.append("").append("\n");
return sb.toString();
}
private String genCombo(String name, String label, comboDataItem[] data, String defValue) {
return genCombo(name, label, data, defValue, true, false);
}
public String genFilters() {
StringBuffer sb = new StringBuffer();
String[] pnames = DMSUtils.SortArray(FTemplate.getProjectNames());
String sDefaultProject = DMSUtils.NVL(getParameter(PROJECT));
sb.append(genCombo(PROJECT,PROJECT_LABEL,DMSUtils.genComboDataItemArray(pnames,pnames),sDefaultProject, false, true));
if (FDefaultProject!=null) {
String[] tnames = DMSUtils.SortArray(FDefaultProject.getTemplateNames());
String sDefaultTemplate = DMSUtils.NVL(getParameter(TEMPLATE));
sb.append (" ");
sb.append(genCombo(TEMPLATE,TEMPLATE_LABEL,DMSUtils.genComboDataItemArray(tnames,tnames),sDefaultTemplate, false, true));
}
sb.append("
");
sb.append("
");
if (FDefaultTemplate!=null) {
columnList cols = FDefaultTemplate.getColumns();
String[] colNames = cols.getColumnNames();
sb.append("
| ").append("\n");
for (int i=0;i "); //generate date range sb.append(genDateRange("daterangefield" + col.getName(),col.getLabel())); } else if (col.getDataType().equals("int") || col.getDataType().equals("number")|| col.getDataType().equals("integer")|| col.getDataType().equals("bigint")) { sb.append(" "); sb.append(" "); //generate date range sb.append(genNumberRange("numberrangefield" + col.getName(),col.getLabel())); } } } sb.append(" | ").append("\n");
sb.append("
| ").append("\n"); sb.append("Records that have \"").append(DMSUtils.cleanHTMLStr(highlights[i].getHighlightLogic())).append("\" have this colour").append("\n"); sb.append(" | ").append("\n"); sb.append("").append("\n"); } sb.append("
| ").append("\n"); sb.append(" ").append("\n"); sb.append(" | ").append("\n"); } for (i=0;i
").append("\n");
sb.append(" ").append("\n");
sb.append(" | ").append("\n");
}
for (i=0;i").append("\n"); sb.append("").append(hiddenCols[i].getLabel()).append(": "); sb.append(DMSUtils.cleanHTMLStr(FTemplateData.getFieldValue(hiddenCols[i].getName()), true)).append("\n"); sb.append(" | ").append("\n"); sb.append("").append("\n"); } } } sb.append("