/** {@inheritDoc} */ @Override public Response<Void> delete(final DeleteRequest request) throws LdapException { Response<Void> response = null; try { final LDAPResponseQueue queue = connection.delete(request.getDn(), (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, null, lr); } catch (LDAPException e) { processLDAPException(e); } return response; }
/** {@inheritDoc} */ @Override public Response<Void> add(final AddRequest request) throws LdapException { Response<Void> response = null; try { final JLdapUtils bu = new JLdapUtils(); final LDAPResponseQueue queue = connection.add( new LDAPEntry(request.getDn(), bu.fromLdapAttributes(request.getLdapAttributes())), (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, null, lr); } catch (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 { final LDAPResponseQueue queue = connection.bind( LDAPConnection.LDAP_V3, request.getDn(), request.getCredential().getBytes(), (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, null, lr); } catch (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 { final LDAPResponseQueue queue = connection.bind( LDAPConnection.LDAP_V3, (String) null, (byte[]) null, (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, null, lr); } catch (LDAPException e) { processLDAPException(e); } return response; }
/** {@inheritDoc} */ @Override public Response<Boolean> compare(final CompareRequest request) throws LdapException { Response<Boolean> response = null; try { final JLdapUtils bu = new JLdapUtils(); final LDAPResponseQueue queue = connection.compare( request.getDn(), bu.fromLdapAttribute(request.getAttribute()), (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, lr.getResultCode() == ResultCode.COMPARE_TRUE.value(), lr); } catch (LDAPException e) { processLDAPException(e); } return response; }
/** {@inheritDoc} */ @Override public Response<Void> modifyDn(final ModifyDnRequest request) throws LdapException { Response<Void> response = null; try { final String[] dn = request.getNewDn().split(",", 2); final LDAPResponseQueue queue = connection.rename( request.getDn(), dn[0], dn[1], request.getDeleteOldRDn(), (LDAPResponseQueue) null, getLDAPConstraints(request)); final LDAPResponse lr = (LDAPResponse) queue.getResponse(); response = createResponse(request, null, lr); } catch (LDAPException e) { processLDAPException(e); } return response; }
/** * Sends the LDAPExtendedRequest to the ldap server using the specified, connection and registers * the listener with the parent polling thread. * * @param conn LDAPConnection for sending LDAPOperation. * @param requestoperation LDAPExtendedOperation to be send as LDAPExtendedRequest. * @param alistener The LDAPListener to be registered. * @throws LDAPException When the underlying operations on connection fails. */ private void sendExtendedRequest( final LDAPConnection conn, final LDAPExtendedOperation requestoperation, final LDAPEventListener alistener) throws LDAPException { LDAPResponseQueue queue = conn.extendedOperation(requestoperation, null, null); EdirEventsGenerator eventgenerator = null; int[] ids = queue.getMessageIDs(); if (ids.length == 1) { eventgenerator = new EdirEventsGenerator(alistener); super.pollforevents(queue, conn, eventgenerator, ids[0], this); } else { /// CLOVER:OFF throw new LDAPException(null, LDAPException.LOCAL_ERROR, "Unable to Obtain Message Id"); /// CLOVER:ON } }