@RequestMapping(method = RequestMethod.GET, value = "/cargaFuenteInterna/{idUsuarioCreador}") public ResponseEntity<FuenteDto> CargaCatalogo( @PathVariable("idUsuarioCreador") Long idUsuarioCreador) { FuenteDto fuenteCatalogo; FuenteDto fuenteDto = new FuenteDto(); fuenteDto.setEsCatalogoInterno((short) 1); Date data; String strData; try { strData = getServicioConfiguracionGeneral().getCatalogoData(); data = UtilFecha.multiParse(strData); fuenteDto.setFechaRegistro(data); fuenteDto.setNombre(getServicioConfiguracionGeneral().getCatalogoNome()); fuenteDto.setInfoConexion(getServicioConfiguracionGeneral().getCatalogoUrl()); fuenteDto.setPassword(getServicioConfiguracionGeneral().getCatalogoPass()); fuenteDto.setUsuario(getServicioConfiguracionGeneral().getCatalogoUser()); fuenteDto.setId(0); } catch (Exception e) { log.error("Error excetion ERROR_PARAM_CONFIG "); fuenteDto.setNombre(ERROR_PARAM_CONFIG); return new ResponseEntity<FuenteDto>(fuenteDto, responseHeaders, HttpStatus.OK); } try { if (fuenteDto.getNombre().isEmpty() || fuenteDto.getInfoConexion().isEmpty() || data == null) { log.error("Error parametros vacions " + ERROR_PARAM_CONFIG + strData); fuenteDto.setNombre(ERROR_PARAM_CONFIG); return new ResponseEntity<FuenteDto>(fuenteDto, responseHeaders, HttpStatus.OK); } else { // comprobamos si existe la fuente con los datos del fichero de // configuración despliegue.properties en BD fuenteCatalogo = gestorCUFuente.existeFuenteCatalogo(fuenteDto); // sino existe la fuente la insertamos en la DB if (fuenteCatalogo == null || fuenteCatalogo.getId() == 0) { fuenteCatalogo = gestorCUFuente.gardaFuenteCatalogo(fuenteDto, idUsuarioCreador); } } } catch (Exception e) { log.error("Error segunda exception fuente vacia"); return new ResponseEntity<FuenteDto>(new FuenteDto(), responseHeaders, HttpStatus.OK); } log.debug("EXITO al cargar la fuente: " + fuenteCatalogo.getNombre()); return new ResponseEntity<FuenteDto>(fuenteCatalogo, responseHeaders, HttpStatus.OK); }
@RequestMapping( method = RequestMethod.GET, value = "/mapaTablaFuente/{esquema}/{tabla}/{id}/{tipo}") public ResponseEntity<AtributosMapDto> mapaTablaFuente( @PathVariable("esquema") String esquema, @PathVariable("tabla") String tabla, @PathVariable("id") Long id, @PathVariable("tipo") String tipo, HttpServletRequest request) { String path; if (tipo.equals(TiposFuente.CSV.getId())) path = getServicioConfiguracionGeneral().getPathCsv(); else if (tipo.equals(TiposFuente.GML.getId())) path = getServicioConfiguracionGeneral().getPathGml(); else if (tipo.equals(TiposFuente.SHAPEFILE.getId())) path = getServicioConfiguracionGeneral().getPathShapefile(); else path = null; String caracterSeparador = getServicioConfiguracionGeneral().getCaracterSeparadorCSV(); String realPath = getPathRealAplicacion(request, path); ResponseEntity<AtributosMapDto> respuesta = new ResponseEntity<AtributosMapDto>( gestorCUFuente.obtenerMapaTablaFuenteExterna(id, esquema, tabla, realPath), responseHeaders, HttpStatus.OK); return respuesta; }
@RequestMapping(method = RequestMethod.POST, value = "/ficheroGML") public ResponseEntity<EncapsuladorPOSTSW> guardarFicheroGML( @RequestBody EncapsuladorFileSW fich, HttpServletRequest request) { String path = getPathRealAplicacion(request, getServicioConfiguracionGeneral().getPathGml()); EncapsuladorErroresSW errores = new EncapsuladorErroresSW(); gestorCUFuente.guardaFichero(fich, path, errores, true); EncapsuladorPOSTSW<EncapsuladorFileSW> encapsulador = new EncapsuladorPOSTSW<EncapsuladorFileSW>(fich, errores); ResponseEntity<EncapsuladorPOSTSW> respuesta = new ResponseEntity<EncapsuladorPOSTSW>(encapsulador, HttpStatus.OK); return respuesta; }
@RequestMapping(method = RequestMethod.GET, value = "/obtenerFichero/{id}/{tipo}") public ResponseEntity<EncapsuladorFileSW> obtenerFichero( @PathVariable("id") Long id, @PathVariable("tipo") String tipo, HttpServletRequest request) { String path; String caracterSeparador = getServicioConfiguracionGeneral().getCaracterSeparadorCSV(); FuenteDto fuenteDto = gestorCUFuente.carga(id); String fich = ""; if (tipo.equals(TiposFuente.CSV.getId())) { path = getServicioConfiguracionGeneral().getPathCsv(); fich = fuenteDto.getFich_csv_gml(); } else if (tipo.equals(TiposFuente.GML.getId())) { path = getServicioConfiguracionGeneral().getPathGml(); fich = fuenteDto.getFich_csv_gml(); } else if (tipo.equals(TiposFuente.SHAPEFILE.getId())) { path = getServicioConfiguracionGeneral().getPathShapefile(); fich = fuenteDto.getFich_shp(); } else { path = null; fich = ""; } String realPath = getPathRealAplicacion(request, path); RandomAccessFile f = null; try { File file = new File(realPath + fuenteDto.getId() + "/" + fich); f = new RandomAccessFile(file, "r"); byte[] contenido = new byte[(int) f.length()]; f.read(contenido); EncapsuladorFileSW encapsuladorFich = new EncapsuladorFileSW(); encapsuladorFich.setFich(contenido); encapsuladorFich.setNombre(fich); ResponseEntity<EncapsuladorFileSW> respuesta = new ResponseEntity<EncapsuladorFileSW>(encapsuladorFich, HttpStatus.OK); return respuesta; } catch (FileNotFoundException e) { log.error("Fichero: " + fich + " no encontrado para descarga"); return new ResponseEntity<EncapsuladorFileSW>(new EncapsuladorFileSW(), HttpStatus.OK); } catch (Exception e) { log.error("Se ha producido un error al acceder al fichero: " + fich); return new ResponseEntity<EncapsuladorFileSW>(new EncapsuladorFileSW(), HttpStatus.OK); } finally { try { if (f != null) f.close(); } catch (IOException e) { log.error("No se pudo cerrar la conexion con el fichero"); } } }
@RequestMapping(method = RequestMethod.POST, value = "/fuente/{idUsuarioCreador}") public ResponseEntity<EncapsuladorPOSTSW> guardar( @PathVariable("idUsuarioCreador") Long idUsuarioCreador, @RequestBody FuenteDto fuenteDto, HttpServletRequest request) { EncapsuladorErroresSW errores = new EncapsuladorErroresSW(); String sistemaCoordenadas = getServicioConfiguracionGeneral().getCodigoCordenadas(); fuenteDto = gestorCUFuente.garda(fuenteDto, idUsuarioCreador, errores, sistemaCoordenadas); EncapsuladorPOSTSW<FuenteDto> encapsulador = new EncapsuladorPOSTSW<FuenteDto>(fuenteDto, errores); ResponseEntity<EncapsuladorPOSTSW> respuesta = new ResponseEntity<EncapsuladorPOSTSW>(encapsulador, HttpStatus.OK); return respuesta; }
@RequestMapping(method = RequestMethod.GET, value = "/tablasFuente/{id}/{tipo}") public ResponseEntity<EncapsuladorListSW<TablaFuenteDatosDto>> listaTablas( @PathVariable("id") Long id, @PathVariable("tipo") String tipo, HttpServletRequest request) { String path; if (tipo.equals(TiposFuente.CSV.getId())) path = getServicioConfiguracionGeneral().getPathCsv(); else if (tipo.equals(TiposFuente.GML.getId())) path = getServicioConfiguracionGeneral().getPathGml(); else if (tipo.equals(TiposFuente.SHAPEFILE.getId())) path = getServicioConfiguracionGeneral().getPathShapefile(); else path = null; String realPath = getPathRealAplicacion(request, path); return new ResponseEntity<EncapsuladorListSW<TablaFuenteDatosDto>>( gestorCUFuente.listarTablasFuenteExterna(id, realPath), responseHeaders, HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = "/probarFuente/{id}/{tipo}") public ResponseEntity<EncapsuladorBooleanSW> probarFuente( @PathVariable("id") Long id, @PathVariable("tipo") String tipo, HttpServletRequest request) { String path; String caracterSeparador = getServicioConfiguracionGeneral().getCaracterSeparadorCSV(); if (tipo.equals(TiposFuente.CSV.getId())) path = getServicioConfiguracionGeneral().getPathCsv(); else if (tipo.equals(TiposFuente.GML.getId())) path = getServicioConfiguracionGeneral().getPathGml(); else if (tipo.equals(TiposFuente.SHAPEFILE.getId())) path = getServicioConfiguracionGeneral().getPathShapefile(); else path = null; String realPath = getPathRealAplicacion(request, path); return new ResponseEntity<EncapsuladorBooleanSW>( gestorCUFuente.probarFuente(id, realPath, caracterSeparador), responseHeaders, HttpStatus.OK); }
@RequestMapping(method = RequestMethod.POST, value = "/borraFuente/{id}/{tipo}") public ResponseEntity<EncapsuladorPOSTSW> borrar( @PathVariable("id") Long id, @PathVariable("tipo") String tipo, HttpServletRequest request) { String path; if (tipo.equals(TiposFuente.CSV.getId())) path = getServicioConfiguracionGeneral().getPathCsv(); else if (tipo.equals(TiposFuente.GML.getId())) path = getServicioConfiguracionGeneral().getPathGml(); else if (tipo.equals(TiposFuente.SHAPEFILE.getId())) path = getServicioConfiguracionGeneral().getPathShapefile(); else path = null; String realPath = getPathRealAplicacion(request, path); EncapsuladorErroresSW errores = new EncapsuladorErroresSW(); EncapsuladorPOSTSW<FuenteDto> encapsulador = new EncapsuladorPOSTSW<FuenteDto>(gestorCUFuente.borra(id, realPath, errores), errores); ResponseEntity<EncapsuladorPOSTSW> respuesta = new ResponseEntity<EncapsuladorPOSTSW>(encapsulador, HttpStatus.OK); return respuesta; }
@RequestMapping(method = RequestMethod.GET, value = "/listaFuentes") public ResponseEntity<EncapsuladorListSW<FuenteDto>> cargaTodos() { return new ResponseEntity<EncapsuladorListSW<FuenteDto>>( gestorCUFuente.cargaTodos(), responseHeaders, HttpStatus.OK); }
@RequestMapping(method = RequestMethod.GET, value = "/fuente/{id}") public ResponseEntity<FuenteDto> cargaPorId(@PathVariable("id") Long id) { return new ResponseEntity<FuenteDto>(gestorCUFuente.carga(id), responseHeaders, HttpStatus.OK); }