@Test public void testGetOperadorByHashExistente() throws Exception { OperadorEntity operador = this.getDao().getOperadorByHash("8Mtqm/8fyKc4AszApw1XaDKdRMg="); assertNotNull(operador); // assertEquals("autoridad.com", operador.getEmail()); assertEquals("8Mtqm/8fyKc4AszApw1XaDKdRMg=", operador.getHashCertificado()); assertEquals("NO TIENE", operador.getCif()); assertEquals("mnemo-auditorseguridad", operador.getRazonSocial()); }
public ResultadoType bajaJugador(Baja bajaJugador, int idPeticion) throws BajaJugadorFault_Exception { // TODO Auto-generated method stub log.info( "Peticion de Baja. **Operador " + operador.getIdOperador() + " **DNI: " + bajaJugador.getDni() + " **Causa: " + bajaJugador.getCausa()); ResultadoType result = isInvalidDNI(bajaJugador.getDni()); if (result != null) { if (bajaJugador.getDni() != null && !bajaJugador.getDni().isEmpty()) gestionJugadoresService.almacenarBaja(operador, bajaJugador, result, idPeticion); return result; } result = isInvalidCausa(bajaJugador.getCausa()); if (result != null) { gestionJugadoresService.almacenarBaja(operador, bajaJugador, result, idPeticion); return result; } result = gestionJugadoresService.getBaja(operador, bajaJugador.getDni()); log.debug("Resultado de la Baja: " + result.getCodigo()); gestionJugadoresService.almacenarBaja(operador, bajaJugador, result, idPeticion); // Se actualiza el estado en el RGIAJ if (CodigosVerificacion.COD_BAJA_OK.equalsIgnoreCase(result.getCodigo())) gestionJugadoresService.actualizarBajaRIAGJ(operador, bajaJugador.getDni()); return result; }
/** * Chequea el estado del Operador. Que no est� deshabilitado @ 0: Operador deshabilitado @ 1: * Operador con peticiones de jugador para prueba @ 2: Operador con peticiones de jugador reales @ * 3: Operador con ambos tipos de peticiones, reales y prueba * * @param operador * @throws VerificarIdentidadFault_Exception */ public void checkDesabilitado() throws VerificarIdentidadFault_Exception { log.debug("Chequeo de operador deshabilitado"); if (operador.getModeEnabled() == 0) { log.debug("Operador deshabilitado"); VerificarIdentidadFault fault2 = new VerificarIdentidadFault(); fault2.setVerificarIdentidadFault(CodigosVerificacion.ERROR_OPERADOR_INCORRECTO); throw new VerificarIdentidadFault_Exception( CodigosVerificacion.DESC_ERROR_OPERADOR_INCORRECTO, fault2); } }
/** Retorna todos los cambios registrados en el estado de los jugadores de un operador en RGIAJ */ public List<CambioRGIAJ> verificarCambiosRGIAJ() { List<CambioRGIAJ> listaResultado = new ArrayList<CambioRGIAJ>(); List<IJugadoresCambioRGIAJ> cambiosEntities = null; if (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU) // Se consultan los cambios en RGIAJ en Prueba cambiosEntities = this.getVerificacionDao().getCambiosJugadoresTest(operador.getIdOperador()); else // Se consultan los cambios en RGIAJ normalmente cambiosEntities = this.getVerificacionDao().getCambiosJugadores(operador.getIdOperador()); // Para cada cambio se rellena el resultado a devolver en forma de lista for (IJugadoresCambioRGIAJ cambioEntity : cambiosEntities) { CambioRGIAJ cambio = new CambioRGIAJ(); cambio.setDNI(cambioEntity.getId().getDni()); cambio.setMotivoCambio(cambioEntity.getEvento()); cambio.setFechaCambio(cambioEntity.getFechaValor()); listaResultado.add(cambio); } return listaResultado; }
/** * @param list * @param identidad * @param rgia * @param idPeticion * @throws Exception */ private void almacenarConsultaJugadoresOperador( List list, boolean identidad, boolean rgia, int idPeticion) { log.debug("<--------Inicio almacenar consulta jugadores con IdPeticion--------> "); log.debug("IdPeticion: " + idPeticion); if (jugadores != null) { for (Jugador jugador : jugadores) { String dni = jugador.getDni(); StringBuffer buf = new StringBuffer(); if (!ValidadorNIF.isNifNie(jugador.getDni())) { if (jugador.getDni().length() > 9) dni = jugador.getDni().substring(0, 9); if (dni == null || dni.trim().isEmpty()) return; } if (identidad && rgia) { log.debug("Almacenar jugador de consulta Verificar Jugadores"); String res_rgiaj = null; String res_identidad = null; boolean validado = true; int indicador = 1; if (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU) indicador = 4; if (!ValidadorJugador.todosCaracteresAlfanumericos(jugador)) validado = false; for (Iterator<ResultadoJugador> iterRes = list.iterator(); iterRes.hasNext(); ) { ResultadoJugador resJugador = iterRes.next(); if (resJugador.getDni().equalsIgnoreCase(jugador.getDni())) { res_rgiaj = resJugador.getResultadoRGIAJ().getCodigo(); res_identidad = resJugador.getResultadoIdentidad().getCodigo(); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_CORRECTA_CACHE)) resJugador .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_CORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA_CACHE)) resJugador .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_CORRECTA_TEST)) resJugador .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_CORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA_TEST)) resJugador .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD_TEST)) resJugador .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD); if (res_rgiaj != null && res_rgiaj.contains("TEST")) { res_rgiaj = res_rgiaj.substring(0, 6); resJugador.getResultadoRGIAJ().setCodigo(res_rgiaj); indicador = 4; } // if (resJugador.getResultadoRGIAJ() != null // && resJugador.getResultadoRGIAJ().getCodigo() == "4") // indicador = 4; break; } } gestionJugadoresService.almacenarConsultaJugador( operador, dni, jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getFechaNacimiento(), indicador, indicador, res_rgiaj, res_identidad, idPeticion, validado, jugador.getNumSoporte()); } else if (identidad) { log.debug("Almacenar jugador de consulta Verificar Identidad"); String res_identidad = null; boolean validado = true; int indicador = 1; if (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU) indicador = 4; if (!ValidadorJugador.todosCaracteresAlfanumericos(jugador)) validado = false; for (Iterator<ResultadoIdentidad> iterRes = list.iterator(); iterRes.hasNext(); ) { ResultadoIdentidad resIdentidad = iterRes.next(); if (resIdentidad.getDni().equalsIgnoreCase(jugador.getDni())) { res_identidad = resIdentidad.getResultadoIdentidad().getCodigo(); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_CORRECTA_CACHE)) resIdentidad .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_CORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA_CACHE)) resIdentidad .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA); if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_CORRECTA_TEST)) { indicador = 4; resIdentidad .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_CORRECTA); } if (res_identidad.equals(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA_TEST)) { indicador = 4; resIdentidad .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_IDENTIDAD_INCORRECTA); } if (res_identidad.equals(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD_TEST)) { indicador = 4; resIdentidad .getResultadoIdentidad() .setCodigo(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD); } break; } } gestionJugadoresService.almacenarConsultaJugador( operador, dni, jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getFechaNacimiento(), indicador, 0, null, res_identidad, idPeticion, validado, jugador.getNumSoporte()); } else if (rgia) { log.debug("Almacenar jugador de consulta Verificar RGIAJ"); String res_rgiaj = null; int indicador = 1; if (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU) indicador = 4; for (ResultadoRGIAJ resRGIAJ : (ArrayList<ResultadoRGIAJ>) list) { if (resRGIAJ.getDni().equalsIgnoreCase(jugador.getDni())) { res_rgiaj = resRGIAJ.getResultadoRGIAJ().getCodigo(); if (res_rgiaj != null && res_rgiaj.contains("TEST")) { res_rgiaj = res_rgiaj.substring(0, 6); resRGIAJ.getResultadoRGIAJ().setCodigo(res_rgiaj); indicador = 4; } break; } } gestionJugadoresService.almacenarConsultaJugador( operador, dni, jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getFechaNacimiento(), 0, indicador, res_rgiaj, null, idPeticion, true, jugador.getNumSoporte()); } } } }
/** * @return listaResultados * @throws VerificarRGIAJFault_Exception */ public List<ResultadoRGIAJ> verificarRGIAJ() throws VerificarRGIAJFault_Exception { List<ResultadoRGIAJ> listaResultado = new ArrayList<ResultadoRGIAJ>(); List<ResultadoRGIAJ> listaErrores = new ArrayList<ResultadoRGIAJ>(); List<ResultadoRGIAJ> listaPruebas = new ArrayList<ResultadoRGIAJ>(); List<String> listaDni = new ArrayList<String>(); log.debug("Verificar RGIAJ: comienzo de la verificacion"); ValidadorJugador.setVerificacionDao(this.verificacionDao); for (Jugador jugador : jugadores) { boolean hayError = false; boolean hayPruebas = false; // Se formatean los datos del jugador ValidadorJugador.formateaDatosJugador(jugador); // Valida los datos del jugador ResultadoType validation = ValidadorJugador.validarJugador(jugador); if (validation != null && CodigosVerificacion.COD_FORMATO_INCORRECTO.equals(validation.getCodigo())) { log.debug("Formato incorrecto en Jugador: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_CARACTERES_INVALIDOS.equals(validation.getCodigo())) { log.debug("Caracteres invalidos en jugador: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_FALTA_CAMPO.equals(validation.getCodigo())) { log.debug("Falta campo en el nombre o apellidos: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_FECHA_NACIMINENTO.equals(validation.getCodigo())) { log.debug( "Fecha de nacimiento del Jugador es invalida o anterior a 1900: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } if (validation != null && CodigosVerificacion.COD_NUM_SOPORTE.equals(validation.getCodigo())) { log.debug("Error de Formato en el Numero de Soporte: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_NUM_SOPORTE_NIF.equals(validation.getCodigo())) { log.debug("Error de Numero de Soporte: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoRGIAJInvalido(jugador, validation)); hayError = true; } // Si el operador utiliza datos de prueba o datos de prueba y reales // se comprueban los usuarios en la BD if (!hayError && (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU || operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU_PRO)) { ResultadoRGIAJ resJugador = null; log.debug("Operador permite usuarios de prueba (modo: " + operador.getModeEnabled() + ")"); try { resJugador = this.getJugadoresTestService() .obtenerResultadoRGIAJTestWS(operador.getModeEnabled(), jugador); if (resJugador != null) { log.debug("Es usuario de prueba: " + jugador.getDni()); listaPruebas.add(resJugador); hayPruebas = true; } } catch (Exception ex) { log.error("Error consultando Resultado RGIAJ", ex); VerificarRGIAJFault fault = new VerificarRGIAJFault(); fault.setVerificarRGIAJFault(CodigosVerificacion.ERROR_INTERNO); throw new VerificarRGIAJFault_Exception(CodigosVerificacion.DESC_ERROR_INTERNO, fault); } } if (!hayError && !hayPruebas && (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU)) { // El operador es de pruebas pero el usuario es de produccion se da como invalido listaPruebas.add( this.generarResultadoRGIAJInvalido( jugador, new ResultadoType( CodigosVerificacion.COD_NO_INSCRITO_RGIAJ, CodigosVerificacion.DESC_NO_INSCRITO_RGIAJ))); hayPruebas = true; } // Si el jugador no dio error en las comprobaciones y no es de // prueba a�adimos el DNI en la lista // para la consulta de incluidos en RGIAJ if (!hayError && !hayPruebas) { log.debug("Es usuario real: " + jugador.getDni()); listaDni.add(jugador.getDni()); } } if (!listaDni.isEmpty()) { try { log.debug("Se consulta al servicio que nos indica si estan en RGIAJ"); listaResultado = this.getClienteJuegoDniService().verificarJuegoDni(listaDni); } catch (Exception e) { log.error("Error consultando estado RGIAJ " + e.getMessage(), e); VerificarRGIAJFault fault = new VerificarRGIAJFault(); fault.setVerificarRGIAJFault(CodigosVerificacion.ERROR_INTERNO); throw new VerificarRGIAJFault_Exception(CodigosVerificacion.DESC_ERROR_INTERNO, fault); } } listaResultado.addAll(listaErrores); listaResultado.addAll(listaPruebas); return listaResultado; }
/** * Validaci�n del formato de DNI-NIE, Nombre, apellidos y Fecha Nacimiento. Validaci�n de los * jugadores (SVDI o Pruebas) seg�n el estado del Operador * * @return * @throws VerificarIdentidadFault_Exception */ public List<ResultadoIdentidad> verificarIdentidad() throws VerificarIdentidadFault_Exception { List<ResultadoIdentidad> listaResultado = new ArrayList<ResultadoIdentidad>(); List<ResultadoIdentidad> listaErrores = new ArrayList<ResultadoIdentidad>(); List<ResultadoIdentidad> listaPruebas = new ArrayList<ResultadoIdentidad>(); ResultadoIdentidad resIdentidad = null; log.debug("Verificar Identidad: comienzo de la verificacion"); ValidadorJugador.setVerificacionDao(this.verificacionDao); for (Jugador jugador : jugadores) { boolean hayError = false; boolean hayPruebas = false; // Formatear Datos ValidadorJugador.formateaDatosJugador(jugador); // Valida los datos del jugador ResultadoType validation = ValidadorJugador.validarJugador(jugador); if (validation != null && CodigosVerificacion.COD_FORMATO_INCORRECTO.equals(validation.getCodigo())) { log.debug("Error Validando Jugador: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_CARACTERES_INVALIDOS.equals(validation.getCodigo())) { log.debug("Error Validando Jugador: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_FALTA_CAMPO.equals(validation.getCodigo())) { log.debug("Falta campo en el nombre o apellidos: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_FECHA_NACIMINENTO.equals(validation.getCodigo())) { log.debug( "Fecha de nacimiento del Jugador es inválida o anterior a 1900: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_NUM_SOPORTE.equals(validation.getCodigo())) { log.debug("Error de Formato en el Numero de Soporte: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } else if (validation != null && CodigosVerificacion.COD_NUM_SOPORTE_NIF.equals(validation.getCodigo())) { log.debug("Error de Numero de Soporte: " + validation.getDescripcion()); listaErrores.add(this.generarResultadoIdentidadInvalido(jugador, validation)); hayError = true; } // Si el operador utiliza datos de prueba o datos de prueba y reales // se comprueban los usuarios en la BD if (!hayError && ((operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU) || (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU_PRO))) { ResultadoIdentidad resJugador = null; log.debug("Operador permite usuarios de prueba (modo: " + operador.getModeEnabled() + ")"); try { resJugador = this.getJugadoresTestService().obtenerResultadoIdentidadTestWS(operador, jugador); if (resJugador != null) { log.debug("Es usuario de prueba: " + jugador.getDni()); listaPruebas.add(resJugador); hayPruebas = true; } } catch (Exception ex) { log.error("Error llamada servicio : " + ex); VerificarIdentidadFault fault = new VerificarIdentidadFault(); fault.setVerificarIdentidadFault(CodigosVerificacion.ERROR_INTERNO); throw new VerificarIdentidadFault_Exception( CodigosVerificacion.DESC_ERROR_INTERNO, fault); } } if (!hayError && !hayPruebas && (operador.getModeEnabled() == Constantes.OP_HABILITADO_PRU)) { // El operador es de pruebas pero el usuario es de produccion se da como invalido listaPruebas.add( this.generarResultadoIdentidadInvalido( jugador, new ResultadoType( CodigosVerificacion.COD_IDENTIDAD_INCORRECTA_TEST, CodigosVerificacion.DESC_IDENTIDAD_INCORRECTA))); hayPruebas = true; } resIdentidad = new ResultadoIdentidad(); // Si el jugador no dio error en las comprobaciones y no es de // prueba se verifica su identidad if (!hayError && !hayPruebas) { log.debug("Es usuario real: " + jugador.getDni()); // S�lo buscamos en cach� si no se cumple que est� activado el // debug y el DNI est� en la tabla de no cachear boolean debugActived = this.getVerificacionDao() .getValorPropiedad(Constantes.PROP_MODO_DEBUG_IDENTIDAD) .equals("true"); if (!debugActived || (debugActived && this.getGestionJugadoresService().esCacheable(jugador.getDni()))) { log.debug("Se busca en cach\u00E9"); // Buscar primero en la cach� String codResultadoBusquedaCache = null; try { codResultadoBusquedaCache = this.getGestionJugadoresService() .identidadJugadorCache( jugador.getDni(), jugador.getFechaNacimiento(), jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getNumSoporte()); } catch (Exception e) { log.error("Error verificando Identidad " + e.getMessage(), e); VerificarIdentidadFault fault = new VerificarIdentidadFault(); fault.setVerificarIdentidadFault(CodigosVerificacion.ERROR_INTERNO); throw new VerificarIdentidadFault_Exception( CodigosVerificacion.DESC_ERROR_INTERNO, fault); } // Si existe en cach� se devuelve el valor if (codResultadoBusquedaCache != null) { log.debug("Est\u00E1 en cach\u00E9"); resIdentidad.setDni(jugador.getDni()); resIdentidad.setResultadoIdentidad(new ResultadoType()); resIdentidad.getResultadoIdentidad().setCodigo(codResultadoBusquedaCache); resIdentidad .getResultadoIdentidad() .setDescripcion(CodigosVerificacion.getDescripcion(codResultadoBusquedaCache)); // Si no existe en cach� se busca en el servicio de la // polic�a } else { log.debug("No est\u00E1 en cach\u00E9, se consulta al servicio de la policia"); CodigoEstadoSCSP codigoResultado = null; try { codigoResultado = this.getClienteSCSPService() .verificarIdentidad( jugador.getDni(), jugador.getNumSoporte(), jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getFechaNacimiento()); } catch (Exception e) { log.error("Error verificando Identidad con cliente SCP " + e.getMessage(), e); codigoResultado = new CodigoEstadoSCSP(); codigoResultado.setCodigo(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD); codigoResultado.setDescripcion(CodigosVerificacion.DESC_NO_VERIFICACION_IDENTIDAD); // throw new VerificarIdentidadFault_Exception(e.getMessage(),e); } resIdentidad.setDni(jugador.getDni()); resIdentidad.setResultadoIdentidad(new ResultadoType()); resIdentidad.getResultadoIdentidad().setCodigo(codigoResultado.getCodigo()); resIdentidad.getResultadoIdentidad().setDescripcion(codigoResultado.getDescripcion()); } } else { log.debug("No se debe consultar cach\u00E9, se consulta al servicio de la policia"); // Se comprueba la identidad llamando al servicio CodigoEstadoSCSP codigoResultado = null; try { codigoResultado = this.getClienteSCSPService() .verificarIdentidad( jugador.getDni(), jugador.getNumSoporte(), jugador.getNombre(), jugador.getApellido1(), jugador.getApellido2(), jugador.getFechaNacimiento()); } catch (Exception e) { // TODO Auto-generated catch block log.error("Error verificando Identidad " + e.getMessage(), e); codigoResultado = new CodigoEstadoSCSP(); codigoResultado.setCodigo(CodigosVerificacion.COD_NO_VERIFICACION_IDENTIDAD); codigoResultado.setDescripcion(CodigosVerificacion.DESC_NO_VERIFICACION_IDENTIDAD); } resIdentidad.setDni(jugador.getDni()); resIdentidad.setResultadoIdentidad(new ResultadoType()); resIdentidad.getResultadoIdentidad().setCodigo(codigoResultado.getCodigo()); resIdentidad.getResultadoIdentidad().setDescripcion(codigoResultado.getDescripcion()); } listaResultado.add(resIdentidad); } } listaResultado.addAll(listaErrores); listaResultado.addAll(listaPruebas); return listaResultado; }