Examples of LDAPFilter


Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    /**
     * @see org.eclipse.jface.text.source.ICharacterPairMatcher#match(org.eclipse.jface.text.IDocument, int)
     */
    public IRegion match( IDocument document, int offset )
    {
        LdapFilter model = parser.getModel();
        if ( model != null )
        {
            LdapFilter filter = parser.getModel().getFilter( offset - 1 );

            if ( filter != null && filter.getStartToken() != null && filter.getStopToken() != null )
            {

                int left = filter.getStartToken().getOffset();
                int right = filter.getStopToken().getOffset();

                if ( left == offset - 1 )
                {
                    anchor = LEFT;
                    IRegion region = new Region( left, right - left + 1 );
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    public String getHoverInfo( ITextViewer textViewer, IRegion hoverRegion )
    {
        // check attribute type, object class or matching rule values
        if ( schema != null )
        {
            LdapFilter filter = parser.getModel().getFilter( hoverRegion.getOffset() );

            if ( filter.getFilterComponent() instanceof LdapFilterItemComponent )
            {
                LdapFilterItemComponent fc = ( LdapFilterItemComponent ) filter.getFilterComponent();
                if ( fc.getAttributeToken() != null
                    && fc.getAttributeToken().getOffset() <= hoverRegion.getOffset()
                    && hoverRegion.getOffset() <= fc.getAttributeToken().getOffset()
                        + fc.getAttributeToken().getLength() )
                {
                    String attributeType = fc.getAttributeToken().getValue();
                    AttributeTypeDescription attributeTypeDescription = schema
                        .getAttributeTypeDescription( attributeType );
                    String ldifLine = SchemaUtils.getLdifLine( attributeTypeDescription );
                    return ldifLine;
                }
                if ( fc.getAttributeToken() != null
                    && IAttribute.OBJECTCLASS_ATTRIBUTE.equalsIgnoreCase( fc.getAttributeToken().getValue() )
                    && fc.getValueToken() != null && fc.getValueToken().getOffset() <= hoverRegion.getOffset()
                    && hoverRegion.getOffset() <= fc.getValueToken().getOffset() + fc.getValueToken().getLength() )
                {
                    String objectClass = fc.getValueToken().getValue();
                    ObjectClassDescription objectClassDescription = schema.getObjectClassDescription( objectClass );
                    String ldifLine = SchemaUtils.getLdifLine( objectClassDescription );
                    return ldifLine;
                }
            }
            if ( filter.getFilterComponent() instanceof LdapFilterExtensibleComponent )
            {
                LdapFilterExtensibleComponent fc = ( LdapFilterExtensibleComponent ) filter.getFilterComponent();
                if ( fc.getAttributeToken() != null
                    && fc.getAttributeToken().getOffset() <= hoverRegion.getOffset()
                    && hoverRegion.getOffset() <= fc.getAttributeToken().getOffset()
                        + fc.getAttributeToken().getLength() )
                {
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

     * @param aep the auto edit parameters
     */
    public void customizeAutoEditParameters( String currentFilter, AutoEditParameters aep )
    {
        parser.parse( currentFilter );
        LdapFilter filter = parser.getModel().getFilter( aep.offset );
        if ( filter == null )
        {
            return;
        }

        // check balanced parenthesis
        int balanced = 0;
        for ( int i = 0; i < currentFilter.length(); i++ )
        {
            if ( currentFilter.charAt( i ) == '(' )
            {
                balanced++;
            }
            else if ( currentFilter.charAt( i ) == ')' )
            {
                balanced--;
            }
        }

        if ( aep.length > 0 && ( aep.text == null || "".equals( aep.text ) ) )
        {
            // delete surrounding parenthesis after deleting the last character
            if ( filter.toString().length() - aep.length == 2
                && filter.getStartToken() != null
                && filter.getStopToken() != null
                && aep.offset >= filter.getStartToken().getOffset() + filter.getStartToken().getLength()
                && aep.offset + aep.length <= filter.getStopToken().getOffset() )
            {
                if ( filter.toString().length() - aep.length == 2 )
                {
                    aep.offset -= 1;
                    aep.length += 2;
                    aep.caretOffset = aep.offset;
                    aep.shiftsCaret = false;
                }
            }
           
            // delete closing parenthesis after deleting the opening parenthesis
            if ( filter.toString().length() - aep.length == 1
                && filter.getStartToken() != null
                && filter.getStopToken() != null
                && aep.offset == filter.getStartToken().getOffset() )
            {
                aep.length += 1;
                aep.caretOffset = aep.offset;
                aep.shiftsCaret = false;
            }
           
        }

        if ( (aep.length == 0 || aep.length==currentFilter.length()) && aep.text != null && !"".equals( aep.text ) )
        {
            boolean isNewFilter = aep.text.equals( "(" );
            boolean isNewNestedFilter = aep.text.equals( "&" ) || aep.text.equals( "|" ) || aep.text.equals( "!" );
            boolean isSurroundNew = false;
            boolean isSurroundNested = false;
            boolean isSurroundBeforeOtherFilter = false;
            boolean isSurroundAfterOtherFilter = false;
            if( !Character.isWhitespace( aep.text.charAt( 0 ) ) && !aep.text.startsWith( "(" ) && !aep.text.endsWith( ")" ) )
            {
                // isSurroundNew
                isSurroundNew = aep.offset == 0;

                // isSurroundNested
                if ( filter.getStartToken() != null
                    && filter.getFilterComponent() != null
                    && ( filter.getFilterComponent() instanceof LdapAndFilterComponent
                        || filter.getFilterComponent() instanceof LdapOrFilterComponent || filter.getFilterComponent() instanceof LdapNotFilterComponent ) )
                {
                    LdapFilterComponent fc = filter.getFilterComponent();
                    LdapFilter[] filters = fc.getFilters();

                    if ( filters.length == 0 && aep.offset > fc.getStartToken().getOffset() )
                    {
                        // no nested filter yet
                        isSurroundNested = true;
                    }

                    if ( filters.length > 0 && aep.offset > fc.getStartToken().getOffset()
                        && aep.offset < filters[0].getStartToken().getOffset() )
                    {
                        // before first nested filter
                        isSurroundNested = true;
                    }

                    if ( filters.length > 0 && aep.offset > filters[filters.length - 1].getStopToken().getOffset()
                        && aep.offset <= filter.getStopToken().getOffset() )
                    {
                        // after last nested filter
                        isSurroundNested = true;
                    }

                    for ( int i = 0; i < filters.length; i++ )
                    {
                        if ( filters.length > i + 1 )
                        {
                            if ( aep.offset > filters[i].getStopToken().getOffset()
                                && aep.offset <= filters[i + 1].getStopToken().getOffset() )
                            {
                                // between nested filter
                                isSurroundNested = true;
                            }
                        }
                    }
                }

                // isSurroundBeforeOtherFilter
                isSurroundBeforeOtherFilter = filter.getStartToken() != null
                    && aep.offset == filter.getStartToken().getOffset();

                // isSurroundAfterOtherFilter
                isSurroundAfterOtherFilter = filter.getStopToken() != null
                    && aep.offset == filter.getStopToken().getOffset()
                    && ( filter.getFilterComponent() instanceof LdapAndFilterComponent
                        || filter.getFilterComponent() instanceof LdapOrFilterComponent || filter.getFilterComponent() instanceof LdapNotFilterComponent );
            }
           
            //System.out.println("isSurroundNew="+isSurroundNew+", isSurroundNested="+isSurroundNested+", isSurroundAfterOtherFilter="+isSurroundAfterOtherFilter+", isSurroundBeforeOtherFilter="+isSurroundBeforeOtherFilter);

            // add opening parenthesis '('
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

        String[] possibleObjectClasses = schema == null ? new String[0] : SchemaUtils.getNamesAsArray( schema
            .getObjectClassDescriptions() );
        Arrays.sort( possibleObjectClasses );

        List<ICompletionProposal> proposalList = new ArrayList<ICompletionProposal>();
        LdapFilter filter = parser.getModel().getFilter( offset );
        if ( filter != null && offset > 0 )
        {
            // case 0: open curly started, show templates and all attribute types
            if ( filter.getStartToken() != null && filter.getFilterComponent() == null )
            {
                if ( sourceViewer != null )
                {
                    ICompletionProposal[] templateProposals = super.computeCompletionProposals( sourceViewer, offset );
                    if ( templateProposals != null )
                    {
                        proposalList.addAll( Arrays.asList( templateProposals ) );
                    }
                }
                addPossibleAttributeTypes( proposalList, "", offset );
            }

            // case A: simple filter
            if ( filter.getFilterComponent() != null && filter.getFilterComponent() instanceof LdapFilterItemComponent )
            {
                LdapFilterItemComponent fc = ( LdapFilterItemComponent ) filter.getFilterComponent();

                // case A1: editing attribute type: show matching attribute types
                if ( fc.getStartToken().getOffset() <= offset
                    && offset <= fc.getStartToken().getOffset() + fc.getStartToken().getLength() )
                {
                    addPossibleAttributeTypes( proposalList, fc.getAttributeToken().getValue(), fc.getAttributeToken()
                        .getOffset() );
                }

                String attributeType = null;
                if ( schema != null && schema.hasAttributeTypeDescription( fc.getAttributeToken().getValue() ) )
                {
                    attributeType = fc.getAttributeToken().getValue();
                }

                // case A2: after attribte type: show possible filter types and extensible match options
                if ( attributeType != null )
                {
                    if ( ( fc.getAttributeToken().getOffset() <= offset || fc.getFilterToken() != null )
                        && offset <= fc.getAttributeToken().getOffset() + fc.getAttributeToken().getLength()
                            + ( fc.getFilterToken() != null ? fc.getFilterToken().getLength() : 0 ) )
                    {
                        //String attributeType = fc.getAttributeToken().getValue();
                        String filterType = fc.getFilterToken() != null ? fc.getFilterToken().getValue() : "";
                        int filterTypeOffset = fc.getAttributeToken().getOffset() + fc.getAttributeToken().getLength();
                        addPossibleFilterTypes( proposalList, attributeType, filterType, filterTypeOffset );
                    }
                }

                // case A3: editing objectClass attribute: show matching object classes
                if ( attributeType != null && IAttribute.OBJECTCLASS_ATTRIBUTE.equalsIgnoreCase( attributeType ) )
                {
                    if ( ( fc.getValueToken() != null && fc.getValueToken().getOffset() <= offset || fc
                        .getFilterToken() != null )
                        && offset <= fc.getAttributeToken().getOffset() + fc.getAttributeToken().getLength()
                            + ( fc.getFilterToken() != null ? fc.getFilterToken().getLength() : 0 )
                            + ( fc.getValueToken() != null ? fc.getValueToken().getLength() : 0 ) )
                    {
                        addPossibleObjectClasses( proposalList, fc.getValueToken() == null ? "" : fc.getValueToken()
                            .getValue(), fc.getValueToken() == null ? offset : fc.getValueToken().getOffset() );
                    }
                }
            }

            // case B: extensible filter
            if ( filter.getFilterComponent() != null
                && filter.getFilterComponent() instanceof LdapFilterExtensibleComponent )
            {
                LdapFilterExtensibleComponent fc = ( LdapFilterExtensibleComponent ) filter.getFilterComponent();

                // case B1: editing extensible attribute type: show matching attribute types
                if ( fc.getAttributeToken() != null && fc.getAttributeToken().getOffset() <= offset
                    && offset <= fc.getAttributeToken().getOffset() + fc.getAttributeToken().getLength() )
                {
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

     * @see org.eclipse.jface.text.formatter.IFormattingStrategy#format(java.lang.String, boolean, java.lang.String, int[])
     */
    public String format( String content, boolean isLineStart, String indentation, int[] positions )
    {
        // this.parser.parse(content);
        LdapFilter model = parser.getModel();
        if ( model != null && model.isValid() )
        {
            sourceViewer.getDocument().set( getFormattedFilter( model, 0 ) );
        }

        return null;
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    public void testLpar()
    {
        parser.parse( "(" );

        LdapFilter model = parser.getModel();

        assertNotNull( model.getStartToken() );
        assertEquals( 0, model.getStartToken().getOffset() );
        assertEquals( 1, model.getStartToken().getLength() );
        assertEquals( LdapFilterToken.LPAR, model.getStartToken().getType() );
        assertEquals( "(", model.getStartToken().getValue() );

        assertNull( model.getFilterComponent() );

        assertNull( model.getStopToken() );

        assertEquals( "(", model.toString() );
        assertEquals( "(", model.toUserProvidedString() );
        assertFalse( parser.getModel().isValid() );
    }
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    public void testLparAttr()
    {
        parser.parse( "(objectClass" );

        LdapFilter model = parser.getModel();

        assertNotNull( model.getStartToken() );
        assertEquals( 0, model.getStartToken().getOffset() );
        assertEquals( 1, model.getStartToken().getLength() );
        assertEquals( LdapFilterToken.LPAR, model.getStartToken().getType() );
        assertEquals( "(", model.getStartToken().getValue() );

        LdapFilterComponent filterComponent = model.getFilterComponent();
        assertNotNull( filterComponent );
        assertTrue( filterComponent instanceof LdapFilterItemComponent );
        LdapFilterItemComponent filterItemComponent = ( LdapFilterItemComponent ) filterComponent;
        assertNotNull( filterItemComponent.getAttributeToken() );
        assertEquals( 1, filterItemComponent.getAttributeToken().getOffset() );
        assertEquals( 11, filterItemComponent.getAttributeToken().getLength() );
        assertEquals( LdapFilterToken.ATTRIBUTE, filterItemComponent.getAttributeToken().getType() );
        assertEquals( "objectClass", filterItemComponent.getAttributeToken().getValue() );
        assertNull( filterItemComponent.getFilterToken() );
        assertNull( filterItemComponent.getValueToken() );

        assertNull( model.getStopToken() );

        assertEquals( "(objectClass", model.toString() );
        assertEquals( "(objectClass", model.toUserProvidedString() );
        assertFalse( parser.getModel().isValid() );
    }
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    public void testLparAttrEquals()
    {
        parser.parse( "(objectClass=" );

        LdapFilter model = parser.getModel();

        assertNotNull( model.getStartToken() );
        assertEquals( 0, model.getStartToken().getOffset() );
        assertEquals( 1, model.getStartToken().getLength() );
        assertEquals( LdapFilterToken.LPAR, model.getStartToken().getType() );
        assertEquals( "(", model.getStartToken().getValue() );

        LdapFilterComponent filterComponent = model.getFilterComponent();
        assertNotNull( filterComponent );
        assertTrue( filterComponent instanceof LdapFilterItemComponent );
        LdapFilterItemComponent filterItemComponent = ( LdapFilterItemComponent ) filterComponent;
        assertNotNull( filterItemComponent.getAttributeToken() );
        assertEquals( 1, filterItemComponent.getAttributeToken().getOffset() );
        assertEquals( 11, filterItemComponent.getAttributeToken().getLength() );
        assertEquals( LdapFilterToken.ATTRIBUTE, filterItemComponent.getAttributeToken().getType() );
        assertEquals( "objectClass", filterItemComponent.getAttributeToken().getValue() );

        assertNotNull( filterItemComponent.getFilterToken() );
        assertEquals( 12, filterItemComponent.getFilterToken().getOffset() );
        assertEquals( 1, filterItemComponent.getFilterToken().getLength() );
        assertEquals( LdapFilterToken.EQUAL, filterItemComponent.getFilterToken().getType() );
        assertEquals( "=", filterItemComponent.getFilterToken().getValue() );

        assertNull( filterItemComponent.getValueToken() );

        assertNull( model.getStopToken() );

        assertEquals( "(objectClass=", model.toString() );
        assertEquals( "(objectClass=", model.toUserProvidedString() );
        assertFalse( parser.getModel().isValid() );
    }
View Full Code Here

Examples of org.apache.directory.studio.ldapbrowser.core.model.filter.LdapFilter

    public void testLparAttrEqualsRpar()
    {
        parser.parse( "(objectClass=)" );

        LdapFilter model = parser.getModel();

        assertNotNull( model.getStartToken() );
        assertEquals( 0, model.getStartToken().getOffset() );
        assertEquals( 1, model.getStartToken().getLength() );
        assertEquals( LdapFilterToken.LPAR, model.getStartToken().getType() );
        assertEquals( "(", model.getStartToken().getValue() );

        LdapFilterComponent filterComponent = model.getFilterComponent();
        assertNotNull( filterComponent );
        assertTrue( filterComponent instanceof LdapFilterItemComponent );
        LdapFilterItemComponent filterItemComponent = ( LdapFilterItemComponent ) filterComponent;
        assertNotNull( filterItemComponent.getAttributeToken() );
        assertEquals( 1, filterItemComponent.getAttributeToken().getOffset() );
        assertEquals( 11, filterItemComponent.getAttributeToken().getLength() );
        assertEquals( LdapFilterToken.ATTRIBUTE, filterItemComponent.getAttributeToken().getType() );
        assertEquals( "objectClass", filterItemComponent.getAttributeToken().getValue() );

        assertNotNull( filterItemComponent.getFilterToken() );
        assertEquals( 12, filterItemComponent.getFilterToken().getOffset() );
        assertEquals( 1, filterItemComponent.getFilterToken().getLength() );
        assertEquals( LdapFilterToken.EQUAL, filterItemComponent.getFilterToken().getType() );
        assertEquals( "=", filterItemComponent.getFilterToken().getValue() );

        assertNotNull( filterItemComponent.getValueToken() );

        assertNotNull( model.getStopToken() );

        assertEquals( "(objectClass=)", model.toString() );
        assertEquals( "(objectClass=)", model.toUserProvidedString() );
        assertTrue( parser.getModel().isValid() );
    }
View Full Code Here

Examples of org.apache.tuscany.sca.extensibility.impl.LDAPFilter

     * @throws IOException
     */
    public Collection<ServiceDeclaration> getServiceDeclarations(Class<?> serviceType, String filter) throws IOException {
        Collection<ServiceDeclaration> sds = getServiceDeclarations(serviceType, false);
        Collection<ServiceDeclaration> filtered = new ArrayList<ServiceDeclaration>();
        LDAPFilter filterImpl = LDAPFilter.newInstance(filter);
        for(ServiceDeclaration sd: sds) {
            if(filterImpl.match(sd.getAttributes())) {
                filtered.add(sd);
            }
        }
        return filtered;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.