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 String
static final String
static final String
static final String
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
ConstructorsConstructorDescriptionJRXmlaQueryExecuter
(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parametersMap) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addParameterList
(SOAPEnvelope envelope, SOAPElement eParent, String typeName, String listName, Map<String, String> params) boolean
Cancels the query if it's currently running.void
close()
Closes resources kept open during the data source iteration.Executes the query and creates aJRDataSource
out of the result.protected SOAPMessage
protected SOAPConnection
protected SOAPMessage
executeQuery
(SOAPMessage message, URL url) Sends the SOAP Message over the connection and returns the Result-SOAP-Messageprotected String
Returns a canonical query language for this query executer implementation.protected String
getParameterReplacement
(String parameterName) Returns the replacement text for a query parameter.protected String
protected void
handleCellErrors
(Iterator<?> errorElems) protected void
handleHierInfo
(JRXmlaResultAxis axis, SOAPElement hierInfoElement) protected void
handleResultFault
(SOAPFault fault) protected void
handleTupleElement
(JRXmlaResultAxis axis, SOAPElement tupleElement) protected void
handleTuplesElement
(JRXmlaResultAxis axis, SOAPElement tuplesElement) protected void
parseAxesElement
(SOAPElement axesElement) protected void
parseAxesInfoElement
(SOAPElement axesInfoElement) protected void
parseCellDataElement
(SOAPElement cellDataElement) protected void
parseOLAPInfoElement
(SOAPElement olapInfoElement) protected void
parseResult
(SOAPMessage reply) Parses the result-Message into this class's structureprotected String
prettyPrintSOAP
(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:JRAbstractQueryExecuter
Returns 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:
getCanonicalQueryLanguage
in classJRAbstractQueryExecuter
- Returns:
- a canonical query language
-
getParameterReplacement
Description copied from class:JRAbstractQueryExecuter
Returns the replacement text for a query parameter.- Specified by:
getParameterReplacement
in classJRAbstractQueryExecuter
- Parameters:
parameterName
- the parameter name- Returns:
- the replacement text
- See Also:
-
getResult
-
createDatasource
Description copied from interface:JRQueryExecuter
Executes the query and creates aJRDataSource
out of the result.- Returns:
- a
JRDataSource
wrapping the query execution result. - Throws:
JRException
-
getSoapUrl
- Throws:
MalformedURLException
-
cancelQuery
Description copied from interface:JRQueryExecuter
Cancels 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:
true
if and only if the query was running and it has been canceled- Throws:
JRException
-
close
public void close()Description copied from interface:JRQueryExecuter
Closes 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
-