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
- 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
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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
ConstructorsConstructorDescriptionJRXmlaQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parametersMap) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddParameterList(SOAPEnvelope envelope, SOAPElement eParent, String typeName, String listName, Map<String, String> params) booleanCancels the query if it's currently running.voidclose()Closes resources kept open during the data source iteration.Executes the query and creates aJRDataSourceout of the result.protected SOAPMessageprotected SOAPConnectionprotected SOAPMessageexecuteQuery(SOAPMessage message, URL url) Sends the SOAP Message over the connection and returns the Result-SOAP-Messageprotected StringReturns a canonical query language for this query executer implementation.protected StringgetParameterReplacement(String parameterName) Returns the replacement text for a query parameter.protected Stringprotected voidhandleCellErrors(Iterator<?> errorElems) protected voidhandleHierInfo(JRXmlaResultAxis axis, SOAPElement hierInfoElement) protected voidhandleResultFault(SOAPFault fault) protected voidhandleTupleElement(JRXmlaResultAxis axis, SOAPElement tupleElement) protected voidhandleTuplesElement(JRXmlaResultAxis axis, SOAPElement tuplesElement) protected voidparseAxesElement(SOAPElement axesElement) protected voidparseAxesInfoElement(SOAPElement axesInfoElement) protected voidparseCellDataElement(SOAPElement cellDataElement) protected voidparseOLAPInfoElement(SOAPElement olapInfoElement) protected voidparseResult(SOAPMessage reply) Parses the result-Message into this class's structureprotected StringprettyPrintSOAP(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, getParameterValue, getParameterValue, getPropertiesUtil, getQueryExecutionContext, getQueryString, getRepositoryContext, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction, visitQueryParameters
-
Field Details
-
EXCEPTION_MESSAGE_KEY_XMLA_CANNOT_RETRIEVE_ELEMENT
- See Also:
-
EXCEPTION_MESSAGE_KEY_MESSAGE_CALL_FAILED
- See Also:
-
EXCEPTION_MESSAGE_KEY_XMLA_NO_LEVEL_NAME
- See Also:
-
EXCEPTION_MESSAGE_KEY_XMLA_NULL_ELEMENT
- See Also:
-
-
Constructor Details
-
JRXmlaQueryExecuter
public JRXmlaQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parametersMap)
-
-
Method Details
-
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
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:
-
getResult
-
createDatasource
Description copied from interface:JRQueryExecuterExecutes the query and creates aJRDataSourceout of the result.- Returns:
- a
JRDataSourcewrapping the query execution result. - Throws:
JRException
-
getSoapUrl
- Throws:
MalformedURLException
-
cancelQuery
Description 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
-
createQueryMessage
-
addParameterList
protected void addParameterList(SOAPEnvelope envelope, SOAPElement eParent, String typeName, String listName, Map<String, String> params) throws SOAPException- Throws:
SOAPException
-
executeQuery
Sends the SOAP Message over the connection and returns the Result-SOAP-Message- Returns:
- Reply-Message
-
parseResult
Parses the result-Message into this class's structure- Parameters:
reply- The reply-Message from the Server- Throws:
SOAPException
-
handleResultFault
-
parseOLAPInfoElement
- Throws:
SOAPException
-
parseAxesInfoElement
- Throws:
SOAPException
-
parseAxesElement
- Throws:
SOAPException
-
parseCellDataElement
- Throws:
SOAPException
-
handleCellErrors
- Throws:
SOAPException
-
handleHierInfo
protected void handleHierInfo(JRXmlaResultAxis axis, SOAPElement hierInfoElement) throws SOAPException - Throws:
SOAPException
-
handleTuplesElement
protected void handleTuplesElement(JRXmlaResultAxis axis, SOAPElement tuplesElement) throws SOAPException - Throws:
SOAPException
-
handleTupleElement
protected void handleTupleElement(JRXmlaResultAxis axis, SOAPElement tupleElement) throws SOAPException - Throws:
SOAPException
-
prettyPrintSOAP
-