Package org.apache.directory.shared.ldap.codec.search

Examples of org.apache.directory.shared.ldap.codec.search.SearchRequest


        monitor.reportProgress( " " ); //$NON-NLS-1$
        monitor.worked( 1 );

        try
        {
            SearchRequest searchRequest = new SearchRequest();
            searchRequest.setProtocolOP( searchRequest );

            // DN
            searchRequest.setBaseObject( searchParameter.getSearchBase( ) );

            // Scope
            SearchScope scope = searchParameter.getScope();
            if ( scope == SearchScope.OBJECT )
            {
                searchRequest.setScope( ScopeEnum.BASE_OBJECT );
            }
            else if ( scope == SearchScope.ONELEVEL )
            {
                searchRequest.setScope( ScopeEnum.SINGLE_LEVEL );
            }
            else if ( scope == SearchScope.SUBTREE )
            {
                searchRequest.setScope( ScopeEnum.WHOLE_SUBTREE );
            }

            // DerefAliases
            Connection.AliasDereferencingMethod derefAliases = searchParameter.getAliasesDereferencingMethod();
            switch ( derefAliases )
            {
                case ALWAYS:
                    searchRequest.setDerefAliases( LdapConstants.DEREF_ALWAYS );
                    break;
                case FINDING:
                    searchRequest.setDerefAliases( LdapConstants.DEREF_FINDING_BASE_OBJ );
                    break;
                case NEVER:
                    searchRequest.setDerefAliases( LdapConstants.NEVER_DEREF_ALIASES );
                    break;
                case SEARCH:
                    searchRequest.setDerefAliases( LdapConstants.DEREF_IN_SEARCHING );
                    break;
                default:
                    break;
            }

            // Time Limit
            int timeLimit = searchParameter.getTimeLimit();
            if ( timeLimit != 0 )
            {
                searchRequest.setTimeLimit( timeLimit );
            }

            // Size Limit
            int countLimit = searchParameter.getCountLimit();
            if ( countLimit != 0 )
            {
                searchRequest.setSizeLimit( countLimit );
            }

            // Filter
            searchRequest.setFilter( convertToSharedLdapFilter( searchParameter.getFilter() ) );

            // Attributes
            String[] returningAttributes = searchParameter.getReturningAttributes();
            for ( int i = 0; i < returningAttributes.length; i++ )
            {
                searchRequest.addAttribute( returningAttributes[i] );
            }

            // Controls
            List<org.apache.directory.shared.ldap.codec.Control> sharedLdapControls = convertToSharedLdapControls( searchParameter
                .getControls() );
            for ( int i = 0; i < sharedLdapControls.size(); i++ )
            {
                searchRequest.addControl( sharedLdapControls.get( i ) );
            }

            // Executing the request
            Document xmlRequest = DocumentHelper.createDocument();
            Element rootElement = xmlRequest.addElement( "batchRequest" );
View Full Code Here


     */
    public Element toDsml( Element root )
    {
        Element element = super.toDsml( root );

        SearchRequest request = ( SearchRequest ) instance;

        // DN
        if ( request.getBaseObject() != null )
        {
            element.addAttribute( "dn", request.getBaseObject().toString() );
        }

        // Scope
        ScopeEnum scope = request.getScope();
        if ( scope != null )
        {
            if ( scope == ScopeEnum.BASE_OBJECT )
            {
                element.addAttribute( "scope", "baseObject" );
            }
            else if ( scope == ScopeEnum.SINGLE_LEVEL )
            {
                element.addAttribute( "scope", "singleLevel" );
            }
            else if ( scope == ScopeEnum.WHOLE_SUBTREE )
            {
                element.addAttribute( "scope", "wholeSubtree" );
            }
        }

        // DerefAliases
        int derefAliases = request.getDerefAliases();
        if ( derefAliases == LdapConstants.NEVER_DEREF_ALIASES )
        {
            element.addAttribute( "derefAliases", "neverDerefAliases" );
        }
        else if ( derefAliases == LdapConstants.DEREF_IN_SEARCHING )
        {
            element.addAttribute( "derefAliases", "derefInSearching" );
        }
        else if ( derefAliases == LdapConstants.DEREF_FINDING_BASE_OBJ )
        {
            element.addAttribute( "derefAliases", "derefFindingBaseObj" );
        }
        else if ( derefAliases == LdapConstants.DEREF_ALWAYS )
        {
            element.addAttribute( "derefAliases", "derefAlways" );
        }

        // SizeLimit
        if ( request.getSizeLimit() != 0 )
        {
            element.addAttribute( "sizeLimit", "" + request.getSizeLimit() );
        }

        // TimeLimit
        if ( request.getTimeLimit() != 0 )
        {
            element.addAttribute( "timeLimit", "" + request.getTimeLimit() );
        }

        // TypesOnly
        if ( request.isTypesOnly() )
        {
            element.addAttribute( "typesOnly", "true" );
        }

        // Filter
        Element filterElement =  element.addElement( "filter" );
        toDsml( filterElement, request.getFilter() );

        // Attributes
        Attributes attributes = request.getAttributes();
        if ( attributes.size() > 0 )
        {
            Element attributesElement = element.addElement( "attributes" );

            NamingEnumeration<String> ids = attributes.getIDs();
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();

        assertEquals( "ou=marketing,dc=microsoft,dc=com", searchRequest.getBaseObject().toString() );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();

        assertEquals( 456, searchRequest.getMessageId() );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();
        Control control = searchRequest.getCurrentControl();

        assertEquals( 1, searchRequest.getControls().size() );
        assertTrue( control.getCriticality() );
        assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
        assertEquals( "Some text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();
        Control control = searchRequest.getCurrentControl();

        assertEquals( 1, searchRequest.getControls().size() );
        assertTrue( control.getCriticality() );
        assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
        assertEquals( "DSMLv2.0 rocks!!", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();
        Control control = searchRequest.getCurrentControl();

        assertEquals( 1, searchRequest.getControls().size() );
        assertTrue( control.getCriticality() );
        assertEquals( "1.2.840.113556.1.4.643", control.getControlType() );
        assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();
        Control control = searchRequest.getCurrentControl();

        assertEquals( 2, searchRequest.getControls().size() );
        assertFalse( control.getCriticality() );
        assertEquals( "1.2.840.113556.1.4.789", control.getControlType() );
        assertEquals( "Some other text", StringTools.utf8ToString( ( byte[] ) control.getControlValue() ) );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();
        Control control = searchRequest.getCurrentControl();

        assertEquals( 3, searchRequest.getControls().size() );
        assertTrue( control.getCriticality() );
        assertEquals( "1.2.840.113556.1.4.456", control.getControlType() );
        assertEquals( StringTools.EMPTY_BYTES, control.getControlValue() );
    }
View Full Code Here

        catch ( Exception e )
        {
            fail( e.getMessage() );
        }

        SearchRequest searchRequest = ( SearchRequest ) parser.getBatchRequest().getCurrentRequest();

        assertEquals( ScopeEnum.BASE_OBJECT, searchRequest.getScope() );
    }
View Full Code Here

TOP

Related Classes of org.apache.directory.shared.ldap.codec.search.SearchRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.