Class Dsmlv2Engine


  • public class Dsmlv2Engine
    extends Object
    This is the DSMLv2Engine. It can be use to execute operations on a LDAP Server and get the results of these operations. The format used for request and responses is the DSMLv2 format.
    Author:
    Apache Directory Project
    • Field Detail

      • user

        protected String user
        The user.
      • password

        protected String password
        The password.
      • continueOnError

        protected boolean continueOnError
        The continue on error flag.
      • exit

        protected boolean exit
        The exit flag.
      • generateSoapResp

        protected boolean generateSoapResp
        flag to indicate to generate the response in a SOAP envelope
    • Constructor Detail

      • Dsmlv2Engine

        public Dsmlv2Engine​(String host,
                            int port,
                            String user,
                            String password)
        Creates a new instance of Dsmlv2Engine.
        Parameters:
        host - the server host
        port - the server port
        user - the server admin Dn
        password - the server admin's password
      • Dsmlv2Engine

        public Dsmlv2Engine​(LdapConnection connection,
                            String user,
                            String password)
        Creates a new instance of Dsmlv2Engine.
        Parameters:
        connection - an unbound active connection
        user - the user name to be used to bind this connection to the server
        password - user's credentials
    • Method Detail

      • processDSML

        public String processDSML​(String dsmlInput)
                           throws XmlPullParserException
        Processes the file given and return the result of the operations
        Parameters:
        dsmlInput - the DSMLv2 formatted request input
        Returns:
        the XML response in DSMLv2 Format
        Throws:
        XmlPullParserException - if an error occurs in the parser
      • processDSMLFile

        public void processDSMLFile​(File file,
                                    OutputStream respStream)
                             throws Exception
        Process the given file and optionally writing the output to the output stream(if not null)
        Parameters:
        file - the DSML file
        respStream - the output stream to which response will be written, skipped if null
        Throws:
        Exception - If the processing fails
      • processDSML

        public void processDSML​(InputStream inputStream,
                                String inputEncoding,
                                OutputStream out)
                         throws Exception
        Processes the DSML request(s) from the given input stream with the specified encoding and writes the response to the output stream
        Parameters:
        inputStream - the input stream for DSML batch request
        inputEncoding - encoding to be used while reading the DSML request data
        out - the output stream to which DSML response will be written
        Throws:
        Exception - If the processing fails
      • processDSML

        protected void processDSML​(OutputStream outStream)
                            throws IOException
        Processes the DSML batch request and writes the response of each operation will be written to the given response stream if it is not null
        Parameters:
        outStream - the stream to which the responses will be written, can be null
        Throws:
        IOException - If we had an issue while reading or writing the data
      • writeResponse

        protected void writeResponse​(BufferedWriter respWriter,
                                     DsmlDecorator<?> respDsml)
                              throws IOException
        Writes the response to the writer of the underlying output stream
        Parameters:
        respWriter - The writer used to write the response
        respDsml - The decorator containing the response
        Throws:
        IOException - If we had an error while writing the DSML response
      • isGenerateSoapResp

        public boolean isGenerateSoapResp()
        Returns:
        the generateSoapResp
      • setGenerateSoapResp

        public void setGenerateSoapResp​(boolean generateSoapResp)
        Parameters:
        generateSoapResp - the generateSoapResp to set
      • getBatchResponse

        public BatchResponseDsml getBatchResponse()
        Returns:
        the batchResponse
      • getConnection

        public LdapConnection getConnection()
        Returns:
        the connection
      • processRequest

        protected void processRequest​(DsmlDecorator<? extends Request> request,
                                      BufferedWriter respWriter)
                               throws Exception
        Processes a single request
        Parameters:
        request - the request to process
        respWriter - The writer used to store the DSML response
        Throws:
        Exception - If we had an error while processing the request
      • processBatchRequest

        protected void processBatchRequest()
                                    throws XmlPullParserException
        Processes the BatchRequest
        • Parsing and Getting BatchRequest
        • Getting and registering options from BatchRequest
        Throws:
        XmlPullParserException - if an error occurs in the parser
      • bind

        protected void bind​(int messageId)
                     throws LdapException,
                            IOException
        Binds to the ldap server
        Parameters:
        messageId - the message Id
        Throws:
        LdapException - If we had an issue while binding
        IOException - If we had an issue while transmitting the request or re ceiving the response