final LdapContext ctx = (LdapContext) loopEx.getReferralContext( searchContext.getEnvironment(), config.getControlProcessor().processRequestControls(request.getControls())); search(ctx, request); } catch (LdapReferralException e) {
@Override public void abandon(final int messageId, final RequestControl[] controls) throws LdapException { final AbandonRequestImpl ari = new AbandonRequestImpl(); if (controls != null) { ari.addAllControls(config.getControlProcessor().processRequestControls(controls)); } ari.setAbandoned(messageId); connection.abandon(ari); }
/** * Creates a new ldap context using {@link LdapContext#newInstance(Control[])}. Adds any additional environment * properties found in the supplied request to the context. * * @param request to read properties from * * @return ldap context * * @throws NamingException if a property cannot be added to the context */ protected LdapContext initializeContext(final Request request) throws NamingException { final LdapContext ctx = context.newInstance( config.getControlProcessor().processRequestControls(request.getControls())); // by default set referral behavior to throw, otherwise jndi will send the // ManageDsaIT control ctx.addToEnvironment(REFERRAL, "throw"); return ctx; }
/** * Creates a new ldap context using {@link LdapContext#newInstance(Control[])}. Adds any additional environment * properties found in the supplied request to the context. * * @param request to read properties from * * @return ldap context * * @throws NamingException if a property cannot be added to the context */ protected LdapContext initializeContext(final Request request) throws NamingException { final LdapContext ctx = context.newInstance( config.getControlProcessor().processRequestControls(request.getControls())); // by default set referral behavior to throw, otherwise jndi will send the // ManageDsaIT control ctx.addToEnvironment(REFERRAL, "throw"); return ctx; }
/** * Creates a new ldap context using {@link LdapContext#newInstance(Control[])}. Adds any additional environment * properties found in the supplied request to the context. * * @param request to read properties from * * @return ldap context * * @throws NamingException if a property cannot be added to the context */ protected LdapContext initializeContext(final Request request) throws NamingException { final LdapContext ctx = context.newInstance( config.getControlProcessor().processRequestControls(request.getControls())); // by default set referral behavior to throw, otherwise jndi will send the // ManageDsaIT control ctx.addToEnvironment(REFERRAL, "throw"); return ctx; }
/** * Executes an ldap search. * * @param conn to search with * @param sr to read properties from * * @return ldap search results * * @throws org.apache.directory.api.ldap.model.exception.LdapException if an error occurs */ protected SearchCursor search(final LdapNetworkConnection conn, final org.ldaptive.SearchRequest sr) throws org.apache.directory.api.ldap.model.exception.LdapException { final SearchRequest apacheSr = getSearchRequest(sr); final Control[] c = config.getControlProcessor().processRequestControls(sr.getControls()); if (c != null) { apacheSr.addAllControls(c); } return conn.search(apacheSr); }
searchContext = context.newInstance(config.getControlProcessor().processRequestControls(request.getControls())); initializeSearchContext(searchContext, request); results = search(searchContext, request);
/** * Performs an anonymous bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> anonymousBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { final BindRequestImpl bri = new BindRequestImpl(); if (request.getControls() != null) { bri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } final BindResponse br = connection.bind(bri); throwOperationException(request, br); response = createResponse(request, null, br); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
/** * Performs an anonymous bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> anonymousBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "none"); context.removeFromEnvironment(PRINCIPAL); context.removeFromEnvironment(CREDENTIALS); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
/** * Performs an anonymous bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> anonymousBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "none"); context.removeFromEnvironment(PRINCIPAL); context.removeFromEnvironment(CREDENTIALS); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
/** * Performs an anonymous bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> anonymousBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "none"); context.removeFromEnvironment(PRINCIPAL); context.removeFromEnvironment(CREDENTIALS); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
@Override public Response<Void> delete(final DeleteRequest request) throws LdapException { Response<Void> response = null; try { final DeleteRequestImpl dri = new DeleteRequestImpl(); if (request.getControls() != null) { dri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } dri.setName(new Dn(request.getDn())); final DeleteResponse dr = connection.delete(dri); throwOperationException(request, dr); response = createResponse(request, null, dr); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
/** * Performs a simple bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> simpleBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "simple"); context.addToEnvironment(PRINCIPAL, request.getDn()); context.addToEnvironment(CREDENTIALS, request.getCredential().getBytes()); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
/** * Performs a simple bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> simpleBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "simple"); context.addToEnvironment(PRINCIPAL, request.getDn()); context.addToEnvironment(CREDENTIALS, request.getCredential().getBytes()); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
/** * Performs a simple bind. * * @param request to bind with * * @return bind response * * @throws LdapException if an error occurs */ protected Response<Void> simpleBind(final BindRequest request) throws LdapException { Response<Void> response = null; try { context.addToEnvironment(AUTHENTICATION, "simple"); context.addToEnvironment(PRINCIPAL, request.getDn()); context.addToEnvironment(CREDENTIALS, request.getCredential().getBytes()); context.reconnect(config.getControlProcessor().processRequestControls(request.getControls())); response = createResponse(request, null, ResultCode.SUCCESS, null, context); } catch (ReferralException e) { final String[] refUrls = e.getReferralInfo() != null ? new String[] {(String) e.getReferralInfo()} : null; response = createResponse(request, null, ResultCode.REFERRAL, refUrls, context); } catch (NamingException e) { processNamingException(request, e, null, context); } return response; }
@Override public Response<Void> add(final AddRequest request) throws LdapException { Response<Void> response = null; try { final ApacheLdapUtils bu = new ApacheLdapUtils(); final AddRequestImpl ari = new AddRequestImpl(); if (request.getControls() != null) { ari.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } ari.setEntry(bu.fromLdapEntry(new LdapEntry(request.getDn(), request.getLdapAttributes()))); final AddResponse ar = connection.add(ari); throwOperationException(request, ar); response = createResponse(request, null, ar); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
@Override public Response<Void> modify(final ModifyRequest request) throws LdapException { Response<Void> response = null; try { final ApacheLdapUtils bu = new ApacheLdapUtils(); final ModifyRequestImpl mri = new ModifyRequestImpl(); if (request.getControls() != null) { mri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } mri.setName(new Dn(request.getDn())); for (Modification m : bu.fromAttributeModification(request.getAttributeModifications())) { mri.addModification(m); } final ModifyResponse mr = connection.modify(mri); throwOperationException(request, mr); response = createResponse(request, null, mr); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
final BindRequestImpl bri = new BindRequestImpl(); if (request.getControls() != null) { bri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls()));
@Override public Response<Void> modifyDn(final ModifyDnRequest request) throws LdapException { Response<Void> response = null; try { final Dn dn = new Dn(request.getDn()); final Dn newDn = new Dn(request.getNewDn()); final ModifyDnRequestImpl mdri = new ModifyDnRequestImpl(); if (request.getControls() != null) { mdri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } mdri.setName(dn); mdri.setNewRdn(newDn.getRdn()); mdri.setNewSuperior(newDn.getParent()); mdri.setDeleteOldRdn(request.getDeleteOldRDn()); final ModifyDnResponse mdr = connection.modifyDn(mdri); throwOperationException(request, mdr); response = createResponse(request, null, mdr); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }
@Override public Response<Boolean> compare(final CompareRequest request) throws LdapException { Response<Boolean> response = null; try { final CompareRequestImpl cri = new CompareRequestImpl(); if (request.getControls() != null) { cri.addAllControls(config.getControlProcessor().processRequestControls(request.getControls())); } cri.setName(new Dn(request.getDn())); cri.setAttributeId(request.getAttribute().getName()); if (request.getAttribute().isBinary()) { cri.setAssertionValue(request.getAttribute().getBinaryValue()); } else { cri.setAssertionValue(request.getAttribute().getStringValue()); } final CompareResponse cr = connection.compare(cri); throwOperationException(request, cr); response = createResponse(request, cr.isTrue(), cr); } catch (LdapOperationException e) { processLdapOperationException(e); } catch (org.apache.directory.api.ldap.model.exception.LdapException e) { processLdapException(e); } return response; }