Class 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
    • 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
    • Method Detail

      • getCanonicalQueryLanguage

        protected java.lang.String 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 class JRAbstractQueryExecuter
        Returns:
        a canonical query language
      • getSoapUrl

        protected java.lang.String getSoapUrl()
                                       throws java.net.MalformedURLException
        Throws:
        java.net.MalformedURLException
      • cancelQuery

        public boolean cancelQuery()
                            throws JRException
        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 of createDatasource.

      • 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.SOAPException
        Parses 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)