diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/CedentClient.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/CedentClient.java index 2404660..2b49865 100644 --- a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/CedentClient.java +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/CedentClient.java @@ -16,6 +16,10 @@ public abstract class CedentClient { public static String EMISERV_BACKOFFICE_XMLNS = "http://caib.es/emiserv/backoffice"; + + + public static String RETURN_TYPE_KEY = "returnType"; + public static String ERROR_TYPE_KEY = "errorType"; protected final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDCPAJUv3Client.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDCPAJUv3Client.java index f53f162..fa8a0a2 100644 --- a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDCPAJUv3Client.java +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDCPAJUv3Client.java @@ -44,36 +44,35 @@ * @author gdeignacio */ public class SCDCPAJUv3Client extends CedentClient { - - + protected es.caib.emiservbackoffice.ws.scsp.SCDCPAJUv3PeticionDatosEspecificos pde; - + protected es.caib.emiservbackoffice.ws.scsp.SCDCPAJUv3RespuestaDatosEspecificos rde; - + public SCDCPAJUv3Client(DatosGenericos datosGenericos, String strPeticionDatosEspecificos, Propietats propietats) { super(datosGenericos, strPeticionDatosEspecificos, propietats); } - private void setDatosPeticion() throws JAXBException, IOException{ - + private void setDatosPeticion() throws JAXBException, IOException { + try { - XmlManager manager - = new XmlManager(SCDCPAJUv3PeticionDatosEspecificos.class); - + XmlManager manager = new XmlManager( + SCDCPAJUv3PeticionDatosEspecificos.class); + Element peticionDatosEspecificos = manager.stringToElement(strPeticionDatosEspecificos); - + NamedNodeMap attrs = peticionDatosEspecificos.getAttributes(); - + while (attrs.getLength() > 0) { attrs.removeNamedItem(attrs.item(0).getNodeName()); } - - //peticionDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE.concat(":ns2"), EMISERV_BACKOFFICE_XMLNS); - - + + // peticionDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE.concat(":ns2"), + // EMISERV_BACKOFFICE_XMLNS); + pde = manager.generateItem(peticionDatosEspecificos, false, true); - - log.info("SCDCPAJUv3Client :: Datos Especificos Peticion: " + ((pde!=null)?pde.toString():"")); + + log.info("SCDCPAJUv3Client :: Datos Especificos Peticion: " + ((pde != null) ? pde.toString() : "")); } catch (TransformerException ex) { Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } catch (ParserConfigurationException ex) { @@ -83,44 +82,48 @@ private void setDatosPeticion() throws JAXBException, IOException{ } } - - - private void setDatosRespuesta() throws JAXBException, ParserConfigurationException{ - - XmlManager manager - = new XmlManager(SCDCPAJUv3RespuestaDatosEspecificos.class); - + + private void setDatosRespuesta() throws JAXBException, ParserConfigurationException { + + XmlManager manager = new XmlManager( + SCDCPAJUv3RespuestaDatosEspecificos.class); + XmlSchema xmlSchemaAnnotation = manager.getXmlSchemaAnnotation(); - log.info("SCDCPAJUv3Client :: Datos Especificos NAMESPACE: " + ((xmlSchemaAnnotation!=null)?xmlSchemaAnnotation.namespace():"No xmlSchemaAnnotation")); - log.info("SCDCPAJUv3Client :: Datos Especificos LOCATION: " + ((xmlSchemaAnnotation!=null)?xmlSchemaAnnotation.location():"No xmlSchemaAnnotation")); + log.info("SCDCPAJUv3Client :: Datos Especificos NAMESPACE: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.namespace() : "No xmlSchemaAnnotation")); + log.info("SCDCPAJUv3Client :: Datos Especificos LOCATION: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.location() : "No xmlSchemaAnnotation")); XmlRootElement xmlRootElementAnnotation = manager.getXmlRootElementAnnotation(); - log.info("SCDCPAJUv3Client :: Datos Especificos XmlRoot NAMESPACE: " + ((xmlRootElementAnnotation!=null)?xmlRootElementAnnotation.namespace():"No xmlRootElementAnnotation")); - log.info("SCDCPAJUv3Client :: Datos Especificos XmlRoot LOCATION: " + ((xmlRootElementAnnotation!=null)?xmlRootElementAnnotation.name():"No xmlRootElementAnnotation")); + log.info("SCDCPAJUv3Client :: Datos Especificos XmlRoot NAMESPACE: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.namespace() + : "No xmlRootElementAnnotation")); + log.info("SCDCPAJUv3Client :: Datos Especificos XmlRoot LOCATION: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.name() + : "No xmlRootElementAnnotation")); Element respuestaDatosEspecificos = manager.generateElement(rde); - //respuestaDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, xmlSchemaAnnotation.namespace()); - + // respuestaDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, + // xmlSchemaAnnotation.namespace()); + try { strRespuestaDatosEspecificos = manager.elementToString(respuestaDatosEspecificos); } catch (TransformerException ex) { Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } - + } - - - - - private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado getResultado(es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud solicitud) throws ApiException { + + private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado getResultado( + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud solicitud) throws ApiException { log.info("SCDCPAJUv3Client :: Iniciant client "); ScdcpajUv3Api api = new ScdcpajUv3Api(); - - ApiClient apiClient = api.getApiClient(); + + ApiClient apiClient = api.getApiClient(); apiClient.setBasePath(propietats.getEndpoint()); @@ -131,18 +134,22 @@ private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado getResultado(e String userpass = usuari.concat(":").concat(secret); - apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, "Basic " + Base64Utils.encodeToString(userpass.getBytes(StandardCharsets.UTF_8))); + apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, + "Basic " + Base64Utils.encodeToString(userpass.getBytes(StandardCharsets.UTF_8))); + + // api.getApiClient().addDefaultHeader(HttpHeaders.ACCEPT, "; charset=" + + // StandardCharsets.UTF_8.name()); + // api.getApiClient().addDefaultHeader(HttpHeaders.CONTENT_TYPE, "; charset=" + + // StandardCharsets.UTF_8.name()); - //api.getApiClient().addDefaultHeader(HttpHeaders.ACCEPT, "; charset=" + StandardCharsets.UTF_8.name()); - //api.getApiClient().addDefaultHeader(HttpHeaders.CONTENT_TYPE, "; charset=" + StandardCharsets.UTF_8.name()); - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado response = null; try { response = api.peticionSincrona(solicitud); } catch (ProcessingException ex) { - throw new ApiException(ex.getMessage(), ex, api.getApiClient().getStatusCode(), api.getApiClient().getResponseHeaders()); - } catch (ApiException ex){ + throw new ApiException(ex.getMessage(), ex, api.getApiClient().getStatusCode(), + api.getApiClient().getResponseHeaders()); + } catch (ApiException ex) { int code = 400; String message = ""; @@ -153,30 +160,35 @@ private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado getResultado(e jsonNode = objectMapper.readTree(jsonString); code = jsonNode.get("code").asInt(); message = jsonNode.get("message").asText(); - } catch (IOException ioex){ - throw new ApiException(ioex.getMessage(), ioex, api.getApiClient().getStatusCode(), api.getApiClient().getResponseHeaders()); + } catch (IOException ioex) { + throw new ApiException(ioex.getMessage(), ioex, api.getApiClient().getStatusCode(), + api.getApiClient().getResponseHeaders()); } throw new ApiException(message, ex, code, api.getApiClient().getResponseHeaders(), ex.getResponseBody()); } /* - try { - response = api.peticionSincrona(solicitud); - } catch (HttpServerErrorException ex) { - Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); - } catch (UnknownHttpStatusCodeException ex) { - Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.WARNING, null, ex); - throw new WrongApiStatusException(ex.getStatusText(), ex.getResponseBodyAsString(), "Format de resposta no especificat: " + ex.getResponseBodyAsString() , ex); - } catch (ApiException ex) { - Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); - }*/ + * try { + * response = api.peticionSincrona(solicitud); + * } catch (HttpServerErrorException ex) { + * Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, + * ex); + * } catch (UnknownHttpStatusCodeException ex) { + * Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.WARNING, null, + * ex); + * throw new WrongApiStatusException(ex.getStatusText(), + * ex.getResponseBodyAsString(), "Format de resposta no especificat: " + + * ex.getResponseBodyAsString() , ex); + * } catch (ApiException ex) { + * Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, + * ex); + * } + */ return response; } - - - - - private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud adaptaSolicitud(es.caib.scsp.esquemas.SCDCPAJUv3.peticion.datosespecificos.Solicitud solicitud) { + + private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud adaptaSolicitud( + es.caib.scsp.esquemas.SCDCPAJUv3.peticion.datosespecificos.Solicitud solicitud) { es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud sol = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud(); @@ -204,35 +216,40 @@ private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud adaptaSolicitu sol.setProvinciaSolicitud(provinciaSolicitud); sol.setMunicipioSolicitud(municipioSolicitud); - + es.caib.scsp.esquemas.SCDCPAJUv3.peticion.datosespecificos.Titular titular = solicitud.getTitular(); if (titular != null) { - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Titular ti = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Titular(); - + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Titular ti = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Titular(); + documentacion = titular.getDocumentacion(); datosPersonales = titular.getDatosPersonales(); if (documentacion != null) { - + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion dc = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion(); tipo = documentacion.getTipo(); - tipo = ("Pasaporte".equals(tipo)?es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue():tipo); + tipo = ("Pasaporte".equals(tipo) + ? es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue() + : tipo); valor = documentacion.getValor(); dc.setTipo(es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.fromValue(tipo)); dc.setValor(valor); ti.setDocumentacion(dc); - + } else if (datosPersonales != null) { - + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.DatosPersonales dp = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.DatosPersonales(); - + documentacion = datosPersonales.getDocumentacion(); if (documentacion != null) { es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion dc = new es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion(); tipo = documentacion.getTipo(); - tipo = ("Pasaporte".equals(tipo)?es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue():tipo); + tipo = ("Pasaporte".equals(tipo) + ? es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT + .getValue() + : tipo); valor = documentacion.getValor(); dc.setTipo(es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.fromValue(tipo)); dc.setValor(valor); @@ -243,7 +260,7 @@ private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud adaptaSolicitu dp.setApellido1(apellido1); apellido2 = datosPersonales.getApellido2(); dp.setApellido2(apellido2); - + XMLGregorianCalendar fn = datosPersonales.getFechaNacimiento(); if (fn != null) { @@ -266,28 +283,28 @@ private es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud adaptaSolicitu } return sol; } - - private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado adaptaResultado(es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado res) { + + private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado adaptaResultado( + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado res) { if (res == null) { return null; } - + es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado resultado = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado(); // Set fechaExpedicion - - //LocalDate fexp = res.getFechaExpedicion(); - //String fechaExpedicion = fexp.toString("yyyy-MM-dd"); - //resultado.setFechaExpedicion(fechaExpedicion); + + // LocalDate fexp = res.getFechaExpedicion(); + // String fechaExpedicion = fexp.toString("yyyy-MM-dd"); + // resultado.setFechaExpedicion(fechaExpedicion); String fexp = res.getFechaExpedicion(); String fechaExpedicion = fexp; fechaExpedicion = fullDateToDate(fexp); resultado.setFechaExpedicion(fechaExpedicion); - - - // Set ClaveHojaPadronal + + // Set ClaveHojaPadronal es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.ClaveHojaPadronal chp = res.getClaveHojaPadronal(); if (chp != null) { @@ -309,7 +326,7 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad domicilio.setHmt(dom.getHmt()); domicilio.setKmt(dom.getKmt()); - // Set numero + // Set numero es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Numero num = dom.getNumero(); if (num != null) { @@ -319,7 +336,7 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad domicilio.setNumero(numero); } - // Set numero superior + // Set numero superior es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.NumeroSuperior numsup = dom.getNumeroSuperior(); if (numsup != null) { es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.NumeroSuperior numeroSuperior = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.NumeroSuperior(); @@ -332,13 +349,13 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad domicilio.setPortal(dom.getPortal()); domicilio.setPuerta(dom.getPuerta()); - // Set via - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Via va = dom.getVia(); + // Set via + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Via va = dom.getVia(); if (va != null) { es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Via via = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Via(); via.setCodigo(va.getCodigo()); via.setNombre(va.getNombre()); - //via.setTipo(va.getTipo()); + // via.setTipo(va.getTipo()); via.setTipo(va.getTipo().substring(0, 2)); domicilio.setVia(via); } @@ -372,41 +389,47 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Documentacion documentacion = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Documentacion(); es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum tipo = doc.getTipo(); if (tipo != null) { - String valorTipo = (es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT==tipo)?"Pasaporte":tipo.getValue(); + String valorTipo = (es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Documentacion.TipoEnum.PASSAPORT == tipo) + ? "Pasaporte" + : tipo.getValue(); documentacion.setTipo(valorTipo); documentacion.setValor(doc.getValor()); persona.setDocumentacion(documentacion); } - + } // Set periodo inscripcion - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.PeriodoInscripcion pin = per.getPeriodoInscripcion(); + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.PeriodoInscripcion pin = per + .getPeriodoInscripcion(); if (pin != null) { es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.PeriodoInscripcion periodoInscripcion = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.PeriodoInscripcion(); - - //LocalDate dsd = pin.getDesde(); - //String desde = dsd.toString("yyyy-MM-dd"); - //periodoInscripcion.setDesde(desde); - + + // LocalDate dsd = pin.getDesde(); + // String desde = dsd.toString("yyyy-MM-dd"); + // periodoInscripcion.setDesde(desde); + String dsd = pin.getDesde(); - String desde = dsd; - desde = fullDateToDate(dsd); + String desde = dsd; + desde = fullDateToDate(dsd); periodoInscripcion.setDesde(desde); - - + // Set motivo inscripcion - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.MotivoInscripcion mins = pin.getMotivoInscripcion(); + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.MotivoInscripcion mins = pin + .getMotivoInscripcion(); es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.MotivoInscripcion motivoInscripcion = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.MotivoInscripcion(); if (mins != null) { - motivoInscripcion.setCausaVariacion((mins.getCausaVariacion()!=null)?mins.getCausaVariacion():"OM"); - es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.MotivoInscripcion.CodigoVariacionEnum codigo = mins.getCodigoVariacion(); - if (codigo != null){ + motivoInscripcion.setCausaVariacion( + (mins.getCausaVariacion() != null) ? mins.getCausaVariacion() : "OM"); + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.MotivoInscripcion.CodigoVariacionEnum codigo = mins + .getCodigoVariacion(); + if (codigo != null) { motivoInscripcion.setCodigoVariacion(codigo.getValue()); } else { motivoInscripcion.setCodigoVariacion("A"); } - motivoInscripcion.setDescripcion((mins.getDescripcion()!=null)?mins.getDescripcion():"OM"); + motivoInscripcion + .setDescripcion((mins.getDescripcion() != null) ? mins.getDescripcion() : "OM"); periodoInscripcion.setMotivoInscripcion(motivoInscripcion); } else { // REVISAR motivoInscripcion.setCausaVariacion("OM"); @@ -427,9 +450,10 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } - XMLGregorianCalendar fechaNacimiento = GregorianCalendars.timestampToXMLGregorianCalendar(timestamp); + XMLGregorianCalendar fechaNacimiento = GregorianCalendars + .timestampToXMLGregorianCalendar(timestamp); persona.setFechaNacimiento(fechaNacimiento); - + // add persona personas.getPersona().add(persona); @@ -440,8 +464,7 @@ private es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado ad } return resultado; } - - + @Override public void peticionSincrona() { @@ -450,48 +473,52 @@ public void peticionSincrona() { } catch (JAXBException | IOException ex) { Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } - + if (pde != null) { log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Solicitud: " + pde.getSolicitud()); if (pde.getSolicitud() != null) { - log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Provincia: " + pde.getSolicitud().getProvinciaSolicitud()); - log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Municipi: " + pde.getSolicitud().getMunicipioSolicitud()); - log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Tipus document: " + pde.getSolicitud().getTitular().getDocumentacion().getTipo()); - log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Document: " + pde.getSolicitud().getTitular().getDocumentacion().getValor()); + log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Provincia: " + + pde.getSolicitud().getProvinciaSolicitud()); + log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Municipi: " + + pde.getSolicitud().getMunicipioSolicitud()); + log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Tipus document: " + + pde.getSolicitud().getTitular().getDocumentacion().getTipo()); + log.info("SCDCPAJUv3Client :: Paràmetres de consulta: " + "Document: " + + pde.getSolicitud().getTitular().getDocumentacion().getValor()); } } es.caib.scsp.esquemas.SCDCPAJUv3.peticion.datosespecificos.Solicitud solicitud = pde.getSolicitud(); - + String provinciaSolicitud = null; String municipioSolicitud = null; - + if (solicitud != null) { provinciaSolicitud = solicitud.getProvinciaSolicitud(); municipioSolicitud = solicitud.getMunicipioSolicitud(); } es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Solicitud sol = adaptaSolicitud(pde.getSolicitud()); - + rde = new SCDCPAJUv3RespuestaDatosEspecificos(); es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Estado(); - + es.caib.scsp.api.cedent.client.SCDCPAJUv3.model.Resultado res = null; - + try { - + res = getResultado(sol); es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Resultado resultado = adaptaResultado(res); rde.setResultado(resultado); - + respuestaEstado.setCodigoEstado(ErrorBackoffice.TRAMITADA.getEstat()); respuestaEstado.setLiteralError(ErrorBackoffice.TRAMITADA.getCodi()); rde.setEstado(respuestaEstado); - + } catch (ApiException ex) { Logger.getLogger(SCDCPAJUv3Client.class.getName()).log(Level.WARNING, null, ex); - if (ErrorBackoffice.NO_IDENTIFICAT.getEstat().endsWith(String.valueOf(ex.getCode()))){ + if (ErrorBackoffice.NO_IDENTIFICAT.getEstat().endsWith(String.valueOf(ex.getCode()))) { respuestaEstado.setCodigoEstado(ErrorBackoffice.NO_IDENTIFICAT.getEstat()); respuestaEstado.setLiteralError("Titular No Identificat"); rde.setEstado(respuestaEstado); @@ -501,34 +528,37 @@ public void peticionSincrona() { } es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Solicitud respuestaSolicitud = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Solicitud(); - + respuestaSolicitud.setProvinciaSolicitud(provinciaSolicitud); respuestaSolicitud.setMunicipioSolicitud(municipioSolicitud); es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Titular respuestaTitular = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Titular(); es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Documentacion respuestaDocumentacion = new es.caib.scsp.esquemas.SCDCPAJUv3.respuesta.datosespecificos.Documentacion(); - + String tipo = null; String valor = null; - - if (solicitud!=null && solicitud.getTitular()!= null && solicitud.getTitular().getDocumentacion()!=null){ + + if (solicitud != null && solicitud.getTitular() != null && solicitud.getTitular().getDocumentacion() != null) { tipo = solicitud.getTitular().getDocumentacion().getTipo(); valor = solicitud.getTitular().getDocumentacion().getValor(); - } else if (solicitud!=null && solicitud.getTitular()!= null && solicitud.getTitular().getDatosPersonales()!=null && solicitud.getTitular().getDatosPersonales().getDocumentacion()!=null){ + } else if (solicitud != null && solicitud.getTitular() != null + && solicitud.getTitular().getDatosPersonales() != null + && solicitud.getTitular().getDatosPersonales().getDocumentacion() != null) { tipo = solicitud.getTitular().getDatosPersonales().getDocumentacion().getTipo(); valor = solicitud.getTitular().getDatosPersonales().getDocumentacion().getValor(); } - + respuestaDocumentacion.setTipo(tipo); respuestaDocumentacion.setValor(valor); respuestaTitular.setDocumentacion(respuestaDocumentacion); respuestaSolicitud.setTitular(respuestaTitular); - - datosGenericos.getTitular().setTipoDocumentacion(es.caib.emiserv.logic.intf.service.ws.backoffice.TipoDocumentacion.valueOf(respuestaDocumentacion.getTipo())); + + datosGenericos.getTitular() + .setTipoDocumentacion(es.caib.emiserv.logic.intf.service.ws.backoffice.TipoDocumentacion + .valueOf(respuestaDocumentacion.getTipo())); datosGenericos.getTitular().setDocumentacion(respuestaDocumentacion.getValor()); - rde.setSolicitud(respuestaSolicitud); - + try { setDatosRespuesta(); } catch (JAXBException | ParserConfigurationException ex) { @@ -539,12 +569,14 @@ public void peticionSincrona() { @Override public Element getRespuestaDatosEspecificos() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. } @Override public void setPeticionDatosEspecificos(Element element) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. } - + } diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDHPAJUv3Client.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDHPAJUv3Client.java index e6fae51..bac3635 100644 --- a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDHPAJUv3Client.java +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SCDHPAJUv3Client.java @@ -46,36 +46,35 @@ * @author gdeignacio */ public class SCDHPAJUv3Client extends CedentClient { - - + protected es.caib.emiservbackoffice.ws.scsp.SCDHPAJUv3PeticionDatosEspecificos pde; - + protected es.caib.emiservbackoffice.ws.scsp.SCDHPAJUv3RespuestaDatosEspecificos rde; - + public SCDHPAJUv3Client(DatosGenericos datosGenericos, String strPeticionDatosEspecificos, Propietats propietats) { super(datosGenericos, strPeticionDatosEspecificos, propietats); } - private void setDatosPeticion() throws JAXBException, IOException{ - + private void setDatosPeticion() throws JAXBException, IOException { + try { - XmlManager manager - = new XmlManager(SCDHPAJUv3PeticionDatosEspecificos.class); - + XmlManager manager = new XmlManager( + SCDHPAJUv3PeticionDatosEspecificos.class); + Element peticionDatosEspecificos = manager.stringToElement(strPeticionDatosEspecificos); - + NamedNodeMap attrs = peticionDatosEspecificos.getAttributes(); - + while (attrs.getLength() > 0) { attrs.removeNamedItem(attrs.item(0).getNodeName()); } - - //peticionDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE.concat(":ns2"), EMISERV_BACKOFFICE_XMLNS); - - + + // peticionDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE.concat(":ns2"), + // EMISERV_BACKOFFICE_XMLNS); + pde = manager.generateItem(peticionDatosEspecificos, false, true); - - log.info("SCDHPAJUv3Client :: Datos Especificos Peticion: " + ((pde!=null)?pde.toString():"")); + + log.info("SCDHPAJUv3Client :: Datos Especificos Peticion: " + ((pde != null) ? pde.toString() : "")); } catch (TransformerException ex) { Logger.getLogger(SCDHPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } catch (ParserConfigurationException ex) { @@ -85,44 +84,47 @@ private void setDatosPeticion() throws JAXBException, IOException{ } } - - - private void setDatosRespuesta() throws JAXBException, ParserConfigurationException{ - - XmlManager manager - = new XmlManager(SCDHPAJUv3RespuestaDatosEspecificos.class); - + + private void setDatosRespuesta() throws JAXBException, ParserConfigurationException { + + XmlManager manager = new XmlManager( + SCDHPAJUv3RespuestaDatosEspecificos.class); + XmlSchema xmlSchemaAnnotation = manager.getXmlSchemaAnnotation(); - log.info("SCDHPAJUv3Client :: Datos Especificos NAMESPACE: " + ((xmlSchemaAnnotation!=null)?xmlSchemaAnnotation.namespace():"No xmlSchemaAnnotation")); - log.info("SCDHPAJUv3Client :: Datos Especificos LOCATION: " + ((xmlSchemaAnnotation!=null)?xmlSchemaAnnotation.location():"No xmlSchemaAnnotation")); + log.info("SCDHPAJUv3Client :: Datos Especificos NAMESPACE: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.namespace() : "No xmlSchemaAnnotation")); + log.info("SCDHPAJUv3Client :: Datos Especificos LOCATION: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.location() : "No xmlSchemaAnnotation")); XmlRootElement xmlRootElementAnnotation = manager.getXmlRootElementAnnotation(); - log.info("SCDHPAJUv3Client :: Datos Especificos XmlRoot NAMESPACE: " + ((xmlRootElementAnnotation!=null)?xmlRootElementAnnotation.namespace():"No xmlRootElementAnnotation")); - log.info("SCDHPAJUv3Client :: Datos Especificos XmlRoot LOCATION: " + ((xmlRootElementAnnotation!=null)?xmlRootElementAnnotation.name():"No xmlRootElementAnnotation")); + log.info("SCDHPAJUv3Client :: Datos Especificos XmlRoot NAMESPACE: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.namespace() + : "No xmlRootElementAnnotation")); + log.info("SCDHPAJUv3Client :: Datos Especificos XmlRoot LOCATION: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.name() + : "No xmlRootElementAnnotation")); Element respuestaDatosEspecificos = manager.generateElement(rde); - //respuestaDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, xmlSchemaAnnotation.namespace()); - + // respuestaDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, + // xmlSchemaAnnotation.namespace()); + try { strRespuestaDatosEspecificos = manager.elementToString(respuestaDatosEspecificos); } catch (TransformerException ex) { Logger.getLogger(SCDHPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } - + } - - - - - private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado getResultado(es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud solicitud) throws ApiException { + + private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado getResultado( + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud solicitud) throws ApiException { log.info("SCDHPAJUv3Client :: Iniciant client"); - ScdhpajUv3Api api = new ScdhpajUv3Api(); - + ApiClient apiClient = api.getApiClient(); apiClient.setBasePath(propietats.getEndpoint()); @@ -134,18 +136,22 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado getResultado(e String userpass = usuari.concat(":").concat(secret); - apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, "Basic " + Base64Utils.encodeToString(userpass.getBytes(StandardCharsets.UTF_8))); + apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, + "Basic " + Base64Utils.encodeToString(userpass.getBytes(StandardCharsets.UTF_8))); + + // api.getApiClient().addDefaultHeader(HttpHeaders.ACCEPT, "; charset=" + + // StandardCharsets.UTF_8.name()); + // api.getApiClient().addDefaultHeader(HttpHeaders.CONTENT_TYPE, "; charset=" + + // StandardCharsets.UTF_8.name()); - //api.getApiClient().addDefaultHeader(HttpHeaders.ACCEPT, "; charset=" + StandardCharsets.UTF_8.name()); - //api.getApiClient().addDefaultHeader(HttpHeaders.CONTENT_TYPE, "; charset=" + StandardCharsets.UTF_8.name()); - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado response = null; - + try { - response = api.peticionSincrona(solicitud); + response = api.peticionSincrona(solicitud); } catch (ProcessingException ex) { - throw new ApiException(ex.getMessage(), ex, api.getApiClient().getStatusCode(), api.getApiClient().getResponseHeaders()); - } catch (ApiException ex){ + throw new ApiException(ex.getMessage(), ex, api.getApiClient().getStatusCode(), + api.getApiClient().getResponseHeaders()); + } catch (ApiException ex) { int code = 400; String message = ""; @@ -156,8 +162,9 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado getResultado(e jsonNode = objectMapper.readTree(jsonString); code = jsonNode.get("code").asInt(); message = jsonNode.get("message").asText(); - } catch (IOException ioex){ - throw new ApiException(ioex.getMessage(), ioex, api.getApiClient().getStatusCode(), api.getApiClient().getResponseHeaders()); + } catch (IOException ioex) { + throw new ApiException(ioex.getMessage(), ioex, api.getApiClient().getStatusCode(), + api.getApiClient().getResponseHeaders()); } throw new ApiException(message, ex, code, api.getApiClient().getResponseHeaders(), ex.getResponseBody()); } @@ -165,11 +172,9 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado getResultado(e log.info("SCDHPAJUv3Client :: Consulta al cedent finalitzada"); return response; } - - - - - private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitud(es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.Solicitud solicitud) { + + private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitud( + es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.Solicitud solicitud) { es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud sol = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud(); @@ -181,10 +186,9 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitu String municipioSolicitud = null; String numeroAnyos = null; String nia = null; - + es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.Documentacion documentacion; es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.DatosPersonales datosPersonales; - String tipo; String valor; @@ -202,36 +206,41 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitu sol.setProvinciaSolicitud(provinciaSolicitud); sol.setMunicipioSolicitud(municipioSolicitud); sol.setNumeroAnyos(numeroAnyos); - + es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.Titular titular = solicitud.getTitular(); if (titular != null) { - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Titular ti = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Titular(); - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Titular ti = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Titular(); + documentacion = titular.getDocumentacion(); datosPersonales = titular.getDatosPersonales(); nia = titular.getNIA(); if (documentacion != null) { - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion dc = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion(); tipo = documentacion.getTipo(); - tipo = ("Pasaporte".equals(tipo)?es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue():tipo); + tipo = ("Pasaporte".equals(tipo) + ? es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue() + : tipo); valor = documentacion.getValor(); dc.setTipo(es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.fromValue(tipo)); dc.setValor(valor); ti.setDocumentacion(dc); - + } else if (datosPersonales != null) { - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.DatosPersonales dp = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.DatosPersonales(); - + documentacion = datosPersonales.getDocumentacion(); if (documentacion != null) { es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion dc = new es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion(); tipo = documentacion.getTipo(); - tipo = ("Pasaporte".equals(tipo)?es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT.getValue():tipo); + tipo = ("Pasaporte".equals(tipo) + ? es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT + .getValue() + : tipo); valor = documentacion.getValor(); dc.setTipo(es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.fromValue(tipo)); dc.setValor(valor); @@ -242,7 +251,7 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitu dp.setApellido1(apellido1); apellido2 = datosPersonales.getApellido2(); dp.setApellido2(apellido2); - + XMLGregorianCalendar fn = datosPersonales.getFechaNacimiento(); if (fn != null) { @@ -260,15 +269,16 @@ private es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud adaptaSolicitu particula2 = datosPersonales.getParticula2(); dp.setParticula2(particula2); ti.setDatosPersonales(dp); - } else if (nia!=null && !"".equals(nia)) { + } else if (nia != null && !"".equals(nia)) { ti.setNia(nia); } sol.setTitular(ti); } return sol; } - - private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado adaptaResultado(es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado res) { + + private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado adaptaResultado( + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado res) { if (res == null) { return null; @@ -278,31 +288,32 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad resultado.setApellido1(res.getApellido1()); resultado.setApellido2(res.getApellido2()); - + // set Documentacion es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion doc = res.getDocumentacion(); if (doc != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Documentacion documentacion = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Documentacion(); es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum tipo = doc.getTipo(); if (tipo != null) { - String valorTipo = (es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT==tipo)?"Pasaporte":tipo.getValue(); + String valorTipo = (es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Documentacion.TipoEnum.PASSAPORT == tipo) + ? "Pasaporte" + : tipo.getValue(); documentacion.setTipo(valorTipo); documentacion.setValor(doc.getValor()); resultado.setDocumentacion(documentacion); } - + } - //LocalDate fexp = res.getFechaExpedicion(); - //String fechaExpedicion = fexp.toString("yyyy-MM-dd"); - //resultado.setFechaExpedicion(fechaExpedicion); - + // LocalDate fexp = res.getFechaExpedicion(); + // String fechaExpedicion = fexp.toString("yyyy-MM-dd"); + // resultado.setFechaExpedicion(fechaExpedicion); + String fexp = res.getFechaExpedicion(); String fechaExpedicion = fexp; fechaExpedicion = fullDateToDate(fexp); resultado.setFechaExpedicion(fechaExpedicion); - - + // set fecha nacimiento Date date; Timestamp timestamp = null; @@ -316,26 +327,26 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad XMLGregorianCalendar fechaNacimiento = GregorianCalendars.timestampToXMLGregorianCalendar(timestamp); resultado.setFechaNacimiento(fechaNacimiento); - // Set Historico Domicilios es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.HistoricoDomicilios hdom = res.getHistoricoDomicilios(); - if (hdom!=null){ - + if (hdom != null) { + es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.HistoricoDomicilios historicoDomicilios = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.HistoricoDomicilios(); - + List lDom = hdom.getDomicilio(); - - if (lDom != null){ - - for (es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Domicilio dom : lDom){ - - if (dom!=null){ - + + if (lDom != null) { + + for (es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Domicilio dom : lDom) { + + if (dom != null) { + es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Domicilio domicilio = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Domicilio(); - + // Set ClaveHojaPadronal - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.ClaveHojaPadronal chp = dom.getClaveHojaPadronal(); - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.ClaveHojaPadronal chp = dom + .getClaveHojaPadronal(); + if (chp != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.ClaveHojaPadronal claveHojaPadronal = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.ClaveHojaPadronal(); claveHojaPadronal.setDistrito(chp.getDistrito()); @@ -346,30 +357,29 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad // set codUnidadPoblacional domicilio.setCodUnidadPoblacional(dom.getCodUnidadPoblacional()); - - //LocalDate dsd = dom.getDesde(); - //String desde = dsd.toString("yyyy-MM-dd"); - //domicilio.setDesde(desde); - + + // LocalDate dsd = dom.getDesde(); + // String desde = dsd.toString("yyyy-MM-dd"); + // domicilio.setDesde(desde); + String dsd = dom.getDesde(); String desde = dsd; desde = fullDateToDate(dsd); domicilio.setDesde(desde); - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Direccion dir = dom.getDireccion(); - - if (dir!=null){ - + + if (dir != null) { + es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Direccion direccion = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Direccion(); - + direccion.setBloque(dir.getBloque()); direccion.setCodPostal(dir.getCodPostal()); direccion.setEscalera(dir.getEscalera()); direccion.setHmt(dir.getHmt()); direccion.setKmt(dir.getKmt()); - - // Set numero + + // Set numero es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Numero num = dir.getNumero(); if (num != null) { @@ -379,66 +389,68 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad direccion.setNumero(numero); } - // Set numero superior - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.NumeroSuperior numsup = dir.getNumeroSuperior(); + // Set numero superior + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.NumeroSuperior numsup = dir + .getNumeroSuperior(); if (numsup != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.NumeroSuperior numeroSuperior = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.NumeroSuperior(); numeroSuperior.setCalificador(numsup.getCalificador()); numeroSuperior.setValor(numsup.getValor()); direccion.setNumeroSuperior(numeroSuperior); } - + direccion.setPlanta(dir.getPlanta()); direccion.setPortal(dir.getPortal()); direccion.setPuerta(dir.getPuerta()); - - // Set via - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Via va = dir.getVia(); - if (va != null) { + + // Set via + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Via va = dir.getVia(); + if (va != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Via via = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Via(); via.setCodigo(va.getCodigo()); via.setNombre(va.getNombre()); via.setTipo(va.getTipo().substring(0, 2)); direccion.setVia(via); } - domicilio.setDireccion(direccion); + domicilio.setDireccion(direccion); } - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.EntColectiva entc = dom.getEntColectiva(); - - if (entc!=null){ + + if (entc != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.EntColectiva entColectiva = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.EntColectiva(); entColectiva.setCodigo(entc.getCodigo().substring(0, 2)); - entColectiva.setNombre((entc.getNombre()!=null)?entc.getNombre():"-"); + entColectiva.setNombre((entc.getNombre() != null) ? entc.getNombre() : "-"); domicilio.setEntColectiva(entColectiva); } - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.EntSingular ents = dom.getEntSingular(); - - if (ents!=null){ + + if (ents != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.EntSingular entSingular = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.EntSingular(); entSingular.setCodigo(ents.getCodigo().substring(0, 2)); - entSingular.setNombre((ents.getNombre()!=null)?ents.getNombre():"-"); + entSingular.setNombre((ents.getNombre() != null) ? ents.getNombre() : "-"); domicilio.setEntSingular(entSingular); } - - //LocalDate hst = dom.getHasta(); - //String hasta = hst.toString("yyyy-MM-dd"); - //domicilio.setHasta(hasta); - + + // LocalDate hst = dom.getHasta(); + // String hasta = hst.toString("yyyy-MM-dd"); + // domicilio.setHasta(hasta); + String hst = dom.getHasta(); String hasta = hst; hasta = fullDateToDate(hst); domicilio.setHasta(hasta); - // Set motivo baja es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoBaja motb = dom.getMotivoBaja(); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MotivoBaja motivoBaja = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MotivoBaja(); if (motb != null) { - - motivoBaja.setCausaVariacion((motb.getCausaVariacion()!=null)?motb.getCausaVariacion():"CD"); - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoBaja.CodigoVariacionEnum codigo = motb.getCodigoVariacion(); + + motivoBaja.setCausaVariacion( + (motb.getCausaVariacion() != null) ? motb.getCausaVariacion() : "CD"); + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoBaja.CodigoVariacionEnum codigo = motb + .getCodigoVariacion(); if (codigo != null) { motivoBaja.setCodigoVariacion(codigo.getValue()); } else { @@ -454,12 +466,15 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad } // Set motivo inscripcion - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoInscripcion mins = dom.getMotivoInscripcion(); + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoInscripcion mins = dom + .getMotivoInscripcion(); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MotivoInscripcion motivoInscripcion = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MotivoInscripcion(); if (mins != null) { - - motivoInscripcion.setCausaVariacion((mins.getCausaVariacion()!=null)?mins.getCausaVariacion():"OM"); - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoInscripcion.CodigoVariacionEnum codigo = mins.getCodigoVariacion(); + + motivoInscripcion.setCausaVariacion( + (mins.getCausaVariacion() != null) ? mins.getCausaVariacion() : "OM"); + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MotivoInscripcion.CodigoVariacionEnum codigo = mins + .getCodigoVariacion(); if (codigo != null) { motivoInscripcion.setCodigoVariacion(codigo.getValue()); } else { @@ -473,51 +488,52 @@ private es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado ad motivoInscripcion.setDescripcion("Alta por omisión"); domicilio.setMotivoInscripcion(motivoInscripcion); } - - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MunicipioRespuesta munRes = dom.getMunicipioRespuesta(); - - if (munRes!=null){ + + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.MunicipioRespuesta munRes = dom + .getMunicipioRespuesta(); + + if (munRes != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MunicipioRespuesta municipioRespuesta = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.MunicipioRespuesta(); municipioRespuesta.setCodigo(munRes.getCodigo()); municipioRespuesta.setNombre(munRes.getNombre()); domicilio.setMunicipioRespuesta(municipioRespuesta); } - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Nucleo nuc = dom.getNucleo(); - - if (nuc!=null){ + + if (nuc != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Nucleo nucleo = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Nucleo(); nucleo.setCodigo(nuc.getCodigo()); - nucleo.setNombre((nuc.getNombre()!=null)?nuc.getNombre():"-"); + nucleo.setNombre((nuc.getNombre() != null) ? nuc.getNombre() : "-"); domicilio.setNucleo(nucleo); } - - es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.ProvinciaRespuesta proRes = dom.getProvinciaRespuesta(); - - if (proRes!=null){ + + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.ProvinciaRespuesta proRes = dom + .getProvinciaRespuesta(); + + if (proRes != null) { es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.ProvinciaRespuesta provinciaRespuesta = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.ProvinciaRespuesta(); provinciaRespuesta.setCodigo(proRes.getCodigo()); provinciaRespuesta.setNombre(proRes.getNombre()); domicilio.setProvinciaRespuesta(provinciaRespuesta); } - + historicoDomicilios.getDomicilio().add(domicilio); } - + } } - + resultado.setHistoricoDomicilios(historicoDomicilios); } - + resultado.setNombre(res.getNombre()); resultado.setParticula1(res.getParticula1()); resultado.setParticula2(res.getParticula2()); - + return resultado; } - - + @Override public void peticionSincrona() { @@ -526,7 +542,7 @@ public void peticionSincrona() { } catch (JAXBException | IOException ex) { Logger.getLogger(SCDHPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); } - + String tipo = null; String valor = null; String numSoporte = null; @@ -535,9 +551,12 @@ public void peticionSincrona() { log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Solicitud: " + pde.getSolicitud()); if (pde.getSolicitud() != null) { - log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Provincia: " + pde.getSolicitud().getProvinciaSolicitud()); - log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Municipi: " + pde.getSolicitud().getMunicipioSolicitud()); - log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Numero anyos: " + pde.getSolicitud().getNumeroAnyos()); + log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Provincia: " + + pde.getSolicitud().getProvinciaSolicitud()); + log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Municipi: " + + pde.getSolicitud().getMunicipioSolicitud()); + log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "Numero anyos: " + + pde.getSolicitud().getNumeroAnyos()); if (pde.getSolicitud().getTitular() != null) { @@ -554,16 +573,16 @@ public void peticionSincrona() { log.info("SCDHPAJUv3Client :: Paràmetres de consulta: " + "NIA: " + NIA); } - } + } } } es.caib.scsp.esquemas.SCDHPAJUv3.peticion.datosespecificos.Solicitud solicitud = pde.getSolicitud(); - + String provinciaSolicitud = null; String municipioSolicitud = null; - + if (solicitud != null) { provinciaSolicitud = solicitud.getProvinciaSolicitud(); municipioSolicitud = solicitud.getMunicipioSolicitud(); @@ -571,16 +590,16 @@ public void peticionSincrona() { es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Solicitud sol = adaptaSolicitud(pde.getSolicitud()); - log.info("SCDHPAJUv3Client :: Solicitud per al cedent " + solicitud); - + log.info("SCDHPAJUv3Client :: Solicitud per al cedent " + solicitud); + rde = new SCDHPAJUv3RespuestaDatosEspecificos(); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Estado(); - + es.caib.scsp.api.cedent.client.SCDHPAJUv3.model.Resultado res; try { res = getResultado(sol); - log.info("SCDHPAJUv3Client :: Resposta del cedent " + res); + log.info("SCDHPAJUv3Client :: Resposta del cedent " + res); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Resultado resultado = adaptaResultado(res); log.info("SCDHPAJUv3Client :: Resposta del cedent adaptada"); rde.setResultado(resultado); @@ -590,7 +609,7 @@ public void peticionSincrona() { rde.setEstado(respuestaEstado); } catch (ApiException ex) { Logger.getLogger(SCDHPAJUv3Client.class.getName()).log(Level.SEVERE, null, ex); - if (ErrorBackoffice.NO_IDENTIFICAT.getEstat().endsWith(String.valueOf(ex.getCode()))){ + if (ErrorBackoffice.NO_IDENTIFICAT.getEstat().endsWith(String.valueOf(ex.getCode()))) { respuestaEstado.setCodigoEstado(ErrorBackoffice.NO_IDENTIFICAT.getEstat()); respuestaEstado.setLiteralError("Titular No Identificat"); rde.setEstado(respuestaEstado); @@ -599,40 +618,45 @@ public void peticionSincrona() { } } - es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Solicitud respuestaSolicitud = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Solicitud(); - + respuestaSolicitud.setProvinciaSolicitud(provinciaSolicitud); respuestaSolicitud.setMunicipioSolicitud(municipioSolicitud); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Titular respuestaTitular = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Titular(); es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Documentacion respuestaDocumentacion = new es.caib.scsp.esquemas.SCDHPAJUv3.respuesta.datosespecificos.Documentacion(); - - - - if (solicitud!=null && solicitud.getTitular()!= null && solicitud.getTitular().getDocumentacion()!=null){ - tipo = (solicitud.getTitular().getDocumentacion().getTipo()!=null)?solicitud.getTitular().getDocumentacion().getTipo():tipo; - valor = (solicitud.getTitular().getDocumentacion().getValor()!=null)?solicitud.getTitular().getDocumentacion().getValor():valor; - numSoporte = (solicitud.getTitular().getDocumentacion().getNumSoporte()!=null)?solicitud.getTitular().getDocumentacion().getNumSoporte():numSoporte; - } else if (solicitud!=null && solicitud.getTitular()!= null && solicitud.getTitular().getDatosPersonales()!=null && solicitud.getTitular().getDatosPersonales().getDocumentacion()!=null){ + + if (solicitud != null && solicitud.getTitular() != null && solicitud.getTitular().getDocumentacion() != null) { + tipo = (solicitud.getTitular().getDocumentacion().getTipo() != null) + ? solicitud.getTitular().getDocumentacion().getTipo() + : tipo; + valor = (solicitud.getTitular().getDocumentacion().getValor() != null) + ? solicitud.getTitular().getDocumentacion().getValor() + : valor; + numSoporte = (solicitud.getTitular().getDocumentacion().getNumSoporte() != null) + ? solicitud.getTitular().getDocumentacion().getNumSoporte() + : numSoporte; + } else if (solicitud != null && solicitud.getTitular() != null + && solicitud.getTitular().getDatosPersonales() != null + && solicitud.getTitular().getDatosPersonales().getDocumentacion() != null) { tipo = solicitud.getTitular().getDatosPersonales().getDocumentacion().getTipo(); valor = solicitud.getTitular().getDatosPersonales().getDocumentacion().getValor(); numSoporte = solicitud.getTitular().getDatosPersonales().getDocumentacion().getNumSoporte(); } - - log.info("SCDHPAJUv3Client :: Tipus de documentació de la solicitud: " + tipo); - log.info("SCDHPAJUv3Client :: Valor de documentació de la solicitud: " + valor); - log.info("SCDHPAJUv3Client :: Numero de suport de la solicitud: " + numSoporte); - - + log.info("SCDHPAJUv3Client :: Tipus de documentació de la solicitud: " + tipo); + log.info("SCDHPAJUv3Client :: Valor de documentació de la solicitud: " + valor); + log.info("SCDHPAJUv3Client :: Numero de suport de la solicitud: " + numSoporte); + respuestaDocumentacion.setNumSoporte(numSoporte); respuestaDocumentacion.setTipo(tipo); respuestaDocumentacion.setValor(valor); respuestaTitular.setDocumentacion(respuestaDocumentacion); respuestaSolicitud.setTitular(respuestaTitular); - - if (respuestaDocumentacion.getTipo()!=null){ - datosGenericos.getTitular().setTipoDocumentacion(es.caib.emiserv.logic.intf.service.ws.backoffice.TipoDocumentacion.valueOf(respuestaDocumentacion.getTipo())); + + if (respuestaDocumentacion.getTipo() != null) { + datosGenericos.getTitular() + .setTipoDocumentacion(es.caib.emiserv.logic.intf.service.ws.backoffice.TipoDocumentacion + .valueOf(respuestaDocumentacion.getTipo())); datosGenericos.getTitular().setDocumentacion(respuestaDocumentacion.getValor()); } @@ -649,12 +673,14 @@ public void peticionSincrona() { @Override public Element getRespuestaDatosEspecificos() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. } @Override public void setPeticionDatosEspecificos(Element element) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. } - + } diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SVDSCTFNWS01v3Client.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SVDSCTFNWS01v3Client.java new file mode 100644 index 0000000..623d35c --- /dev/null +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/cedent/SVDSCTFNWS01v3Client.java @@ -0,0 +1,548 @@ +package es.caib.emiservbackoffice.ws.cedent; + +import es.caib.emiserv.logic.intf.exception.BackofficeException; +import es.caib.emiserv.logic.intf.service.ws.backoffice.DatosGenericos; +import es.caib.emiserv.logic.intf.service.ws.backoffice.Estado; +import es.caib.emiservbackoffice.ws.scsp.SVDSCTFNWS01v3PeticionDatosEspecificos; +import es.caib.emiservbackoffice.ws.scsp.SVDSCTFNWS01v3RespuestaDatosEspecificos; +import es.caib.emiservbackoffice.ws.specs.ErrorBackoffice; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.custom.Svdsctfnws01v3ApiCustom; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.BeneficiarioRetorno; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Categoria; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.TituloVigente; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.custom.ApiClientCustom; +import es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.services.ApiException; +import es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.ListaBeneficiariosRetorno; +import es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.TituloFamiliaNumerosa; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.sql.Timestamp; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.ws.rs.ProcessingException; +import javax.ws.rs.core.HttpHeaders; +import javax.xml.bind.JAXBException; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSchema; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import org.fundaciobit.pluginsib.utils.xml.XmlManager; +import org.springframework.util.Base64Utils; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; + +import org.fundaciobit.pluginsib.utils.commons.GregorianCalendars; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; +import org.springframework.web.client.HttpServerErrorException; +import org.xml.sax.SAXException; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * + * @author gdeignacio + */ +public class SVDSCTFNWS01v3Client extends CedentClient { + + protected es.caib.emiservbackoffice.ws.scsp.SVDSCTFNWS01v3PeticionDatosEspecificos pde; + + protected es.caib.emiservbackoffice.ws.scsp.SVDSCTFNWS01v3RespuestaDatosEspecificos rde; + + public SVDSCTFNWS01v3Client(DatosGenericos datosGenericos, String strPeticionDatosEspecificos, + Propietats propietats) { + super(datosGenericos, strPeticionDatosEspecificos, propietats); + } + + private void setDatosPeticion() throws JAXBException, IOException { + + try { + XmlManager manager = new XmlManager( + SVDSCTFNWS01v3PeticionDatosEspecificos.class); + + Element peticionDatosEspecificos = manager.stringToElement(strPeticionDatosEspecificos); + + NamedNodeMap attrs = peticionDatosEspecificos.getAttributes(); + + while (attrs.getLength() > 0) { + attrs.removeNamedItem(attrs.item(0).getNodeName()); + } + + // peticionDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE.concat(":ns2"), + // EMISERV_BACKOFFICE_XMLNS); + + pde = manager.generateItem(peticionDatosEspecificos, false, true); + + log.info("SVDSCTFNWS01v3Client :: Datos Especificos Peticion: " + ((pde != null) ? pde.toString() : "")); + } catch (TransformerException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } catch (ParserConfigurationException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } catch (SAXException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } + + } + + private void setDatosRespuesta() throws JAXBException, ParserConfigurationException { + + XmlManager manager = new XmlManager( + SVDSCTFNWS01v3RespuestaDatosEspecificos.class); + + XmlSchema xmlSchemaAnnotation = manager.getXmlSchemaAnnotation(); + + log.info("SVDSCTFNWS01v3Client :: Datos Especificos NAMESPACE: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.namespace() : "No xmlSchemaAnnotation")); + log.info("SVDSCTFNWS01v3Client :: Datos Especificos LOCATION: " + + ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.location() : "No xmlSchemaAnnotation")); + + XmlRootElement xmlRootElementAnnotation = manager.getXmlRootElementAnnotation(); + + log.info("SVDSCTFNWS01v3Client :: Datos Especificos XmlRoot NAMESPACE: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.namespace() + : "No xmlRootElementAnnotation")); + log.info("SVDSCTFNWS01v3Client :: Datos Especificos XmlRoot LOCATION: " + + ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.name() + : "No xmlRootElementAnnotation")); + + Element respuestaDatosEspecificos = manager.generateElement(rde); + // respuestaDatosEspecificos.setAttribute(XMLConstants.XMLNS_ATTRIBUTE, + // xmlSchemaAnnotation.namespace()); + + try { + strRespuestaDatosEspecificos = manager.elementToString(respuestaDatosEspecificos); + } catch (TransformerException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } + + } + + private Map getResultado(es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Solicitud solicitud) + throws ApiException { + + log.info("SVDSCTFNWS01v3Client :: Iniciant client"); + + Svdsctfnws01v3ApiCustom api = new Svdsctfnws01v3ApiCustom(); + + ApiClientCustom apiClient = api.getApiClientCustom(); + + apiClient.setBasePath(propietats.getEndpoint()); + + apiClient.setDebugging(true); + + String usuari = propietats.getUsuari(); + String secret = propietats.getSecret(); + + String userpass = usuari.concat(":").concat(secret); + + apiClient.addDefaultHeader(HttpHeaders.AUTHORIZATION, + "Basic " + Base64Utils.encodeToString(userpass.getBytes(StandardCharsets.UTF_8))); + + // api.getApiClient().addDefaultHeader(HttpHeaders.ACCEPT, "; charset=" + + // StandardCharsets.UTF_8.name()); + // api.getApiClient().addDefaultHeader(HttpHeaders.CONTENT_TYPE, "; charset=" + + // StandardCharsets.UTF_8.name()); + + // es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Resultado response = + // null; + + Map response = null; + + try { + + response = api.peticionSincronaCustom(solicitud); + + } catch (ProcessingException ex) { + + throw new ApiException(ex.getMessage(), ex, api.getApiClientCustom().getStatusCode(), + api.getApiClientCustom().getResponseHeaders()); + + } catch (ApiException ex) { + + int code = 400; + String message = ""; + String jsonString = ex.getMessage(); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode; + + try { + + jsonNode = objectMapper.readTree(jsonString); + code = jsonNode.get("code").asInt(); + message = jsonNode.get("message").asText(); + + } catch (IOException ioex) { + + throw new ApiException(ioex.getMessage(), ioex, api.getApiClientCustom().getStatusCode(), + api.getApiClientCustom().getResponseHeaders()); + + } + + throw new ApiException(message, ex, code, api.getApiClientCustom().getResponseHeaders(), + ex.getResponseBody()); + } + + log.info("SVDSCTFNWS01v3Client :: Consulta al cedent finalitzada"); + + return response; + } + + /** + * @param consulta + * @return + */ + private es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Solicitud adaptaSolicitud( + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.Consulta consulta) { + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Solicitud sol = new es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Solicitud(); + + if (consulta == null) { + return sol; + } + + String codigoComunidadAutonoma = null; + String numeroTitulo = null; + String fechaConsulta = null; + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.TituloFamiliaNumerosa tituloFamiliaNumerosa = consulta.getTituloFamiliaNumerosa(); + + if (tituloFamiliaNumerosa != null) { + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.TituloFamiliaNumerosa tfn = new es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.TituloFamiliaNumerosa(); + + codigoComunidadAutonoma = tituloFamiliaNumerosa.getCodigoComunidadAutonoma(); + numeroTitulo = tituloFamiliaNumerosa.getNumeroTitulo(); + fechaConsulta = tituloFamiliaNumerosa.getFechaConsulta(); + + tfn.setCodigoComunidadAutonoma(codigoComunidadAutonoma); + tfn.setNumeroTitulo(numeroTitulo); + tfn.setFechaConsulta(fechaConsulta); + + sol.setTituloFamiliaNumerosa(tfn); + } + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.DatosAdicionalesTitular dat = new es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.DatosAdicionalesTitular(); + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.DatosPersonales dp = new es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.DatosPersonales(); + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion dc = new es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion(); + + String tipo; + String valor; + String apellido1; + String apellido2; + String nombre; + String fechaNacimiento; + + es.caib.emiserv.logic.intf.service.ws.backoffice.Titular titular = datosGenericos.getTitular(); + + if (titular != null){ + tipo = titular.getTipoDocumentacion().toString(); + valor = titular.getDocumentacion(); + apellido1 = titular.getApellido1(); + apellido2 = titular.getApellido2(); + nombre = titular.getNombre(); + + dp.setApellido1(apellido1); + dp.setApellido2(apellido2); + dp.setNombre(nombre); + + dc.setTipo(es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion.TipoEnum.fromValue(tipo)); + dc.setValor(valor); + dp.setDocumentacion(dc); + } + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.DatosAdicionalesTitular datosAdicionalesTitular = consulta.getDatosAdicionalesTitular(); + + if (datosAdicionalesTitular != null) { + fechaNacimiento = datosAdicionalesTitular.getFechaNacimiento(); + dp.setFechaNacimiento(fechaNacimiento); + } + + dat.setDatosPersonales(dp); + dat.setDocumentacion(dc); + sol.setTitular(dat); + + return sol; + + } + + private es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno adaptaResultado( + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Resultado res) { + + if (res == null) { + return null; + } + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno(); + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.TituloFamiliaNumerosaRetorno tfnret = res + .getTituloFamiliaNumerosaRetorno(); + + if (tfnret != null) { + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.TituloFamiliaNumerosaRetorno tituloFamiliaNumerosaRetorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.TituloFamiliaNumerosaRetorno(); + + String cca = tfnret.getCodigoComunidadAutonoma(); + String fcad = tfnret.getFechaCaducidad(); + String numttl = tfnret.getNumeroTitulo(); + Integer nh = tfnret.getNumeroHijos(); + + Categoria cat = tfnret.getCategoria(); + String categoria; + if (cat != null) { + categoria = cat.getValue(); + } + + TituloVigente tvi = tfnret.getTituloVigente(); + String tituloVigente; + if (tvi != null) { + tituloVigente = tvi.getValue(); + } + + tituloFamiliaNumerosaRetorno.setCodigoComunidadAutonoma(cca); + tituloFamiliaNumerosaRetorno.setFechaCaducidad(fcad); + tituloFamiliaNumerosaRetorno.setNumeroTitulo(numttl); + tituloFamiliaNumerosaRetorno.setNumeroHijos(nh); + + tituloFamiliaNumerosaRetorno.setCategoria(categoria); + tituloFamiliaNumerosaRetorno.setTituloVigente(tituloVigente); + + retorno.setTituloFamiliaNumerosaRetorno(tituloFamiliaNumerosaRetorno); + } + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.ListaBeneficiariosRetorno lbr = res + .getListaBeneficiariosRetorno(); + + if (lbr != null) { + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.ListaBeneficiariosRetorno listaBeneficiariosRetorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.ListaBeneficiariosRetorno(); + + List dom = lbr.getDomicilio(); + + if (dom != null) { + + for (BeneficiarioRetorno ber : dom) { + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.BeneficiarioRetorno beneficiarioRetorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.BeneficiarioRetorno(); + + beneficiarioRetorno.setApellido1(ber.getApellido1()); + beneficiarioRetorno.setApellido2(ber.getApellido2()); + + // set Documentacion + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion doc = ber.getDocumentacion(); + if (doc != null) { + // es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Documentacion + // documentacion = new + // es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Documentacion(); + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion.TipoEnum tipo = doc.getTipo(); + if (tipo != null) { + String valorTipo = (es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Documentacion.TipoEnum.PASSAPORT == tipo) + ? "Pasaporte" + : tipo.getValue(); + beneficiarioRetorno.setTipoDocumentacion(valorTipo); + String documentacion = doc.getValor(); + beneficiarioRetorno.setDocumentacion(documentacion); + } + } + + beneficiarioRetorno.setFechaNacimiento(ber.getFechaNacimiento()); + beneficiarioRetorno.setNombre(ber.getNombre()); + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Titular ttlr = ber.getTitular(); + + if (ttlr != null) { + String titular = ttlr.getValue(); + beneficiarioRetorno.setTitular(titular); + } + + listaBeneficiariosRetorno.getBeneficiarioRetorno().add(beneficiarioRetorno); + } + + } + + retorno.setListaBeneficiariosRetorno(listaBeneficiariosRetorno); + + } + + return retorno; + } + + @Override + public void peticionSincrona() { + + try { + setDatosPeticion(); + } catch (JAXBException | IOException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } + + String tipo = null; + String valor = null; + + es.caib.emiserv.logic.intf.service.ws.backoffice.Titular ttl = datosGenericos.getTitular(); + + if (ttl != null) { + if (ttl.getDocumentacion() != null) { + tipo = ttl.getTipoDocumentacion().toString(); + valor = ttl.getDocumentacion(); + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Tipus document: " + tipo); + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Document: " + valor); + } + } + + + if (pde != null) { + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.Consulta consulta = pde.getConsulta(); + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.TituloFamiliaNumerosa tfm; + es.caib.scsp.esquemas.SVDSCTFNWS01v3.peticion.datosespecificos.DatosAdicionalesTitular dat; + + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Consulta: " + consulta); + + if (consulta != null) { + + tfm = consulta.getTituloFamiliaNumerosa(); + + if (tfm != null) { + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Codi comunitat autònoma : " + + tfm.getCodigoComunidadAutonoma()); + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Data consulta : " + + tfm.getFechaConsulta()); + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Numero títol : " + + tfm.getNumeroTitulo()); + } + + dat = consulta.getDatosAdicionalesTitular(); + + if (dat != null) { + log.info("SVDSCTFNWS01v3Client :: Paràmetres de consulta: " + "Data neixement titular : " + + dat.getFechaNacimiento()); + } + + + + } + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Solicitud sol = adaptaSolicitud(consulta); + + log.info("SVDSCTFNWS01v3Client :: Solicitud per al cedent " + sol); + + rde = new SVDSCTFNWS01v3RespuestaDatosEspecificos(); + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado(); + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno(); + + try { + + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Resultado res; + es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.ModelApiResponse modelApiResponse; + + Map response = getResultado(sol); + + res = (es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.Resultado) response.get("returnType"); + log.info("SVDSCTFNWS01v3Client :: Resposta del cedent " + res); + modelApiResponse = (es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.ModelApiResponse) response + .get("errorType"); + log.info("SVDSCTFNWS01v3Client :: Resposta api del cedent " + modelApiResponse); + + if (res != null) { + retorno = adaptaResultado(res); + + respuestaEstado.setCodigoEstado(ErrorBackoffice.TRAMITADA.getEstat()); + respuestaEstado.setLiteralError(ErrorBackoffice.TRAMITADA.getCodi()); + retorno.setEstado(respuestaEstado); + + log.info("SVDSCTFNWS01v3Client :: Resposta del cedent adaptada"); + + if (retorno != null) { + for (es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.BeneficiarioRetorno beneficiarioRetorno : retorno.getListaBeneficiariosRetorno().getBeneficiarioRetorno()) { + if ("S".equals(beneficiarioRetorno.getTitular())) { + datosGenericos.getTitular() + .setTipoDocumentacion(es.caib.emiserv.logic.intf.service.ws.backoffice.TipoDocumentacion + .valueOf(beneficiarioRetorno.getTipoDocumentacion())); + datosGenericos.getTitular().setDocumentacion(beneficiarioRetorno.getDocumentacion()); + + } + } + } + + } + + if (modelApiResponse != null) { + retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno(); + respuestaEstado.setCodigoEstado(String.valueOf(modelApiResponse.getCode())); + respuestaEstado.setLiteralError(modelApiResponse.getMessage()); + retorno.setEstado(respuestaEstado); + } + + } catch (ApiException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + + retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno(); + respuestaEstado.setCodigoEstado(ErrorBackoffice.ERROR_CEDENT.getEstat()); + respuestaEstado.setLiteralError("Error genèric del cedent. " + ex.getMessage()); + retorno.setEstado(respuestaEstado); + } + + rde.setRetorno(retorno); + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Consulta respuestaConsulta = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Consulta(); + + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.TituloFamiliaNumerosa tfmr; + es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.DatosAdicionalesTitular datr; + + if (tfm!=null){ + tfmr = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.TituloFamiliaNumerosa(); + tfmr.setCodigoComunidadAutonoma(tfm.getCodigoComunidadAutonoma()); + tfmr.setFechaConsulta(tfm.getFechaConsulta()); + tfmr.setNumeroTitulo(tfm.getNumeroTitulo()); + respuestaConsulta.setTituloFamiliaNumerosa(tfmr); + respuestaConsulta.setTituloFamiliaNumerosa(tfmr); + } + + if (dat!=null){ + datr = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.DatosAdicionalesTitular(); + datr.setFechaNacimiento(dat.getFechaNacimiento()); + respuestaConsulta.setDatosAdicionalesTitular(datr); + } + + rde.setConsulta(respuestaConsulta); + + } + + log.info("SVDSCTFNWS01v3Client :: Tipus de documentació de la solicitud: " + tipo); + log.info("SVDSCTFNWS01v3Client :: Valor de documentació de la solicitud: " + valor); + + log.info("SVDSCTFNWS01v3Client :: Dades resposta"); + try { + setDatosRespuesta(); + } catch (JAXBException | ParserConfigurationException ex) { + Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex); + } + + } + + @Override + public Element getRespuestaDatosEspecificos() { + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. + } + + @Override + public void setPeticionDatosEspecificos(Element element) { + throw new UnsupportedOperationException("Not supported yet."); // To change body of generated methods, choose + // Tools | Templates. + } + +} diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ErrorBackoffice.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ErrorBackoffice.java index ad8c44b..1df21fb 100644 --- a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ErrorBackoffice.java +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ErrorBackoffice.java @@ -21,7 +21,8 @@ public enum ErrorBackoffice { MULTIPLES_SOLICITUDS("MULTIPLES_SOLICITUDS", "0415"), ERROR_DATOS_ESPECIFICOS("ERROR_DATOS_ESPECIFICOS","0239"), ERROR_BACKOFFICE("ERROR_BACKOFFICE", "0242"), - ERROR_CEDENT("ERROR_CEDENT","0242"); + ERROR_CEDENT("ERROR_CEDENT","0242"), + FALTA_INFORMACION_MINIMA_PETICION("FALTA_INFORMACION_MINIMA_PETICION", "0254"); private ErrorBackoffice(String codi, String estat){ this.codi = codi; diff --git a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ServeiBackoffice.java b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ServeiBackoffice.java index 0c1c2f6..9e24e5d 100644 --- a/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ServeiBackoffice.java +++ b/emiservbackoffice-ws/emiservbackoffice_ws_server/src/main/java/es/caib/emiservbackoffice/ws/specs/ServeiBackoffice.java @@ -6,6 +6,7 @@ import es.caib.emiservbackoffice.ws.cedent.SCDCPAJUv3Client; import es.caib.emiservbackoffice.ws.cedent.SCDHPAJUv3Client; +import es.caib.emiservbackoffice.ws.cedent.SVDSCTFNWS01v3Client; /** * @@ -14,7 +15,8 @@ public enum ServeiBackoffice { SCDCPAJU("SCDCPAJUv3", SCDCPAJUv3Client.class), - SCDHPAJU("SCDHPAJUv3", SCDHPAJUv3Client.class); + SCDHPAJU("SCDHPAJUv3", SCDHPAJUv3Client.class), + SVDSCTFNWS01("SVDSCTFNWS01v3", SVDSCTFNWS01v3Client.class); private ServeiBackoffice(String codi, Class client){ this.codi = codi;