Package net.sf.jasperreports.olap.xmla
Class JRXmlaQueryExecuter
- java.lang.Object
-
- net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
-
- net.sf.jasperreports.olap.xmla.JRXmlaQueryExecuter
-
- All Implemented Interfaces:
JRQueryExecuter
public class JRXmlaQueryExecuter extends JRAbstractQueryExecuter
- Author:
- Michael Gunther (m.guenther at users.sourceforge.net), Lucian Chirita (lucianc@users.sourceforge.net), swood
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
JRAbstractQueryExecuter.QueryParameter, JRAbstractQueryExecuter.QueryParameterEntry, JRAbstractQueryExecuter.QueryParameterVisitor, JRAbstractQueryExecuter.ValuedQueryParameter, JRAbstractQueryExecuter.VisitExceptionWrapper
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEXCEPTION_MESSAGE_KEY_MESSAGE_CALL_FAILEDstatic java.lang.StringEXCEPTION_MESSAGE_KEY_XMLA_CANNOT_RETRIEVE_ELEMENTstatic java.lang.StringEXCEPTION_MESSAGE_KEY_XMLA_NO_LEVEL_NAMEstatic java.lang.StringEXCEPTION_MESSAGE_KEY_XMLA_NULL_ELEMENT-
Fields inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
clauseFunctions, dataset, EXCEPTION_MESSAGE_KEY_NUMERIC_TYPE_REQUIRED, EXCEPTION_MESSAGE_KEY_PARAMETER_NOT_FOUND, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_CIRCULARLY_NESTED_PARAMETER, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_ID_FIRST_TOKEN_MISSING, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_NOT_FOUND, EXCEPTION_MESSAGE_KEY_UNSUPPORTED_PARAMETER_TYPE, GET_COLLECTED
-
-
Constructor Summary
Constructors Constructor Description JRXmlaQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddParameterList(javax.xml.soap.SOAPEnvelope envelope, javax.xml.soap.SOAPElement eParent, java.lang.String typeName, java.lang.String listName, java.util.Map<java.lang.String,java.lang.String> params)booleancancelQuery()Cancels the query if it's currently running.voidclose()Closes resources kept open during the data source iteration.JRDataSourcecreateDatasource()Executes the query and creates aJRDataSourceout of the result.protected javax.xml.soap.SOAPMessagecreateQueryMessage()protected javax.xml.soap.SOAPConnectioncreateSOAPConnection()protected javax.xml.soap.SOAPMessageexecuteQuery(javax.xml.soap.SOAPMessage message, java.net.URL url)Sends the SOAP Message over the connection and returns the Result-SOAP-Messageprotected java.lang.StringgetCanonicalQueryLanguage()Returns a canonical query language for this query executer implementation.protected java.lang.StringgetParameterReplacement(java.lang.String parameterName)Returns the replacement text for a query parameter.JROlapResultgetResult()protected java.lang.StringgetSoapUrl()protected voidhandleCellErrors(java.util.Iterator<?> errorElems)protected voidhandleHierInfo(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement hierInfoElement)protected voidhandleResultFault(javax.xml.soap.SOAPFault fault)protected voidhandleTupleElement(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement tupleElement)protected voidhandleTuplesElement(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement tuplesElement)protected voidparseAxesElement(javax.xml.soap.SOAPElement axesElement)protected voidparseAxesInfoElement(javax.xml.soap.SOAPElement axesInfoElement)protected voidparseCellDataElement(javax.xml.soap.SOAPElement cellDataElement)protected voidparseOLAPInfoElement(javax.xml.soap.SOAPElement olapInfoElement)protected voidparseResult(javax.xml.soap.SOAPMessage reply)Parses the result-Message into this class's structureprotected java.lang.StringprettyPrintSOAP(javax.xml.soap.SOAPElement element)-
Methods inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
addQueryMultiParameters, addQueryMultiParameters, addQueryParameter, addQueryParameter, appendClauseChunk, appendParameterChunk, appendParameterClauseChunk, appendQueryChunk, appendTextChunk, applyClause, checkParameter, findExtensionQueryFunction, getBooleanParameter, getBooleanParameter, getBooleanParameterOrProperty, getBooleanParameterOrProperty, getCollectedParameterNames, getCollectedParameters, getIntegerParameter, getIntegerParameter, getIntegerParameterOrProperty, getIntegerParameterOrProperty, getJasperReportsContext, getParameter, getParameterValue, getParameterValue, getPropertiesUtil, getQueryExecutionContext, getQueryString, getRepositoryContext, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction, visitQueryParameters
-
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_XMLA_CANNOT_RETRIEVE_ELEMENT
public static final java.lang.String EXCEPTION_MESSAGE_KEY_XMLA_CANNOT_RETRIEVE_ELEMENT
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_MESSAGE_CALL_FAILED
public static final java.lang.String EXCEPTION_MESSAGE_KEY_MESSAGE_CALL_FAILED
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_XMLA_NO_LEVEL_NAME
public static final java.lang.String EXCEPTION_MESSAGE_KEY_XMLA_NO_LEVEL_NAME
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_XMLA_NULL_ELEMENT
public static final java.lang.String EXCEPTION_MESSAGE_KEY_XMLA_NULL_ELEMENT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JRXmlaQueryExecuter
public JRXmlaQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parametersMap)
-
-
Method Detail
-
getCanonicalQueryLanguage
protected java.lang.String getCanonicalQueryLanguage()
Description copied from class:JRAbstractQueryExecuterReturns a canonical query language for this query executer implementation.The canonical language is used to retrieve extensions for the query executer.
The default implementation returns the runtime query language used in the dataset, but query executer implementations should override this method and return a fixed language.
- Overrides:
getCanonicalQueryLanguagein classJRAbstractQueryExecuter- Returns:
- a canonical query language
-
getParameterReplacement
protected java.lang.String getParameterReplacement(java.lang.String parameterName)
Description copied from class:JRAbstractQueryExecuterReturns the replacement text for a query parameter.- Specified by:
getParameterReplacementin classJRAbstractQueryExecuter- Parameters:
parameterName- the parameter name- Returns:
- the replacement text
- See Also:
JRQueryChunk.TYPE_PARAMETER
-
getResult
public JROlapResult getResult()
-
createDatasource
public JRDataSource createDatasource() throws JRException
Description copied from interface:JRQueryExecuterExecutes the query and creates aJRDataSourceout of the result.- Returns:
- a
JRDataSourcewrapping the query execution result. - Throws:
JRException
-
getSoapUrl
protected java.lang.String getSoapUrl() throws java.net.MalformedURLException- Throws:
java.net.MalformedURLException
-
cancelQuery
public boolean cancelQuery() throws JRExceptionDescription copied from interface:JRQueryExecuterCancels the query if it's currently running. This method will be called from a different thread if the client decides to cancel the filling process.- Returns:
trueif and only if the query was running and it has been canceled- Throws:
JRException
-
close
public void close()
Description copied from interface:JRQueryExecuterCloses resources kept open during the data source iteration. This method is called after the report is filled or the dataset is iterated. If a resource is not needed after the data source has been created, it should be released at the end ofcreateDatasource.
-
createSOAPConnection
protected javax.xml.soap.SOAPConnection createSOAPConnection()
-
createQueryMessage
protected javax.xml.soap.SOAPMessage createQueryMessage()
-
addParameterList
protected void addParameterList(javax.xml.soap.SOAPEnvelope envelope, javax.xml.soap.SOAPElement eParent, java.lang.String typeName, java.lang.String listName, java.util.Map<java.lang.String,java.lang.String> params) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
executeQuery
protected javax.xml.soap.SOAPMessage executeQuery(javax.xml.soap.SOAPMessage message, java.net.URL url)Sends the SOAP Message over the connection and returns the Result-SOAP-Message- Returns:
- Reply-Message
-
parseResult
protected void parseResult(javax.xml.soap.SOAPMessage reply) throws javax.xml.soap.SOAPExceptionParses the result-Message into this class's structure- Parameters:
reply- The reply-Message from the Server- Throws:
javax.xml.soap.SOAPException
-
handleResultFault
protected void handleResultFault(javax.xml.soap.SOAPFault fault)
-
parseOLAPInfoElement
protected void parseOLAPInfoElement(javax.xml.soap.SOAPElement olapInfoElement) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
parseAxesInfoElement
protected void parseAxesInfoElement(javax.xml.soap.SOAPElement axesInfoElement) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
parseAxesElement
protected void parseAxesElement(javax.xml.soap.SOAPElement axesElement) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
parseCellDataElement
protected void parseCellDataElement(javax.xml.soap.SOAPElement cellDataElement) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
handleCellErrors
protected void handleCellErrors(java.util.Iterator<?> errorElems) throws javax.xml.soap.SOAPException- Throws:
javax.xml.soap.SOAPException
-
handleHierInfo
protected void handleHierInfo(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement hierInfoElement) throws javax.xml.soap.SOAPException
- Throws:
javax.xml.soap.SOAPException
-
handleTuplesElement
protected void handleTuplesElement(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement tuplesElement) throws javax.xml.soap.SOAPException
- Throws:
javax.xml.soap.SOAPException
-
handleTupleElement
protected void handleTupleElement(JRXmlaResultAxis axis, javax.xml.soap.SOAPElement tupleElement) throws javax.xml.soap.SOAPException
- Throws:
javax.xml.soap.SOAPException
-
prettyPrintSOAP
protected java.lang.String prettyPrintSOAP(javax.xml.soap.SOAPElement element)
-
-