/** * {@inheritDoc} */ @Override public ExprNode getFilter() { return getDecorated().getFilter(); }
/** * {@inheritDoc} */ @Override public ExprNode getFilter() { return getDecorated().getFilter(); }
/** * {@inheritDoc} */ @Override public ExprNode getFilter() { return getDecorated().getFilter(); }
/** * {@inheritDoc} */ @Override public ExprNode getFilter() { return getDecorated().getFilter(); }
public ExprNode modifyFilter( LdapSession session, SearchRequest req ) throws Exception { /* * Most of the time the search filter is just (objectClass=*) and if * this is the case then there's no reason at all to OR this with an * (objectClass=referral). If we detect this case then we leave it * as is to represent the OR condition: * * (| (objectClass=referral)(objectClass=*)) == (objectClass=*) */ boolean isOcPresenceFilter = false; if ( req.getFilter() instanceof PresenceNode ) { PresenceNode presenceNode = ( PresenceNode ) req.getFilter(); AttributeType at = session.getCoreSession().getDirectoryService().getSchemaManager() .lookupAttributeTypeRegistry( presenceNode.getAttribute() ); if ( at.getOid().equals( SchemaConstants.OBJECT_CLASS_AT_OID ) ) { isOcPresenceFilter = true; } } ExprNode filter = req.getFilter(); if ( !req.hasControl( ManageDsaIT.OID ) && !isOcPresenceFilter ) { filter = new OrNode( req.getFilter(), newIsReferralEqualityNode( session ) ); } return filter; }
/** * Create a new instance of a NotiticationCriteria initialized with a search request * * @param schemaManager The SchemaManager instance * @param req The SearchRequest */ public NotificationCriteria( SchemaManager schemaManager, SearchRequest req ) { this.scope = req.getScope(); this.aliasDerefMode = req.getDerefAliases(); this.base = req.getBase(); this.filter = req.getFilter(); this.schemaManager = schemaManager; }
private Map<String, Object> searchUsersAttributes(final String username, LdapConnection userCon) throws IOException, LdapException { Map<String, Object> contextMap; Map<String, Object> userAttributes = new HashMap<>(); for (Request request : requests) { if (request.getName().equalsIgnoreCase(USER_LOOK_UP)) { log.info("Request: {}", request.getName()); log.info("Putting user param {} : {}", ldapSearchAttribute, username); SearchRequest sr = request.buildSearchRequest(Collections. singletonMap(Pattern.quote(ldapSearchAttribute), username)); String filter = sr.getFilter().toString(); contextMap = (useCache) ? LdapFilterCache.getInstance().getLdapFilterInfo(filter) : null; SearchResultToDictionaryMapper mapper = new SearchResultToDictionaryMapper(request.getName(), new HashMap<>()); log.debug("Retrieving new branch {} for {}", request.getName(), filter); try (SearchCursor cursor = userCon.search(sr)) { contextMap = mapper.transformSearchResult(cursor); Iterator<Object> iterator = contextMap.values().iterator(); if (iterator.hasNext()) { @SuppressWarnings("unchecked") Map<String, Object> ua = (Map<String, Object>) iterator.next(); log.info("User atttr {} ", ua); userAttributes = ua; } } } } log.info("User context is: {}", userAttributes); return userAttributes; }
/** * {@inheritDoc} */ @Override public SearchRequest setFilter( String filter ) throws LdapException { getDecorated().setFilter( filter ); this.currentFilter = transform( getDecorated().getFilter() ); return this; }
/** * {@inheritDoc} */ @Override public SearchRequest setFilter( String filter ) throws LdapException { getDecorated().setFilter( filter ); this.currentFilter = transform( getDecorated().getFilter() ); return this; }
/** * {@inheritDoc} */ @Override public SearchRequest setFilter( String filter ) throws LdapException { getDecorated().setFilter( filter ); this.currentFilter = transform( getDecorated().getFilter() ); return this; }
boolean isObjectClassFilter = false; if ( req.getFilter() instanceof PresenceNode ) ExprNode filter = req.getFilter(); AttributeType attributeType = ( ( PresenceNode ) req.getFilter() ).getAttributeType(); isObjectClassFilter = attributeType.equals( session.getCoreSession().getDirectoryService() .getAtProvider().getObjectClass() ); String attribute = ( ( PresenceNode ) req.getFilter() ).getAttribute(); isObjectClassFilter = attribute.equalsIgnoreCase( SchemaConstants.OBJECT_CLASS_AT ) || attribute.equals( SchemaConstants.OBJECT_CLASS_AT_OID );
SearchRequest sr = req.buildSearchRequest(Collections .singletonMap(Pattern.quote(ldapSearchAttribute), username)); String filter = sr.getFilter().toString(); Map<String, Object> contextMap = (useCache) ? LdapFilterCache.getInstance().getLdapFilterInfo(filter) : null;
getDecorated().getFilter().accept( visitor ); hash = hash * 17 + currentFilter.toString().hashCode(); hash = hash * 17 + super.hashCode();
getDecorated().getFilter().accept( visitor ); hash = hash * 17 + currentFilter.toString().hashCode(); hash = hash * 17 + super.hashCode();
getDecorated().getFilter().accept( visitor ); hash = hash * 17 + currentFilter.toString().hashCode(); hash = hash * 17 + super.hashCode();
/** * Creates a new instance of SearchOperationContext. * * @param session The session to use * @param searchRequest The SearchRequest to process */ public SearchOperationContext( CoreSession session, SearchRequest searchRequest ) { super( session, searchRequest.getBase(), searchRequest.getAttributes().toArray( StringConstants.EMPTY_STRINGS ) ); if ( session != null ) { setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.SEARCH ) ); } this.filter = searchRequest.getFilter(); this.abandoned = searchRequest.isAbandoned(); this.aliasDerefMode = searchRequest.getDerefAliases(); this.requestControls = searchRequest.getControls(); this.scope = searchRequest.getScope(); this.sizeLimit = searchRequest.getSizeLimit(); this.timeLimit = searchRequest.getTimeLimit(); this.typesOnly = searchRequest.getTypesOnly(); throwReferral = !requestControls.containsKey( ManageDsaIT.OID ); }
toDsml( filterElement, request.getFilter() );
criteria.setAliasDerefMode( req.getDerefAliases() ); criteria.setBase( req.getBase() ); criteria.setFilter( req.getFilter() ); criteria.setScope( req.getScope() ); criteria.setEventMask( EventType.getEventTypes( psearch.getChangeTypes() ) );