private void processOpenIDMNotification(byte passwordEvent,String userDN,List<String> newPasswords,Map<String,List<String>> returnedData){
  if (logger.isTraceEnabled()) {
    logger.trace("Process notification: user %s 's password %s. Additional data: %s",userDN,(passwordEvent == PWD_CHANGED ? "changed" : "reset"),returnedData);
  }
  try {
    String paramPrefix=compatMode == OpenidmCompatMode.V2 ? "_" : "";
    Map<String,String> queryParameters=buildQueryParameters(paramPrefix,userDN,passwordEvent,returnedData);
    Map<String,Object> passwordsPatch=buildPatchForPasswords(newPasswords);
    if (interval > 0) {
      if (logger.isTraceEnabled()) {
        logger.trace("Pushing modification to local storage for user: %s",userDN);
      }
      Map<String,Object> request=new HashMap<>(2);
      request.put("queryParameter",queryParameters);
      request.put("patch",passwordsPatch);
      try {
        StringWriter writer=new StringWriter();
        mapper.writeValue(writer,request);
        queue.push(userDN,writer.toString());
      }
 catch (      Exception ex) {
        logger.traceException(ex,"Error when pushing modification to queue");
      }
    }
 else {
      if (logger.isTraceEnabled()) {
        logger.trace("Posting REST request to IDM for user: %s",userDN);
      }
      postRequestToIDM(queryParameters,passwordsPatch);
    }
  }
 catch (  Exception ex) {
    logger.traceException(ex,"Error when processing modification for user: %s",userDN);
  }
}

private void processOpenIDMNotification ( byte passwordEvent , String userDN , List < String > newPasswords , Map < String , List < String > > returnedData ) { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Process notification: user %s 's password %s. Additional data: %s" , userDN , ( passwordEvent == PWD_CHANGED ? "changed" : "reset" ) , returnedData ) ; } try { String paramPrefix = compatMode == OpenidmCompatMode . V2 ? "_" : "" ; Map < String , String > queryParameters = buildQueryParameters ( paramPrefix , userDN , passwordEvent , returnedData ) ; Map < String , Object > passwordsPatch = buildPatchForPasswords ( newPasswords ) ; if ( interval > 0 ) { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Pushing modification to local storage for user: %s" , userDN ) ; } Map < String , Object > request = new HashMap < > ( 2 ) ; request . put ( "queryParameter" , queryParameters ) ; request . put ( "patch" , passwordsPatch ) ; try { StringWriter writer = new StringWriter ( ) ; mapper . writeValue ( writer , request ) ; queue . push ( userDN , writer . toString ( ) ) ; } catch ( Exception ex ) { logger . traceException ( ex , "Error when pushing modification to queue" ) ; } } else { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Posting REST request to IDM for user: %s" , userDN ) ; } postRequestToIDM ( queryParameters , passwordsPatch ) ; } } catch ( Exception ex ) { logger . traceException ( ex , "Error when processing modification for user: %s" , userDN ) ; } }
processes a password change notification and sends it to openidm .
