/** {@inheritDoc} */ @Override public void messageReceived(final LDAPExtendedResponse extendedResponse) { logger.debug("Unsolicited notification received: {}", extendedResponse); synchronized (listeners) { final Response<Void> response = createResponse(null, null, extendedResponse); for (UnsolicitedNotificationListener listener : listeners) { listener.notificationReceived(extendedResponse.getID(), response); } } }
/** {@inheritDoc} */ @Override public Response<?> extendedOperation(final ExtendedRequest request) throws LdapException { Response<?> response = null; try { final LDAPExtendedResponse ldapExtRes = connection.extendedOperation( new LDAPExtendedOperation(request.getOID(), request.encode()), getLDAPConstraints(request)); final ExtendedResponse<?> extRes = ExtendedResponseFactory.createExtendedResponse( request.getOID(), ldapExtRes.getID(), ldapExtRes.getValue()); response = createResponse(request, extRes.getValue(), ldapExtRes); } catch (LDAPException e) { processLDAPException(e); } return response; }