public class ReportBuilder extends java.lang.Object implements uk.ac.ed.epcc.webapp.Contexed, TemplateValidator
| Modifier and Type | Class and Description |
|---|---|
class |
ReportBuilder.ReportTypeInput |
class |
ReportBuilder.Resolver |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_REPORT_SCHEMA |
static ReportType |
EHTML |
static ReportType |
HTML |
static java.lang.String |
PARAMETER_LOC |
static java.lang.String |
REPORT_DEVELOPER |
static java.lang.String |
REPORT_PARAMS_ATTR |
static java.lang.String |
REPORT_SCHEMA_CONFIG |
static java.lang.String |
REPORT_TEMPLATE_GROUP |
static java.lang.String |
REPORT_TYPE_CONFIG_PREFIX |
static java.lang.String |
REPORT_TYPE_PARAM |
static java.lang.String |
SCHEMA_GROUP |
static java.lang.String |
STYLESHEET_GROUP |
| Constructor and Description |
|---|
ReportBuilder(uk.ac.ed.epcc.webapp.AppContext conn) |
ReportBuilder(uk.ac.ed.epcc.webapp.AppContext ctx,
java.lang.String string,
java.lang.String string2)
Constructor for tests
|
| Modifier and Type | Method and Description |
|---|---|
uk.ac.ed.epcc.webapp.content.ContentBuilder |
addParameterText(uk.ac.ed.epcc.webapp.content.HtmlBuilder hb) |
void |
buildReportParametersForm(uk.ac.ed.epcc.webapp.forms.Form form,
java.util.Map<java.lang.String,java.lang.Object> params) |
boolean |
canUse(uk.ac.ed.epcc.webapp.session.SessionService<?> person,
java.util.Map<java.lang.String,java.lang.Object> params)
Evaluate the access control status
|
boolean |
checkNode(org.w3c.dom.Element e)
Consider this element for validity.
|
uk.ac.ed.epcc.webapp.AppContext |
getContext() |
java.util.Set<ErrorSet> |
getErrors() |
static ReportBuilder |
getInstance(uk.ac.ed.epcc.webapp.AppContext conn) |
protected javax.xml.transform.Source |
getReport(java.lang.String name) |
uk.ac.ed.epcc.webapp.model.TextFileOverlay |
getReportOverlay() |
protected ReportType |
getReportType(java.util.Map<java.lang.String,java.lang.Object> params) |
ReportType |
getReportType(java.lang.String text)
Look up a report type.
|
javax.xml.validation.Schema |
getSchema(java.lang.String name) |
org.w3c.dom.Document |
getSchemaDocument(java.lang.String name) |
uk.ac.ed.epcc.webapp.model.TextFileOverlay |
getSchemaOverlay() |
javax.xml.transform.Source |
getSchemaSource(java.lang.String name) |
protected java.util.Set<ReportType> |
getSpecialReportTypes()
Get sub-classed
ReportTypes that are not declared via Config. |
protected javax.xml.transform.Source |
getStyleSheet(java.lang.String name) |
static java.lang.String |
getTemplateName(java.lang.String templateFileName) |
javax.xml.transform.Source |
getTemplateSource() |
ReportType |
getTemplateType(java.lang.String templateFileName) |
protected java.lang.String |
getText(org.w3c.dom.Element e)
Get the text body of the Element The Element is assumed to be a leaf node
with only text content.
|
java.lang.String |
getTitle()
Get the title used for the parameter page
|
javax.xml.transform.Transformer |
getXSLTransform(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> params) |
boolean |
hasErrors() |
boolean |
hasReportParameterDefs() |
boolean |
hasReportParameters() |
boolean |
parseReportParametersForm(uk.ac.ed.epcc.webapp.forms.Form form,
java.util.Map<java.lang.String,java.lang.Object> params) |
void |
register(ReportExtension re) |
void |
renderContent(java.util.Map<java.lang.String,java.lang.Object> params,
uk.ac.ed.epcc.webapp.content.SimpleXMLBuilder builder)
Forward HTML output to a
SimpleXMLBuilder. |
void |
renderXML(java.util.Map<java.lang.String,java.lang.Object> params,
java.io.OutputStream out) |
void |
renderXML(ReportType type,
java.util.Map<java.lang.String,java.lang.Object> params,
javax.xml.transform.Result out) |
protected javax.xml.transform.Source |
runParametersTransform(javax.xml.transform.Source xmlSource,
java.util.Map<java.lang.String,java.lang.Object> params) |
static void |
setTemplate(uk.ac.ed.epcc.webapp.AppContext conn,
ReportBuilder builder,
java.lang.String templateName) |
void |
setTemplate(java.lang.String template_name) |
void |
setTemplate(java.lang.String template_name,
java.lang.String schema_name) |
void |
setupExtensions(java.util.Map<java.lang.String,java.lang.Object> params) |
void |
setupExtensions(ReportType reportType,
java.util.Map<java.lang.String,java.lang.Object> params) |
void |
setupUser(java.util.Map<java.lang.String,java.lang.Object> params) |
void |
validate(java.lang.String schema_name,
javax.xml.transform.Source src) |
void |
validate(java.lang.String schema_name,
java.lang.String template_text) |
public static final java.lang.String DEFAULT_REPORT_SCHEMA
public static final java.lang.String REPORT_SCHEMA_CONFIG
public static final java.lang.String REPORT_TYPE_PARAM
public static final java.lang.String SCHEMA_GROUP
public static final java.lang.String REPORT_TEMPLATE_GROUP
public static final java.lang.String STYLESHEET_GROUP
public static final java.lang.String REPORT_TYPE_CONFIG_PREFIX
public static final ReportType HTML
public static final ReportType EHTML
public static final java.lang.String PARAMETER_LOC
public static final java.lang.String REPORT_DEVELOPER
public static final java.lang.String REPORT_PARAMS_ATTR
public ReportBuilder(uk.ac.ed.epcc.webapp.AppContext conn)
throws java.net.URISyntaxException,
javax.xml.parsers.ParserConfigurationException
java.net.URISyntaxExceptionjavax.xml.parsers.ParserConfigurationExceptionpublic ReportBuilder(uk.ac.ed.epcc.webapp.AppContext ctx,
java.lang.String string,
java.lang.String string2)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
javax.xml.parsers.ParserConfigurationException,
uk.ac.ed.epcc.webapp.exceptions.InvalidArgument,
javax.xml.transform.TransformerFactoryConfigurationError,
javax.xml.transform.TransformerException,
org.xml.sax.SAXException,
java.io.IOException,
java.net.URISyntaxException
java.io.IOExceptionorg.xml.sax.SAXExceptionjavax.xml.transform.TransformerExceptionjavax.xml.transform.TransformerFactoryConfigurationErroruk.ac.ed.epcc.webapp.exceptions.InvalidArgumentjavax.xml.parsers.ParserConfigurationExceptionuk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultjava.net.URISyntaxExceptionctx - string - string2 - protected java.util.Set<ReportType> getSpecialReportTypes()
ReportTypes that are not declared via Config.public ReportType getReportType(java.lang.String text)
text - public static java.lang.String getTemplateName(java.lang.String templateFileName)
public ReportType getTemplateType(java.lang.String templateFileName)
public void setTemplate(java.lang.String template_name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
javax.xml.parsers.ParserConfigurationException,
uk.ac.ed.epcc.webapp.exceptions.InvalidArgument,
javax.xml.transform.TransformerFactoryConfigurationError,
javax.xml.transform.TransformerException
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultjavax.xml.parsers.ParserConfigurationExceptionuk.ac.ed.epcc.webapp.exceptions.InvalidArgumentjavax.xml.transform.TransformerFactoryConfigurationErrorjavax.xml.transform.TransformerExceptionpublic void setTemplate(java.lang.String template_name,
java.lang.String schema_name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
javax.xml.parsers.ParserConfigurationException,
uk.ac.ed.epcc.webapp.exceptions.InvalidArgument,
javax.xml.transform.TransformerFactoryConfigurationError,
javax.xml.transform.TransformerException,
org.xml.sax.SAXException,
java.io.IOException
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultjavax.xml.parsers.ParserConfigurationExceptionuk.ac.ed.epcc.webapp.exceptions.InvalidArgumentjavax.xml.transform.TransformerFactoryConfigurationErrorjavax.xml.transform.TransformerExceptionorg.xml.sax.SAXExceptionjava.io.IOExceptionpublic void validate(java.lang.String schema_name,
java.lang.String template_text)
throws org.xml.sax.SAXException,
java.io.IOException,
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
org.xml.sax.SAXExceptionjava.io.IOExceptionuk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultpublic void validate(java.lang.String schema_name,
javax.xml.transform.Source src)
throws org.xml.sax.SAXException,
java.io.IOException,
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
org.xml.sax.SAXExceptionjava.io.IOExceptionuk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultpublic java.lang.String getTitle()
public uk.ac.ed.epcc.webapp.content.ContentBuilder addParameterText(uk.ac.ed.epcc.webapp.content.HtmlBuilder hb)
public boolean canUse(uk.ac.ed.epcc.webapp.session.SessionService<?> person,
java.util.Map<java.lang.String,java.lang.Object> params)
person - params - public void setupUser(java.util.Map<java.lang.String,java.lang.Object> params)
public void register(ReportExtension re)
public void setupExtensions(java.util.Map<java.lang.String,java.lang.Object> params)
throws javax.xml.parsers.ParserConfigurationException
javax.xml.parsers.ParserConfigurationExceptionpublic void setupExtensions(ReportType reportType, java.util.Map<java.lang.String,java.lang.Object> params) throws javax.xml.parsers.ParserConfigurationException
javax.xml.parsers.ParserConfigurationExceptionpublic boolean hasReportParameterDefs()
public boolean hasReportParameters()
public void buildReportParametersForm(uk.ac.ed.epcc.webapp.forms.Form form,
java.util.Map<java.lang.String,java.lang.Object> params)
throws java.lang.Exception
java.lang.Exceptionpublic boolean parseReportParametersForm(uk.ac.ed.epcc.webapp.forms.Form form,
java.util.Map<java.lang.String,java.lang.Object> params)
public void renderXML(java.util.Map<java.lang.String,java.lang.Object> params,
java.io.OutputStream out)
throws java.lang.Exception
java.lang.Exceptionpublic void renderContent(java.util.Map<java.lang.String,java.lang.Object> params,
uk.ac.ed.epcc.webapp.content.SimpleXMLBuilder builder)
throws java.lang.Exception
SimpleXMLBuilder.
This is intended to embed micro-reports in application pages. In particular in
transition pages.java.lang.Exceptionparams - report parametersbuilder - SimpleXMLBuilderpublic void renderXML(ReportType type, java.util.Map<java.lang.String,java.lang.Object> params, javax.xml.transform.Result out) throws java.lang.Exception
java.lang.Exceptionprotected javax.xml.transform.Source getStyleSheet(java.lang.String name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultprotected javax.xml.transform.Source getReport(java.lang.String name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultpublic javax.xml.transform.Source getSchemaSource(java.lang.String name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
org.xml.sax.SAXException
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultorg.xml.sax.SAXExceptionpublic org.w3c.dom.Document getSchemaDocument(java.lang.String name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
org.xml.sax.SAXException,
javax.xml.transform.TransformerException
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultorg.xml.sax.SAXExceptionjavax.xml.transform.TransformerExceptionpublic javax.xml.validation.Schema getSchema(java.lang.String name)
throws uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault,
org.xml.sax.SAXException
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultorg.xml.sax.SAXExceptionpublic javax.xml.transform.Source getTemplateSource()
protected ReportType getReportType(java.util.Map<java.lang.String,java.lang.Object> params)
public javax.xml.transform.Transformer getXSLTransform(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> params)
throws javax.xml.transform.TransformerFactoryConfigurationError,
javax.xml.transform.TransformerConfigurationException,
uk.ac.ed.epcc.webapp.model.data.Exceptions.DataFault
javax.xml.transform.TransformerFactoryConfigurationErrorjavax.xml.transform.TransformerConfigurationExceptionuk.ac.ed.epcc.webapp.model.data.Exceptions.DataFaultpublic boolean hasErrors()
public java.util.Set<ErrorSet> getErrors()
protected javax.xml.transform.Source runParametersTransform(javax.xml.transform.Source xmlSource,
java.util.Map<java.lang.String,java.lang.Object> params)
throws java.lang.Exception
java.lang.Exceptionprotected final java.lang.String getText(org.w3c.dom.Element e)
e - Elementpublic uk.ac.ed.epcc.webapp.AppContext getContext()
getContext in interface uk.ac.ed.epcc.webapp.Contexedpublic static ReportBuilder getInstance(uk.ac.ed.epcc.webapp.AppContext conn) throws java.lang.Exception
java.lang.Exceptionpublic static void setTemplate(uk.ac.ed.epcc.webapp.AppContext conn,
ReportBuilder builder,
java.lang.String templateName)
throws java.lang.Exception
java.lang.Exceptionpublic boolean checkNode(org.w3c.dom.Element e)
throws TemplateValidateException
TemplateValidatorcheckNode in interface TemplateValidatorTemplateValidateExceptione - Element to be consideredpublic uk.ac.ed.epcc.webapp.model.TextFileOverlay getSchemaOverlay()
public uk.ac.ed.epcc.webapp.model.TextFileOverlay getReportOverlay()