public class QueryByForm extends DBPersist
Query By Form XML parser and SQL composer.
Constructor and Description |
---|
QueryByForm(JDCConnection oConn,
java.lang.String sBaseTable,
java.lang.String sTableAlias,
java.lang.String sQueryGUID)
Load a query from k_queries table.
|
QueryByForm(java.lang.String sQBFURI)
Create an empty query by parsing an XML definition file.
|
QueryByForm(java.lang.String sQBFURI,
java.lang.String sEncoding)
Create an empty query by parsing an XML definition file.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
composeSQL()
Compose SQL WHERE clause by concatenating single clauses for each field
<basefilter> clause is not included in returned String.
|
static boolean |
delete(JDCConnection oConn,
java.lang.String sQBFGUID)
Delete QBF instance from database
Dynamic Lists using this QBF will be deleted on cascade
|
java.lang.String |
getAction() |
java.lang.String |
getBaseFilter(javax.servlet.http.HttpServletRequest oReq)
Get query base filter instantiated for given HttpServletRequest parameters.
|
java.lang.String |
getBaseObject() |
java.util.Vector |
getColumns() |
dom.DOMDocument |
getDocument() |
java.util.Vector |
getFields() |
java.lang.String |
getMethod() |
java.util.Vector |
getSortable() |
java.lang.String |
getTitle(java.lang.String sLanguage) |
void |
parseURI(java.lang.String sURI)
Parse query XML specification file.
|
void |
parseURI(java.lang.String sURI,
java.lang.String sEncoding)
Parse query XML specification file.
|
void |
queryToStream(java.sql.Connection oConn,
java.lang.String sColumnList,
java.lang.String sFilter,
java.io.OutputStream oOutStrm,
java.lang.String sShowAs)
Execute query and print ResultSet to an OutputStream.
|
allcaps, allcaps, clear, clone, columns, containsKey, containsValue, delete, entrySet, exists, get, get, getAuditClassName, getCreationDate, getDate, getDate, getDateFormated, getDateShort, getDateTime, getDateTime24, getDecimal, getDecimalFormated, getDecimalFormated, getDouble, getDoubleFormated, getFloat, getFloatFormated, getInt, getIntArray, getInteger, getIntegerArray, getIntervalPart, getItemMap, getItems, getMoney, getPrimaryKey, getShort, getSQLDate, getSQLTime, getString, getStringHtml, getStringNull, getTable, getTable, getTime, getTimeOfDay, getTimestamp, isEmpty, isNull, iterator, keySet, load, load, parseXML, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, putAll, putAll, remove, remove, replace, replace, replace, replace, replace, replace, replace, replace, setAuditTransact, setAuditUser, setCreationDate, setPrimaryKey, size, store, toLowerCase, toUpperCase, toXML, toXML, toXML, values
public QueryByForm(java.lang.String sQBFURI) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.Exception
Create an empty query by parsing an XML definition file.
Input file must be encoded as ISO-8859-1sQBFURI
- URI for query specification XML file (ej. file:///opt/storage/qbf/duties.xml)java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.Exception
public QueryByForm(java.lang.String sQBFURI, java.lang.String sEncoding) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.io.UnsupportedEncodingException, java.lang.Exception
Create an empty query by parsing an XML definition file.
Input file must be encoded as ISO-8859-1sQBFURI
- URI for query specification XML file (ej. file:///opt/storage/qbf/duties.xml)java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.io.UnsupportedEncodingException
java.lang.Exception
public QueryByForm(JDCConnection oConn, java.lang.String sBaseTable, java.lang.String sTableAlias, java.lang.String sQueryGUID) throws java.sql.SQLException
Load a query from k_queries table.
oConn
- Database ConnectionsBaseTable
- Query base table or view <baseobject> tag from XML query specification.sTableAlias
- A base table alias for SQL fieldssQueryGUID
- Query GUID at k_queries tablejava.sql.SQLException
public void parseURI(java.lang.String sURI, java.lang.String sEncoding) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.Exception
Parse query XML specification file.
sURI
- URI for query specification XML filesEncoding
- Character encoding used by XML input filejava.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.io.UnsupportedEncodingException
java.lang.Exception
public void parseURI(java.lang.String sURI) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.Exception
Parse query XML specification file.
sURI
- URI for query specification XML filejava.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.Exception
public dom.DOMDocument getDocument()
public java.lang.String getAction()
public java.lang.String getBaseObject()
public java.lang.String getBaseFilter(javax.servlet.http.HttpServletRequest oReq)
Get query base filter instantiated for given HttpServletRequest parameters.
Base filters are neccesary for separating data belonging to an specific
workarea for data belonging to other workareas.
Typically every query specification have a base filter.
The base filter may contain to types of wildcards ${cookie.name} and ${param.name}
When one of this wildcards in encountered at base filter specification it is substituded at runtime
by the matching HttpServletRequest Cookie or Parameter value.
oReq
- HttpServletRequest containing Cookies and Parameters to be substituted at base filter.public java.lang.String getMethod()
java.lang.NullPointerException
- if XML document was not previously set on the constructor or by calling parseURI()public java.lang.String getTitle(java.lang.String sLanguage) throws java.lang.NullPointerException
java.lang.NullPointerException
- if XML document was not previously set on the constructor or by calling parseURI()public java.util.Vector getFields()
public java.util.Vector getSortable()
public java.util.Vector getColumns() throws java.lang.NullPointerException
java.lang.NullPointerException
- If tag <columns> is not foundpublic java.lang.String composeSQL() throws java.lang.NullPointerException
Compose SQL WHERE clause by concatenating single clauses for each field
<basefilter> clause is not included in returned String.
java.lang.NullPointerException
public void queryToStream(java.sql.Connection oConn, java.lang.String sColumnList, java.lang.String sFilter, java.io.OutputStream oOutStrm, java.lang.String sShowAs) throws java.sql.SQLException
Execute query and print ResultSet to an OutputStream.
Rows are directly fetched from database and printed to OutputStream one by one.
oConn
- Database ConnectionsColumnList
- Columns to SELECTsFilter
- Full SQL filter clause, including <>oOutStrm
- OutputStream for printing results.sShowAs
- Output TypeTSV | Tab separated values | Columns are delimited by tabs and rows are delimited by line feeds |
XLS | Excel Default | Columns are delimited by ';' and rows are delimited by line feeds |
CSV | Comma separated values | Columns are delimited by ',' and rows are delimited by line feeds, text is qualified with double quoutes. |
java.sql.SQLException
public static boolean delete(JDCConnection oConn, java.lang.String sQBFGUID) throws java.sql.SQLException
Delete QBF instance from database
Dynamic Lists using this QBF will be deleted on cascadeoConn
- Database ConnectionsQBFGUID
- GUID of QBF instance to be deleted.java.sql.SQLException