/** * Borra un archivo desde el servidor. Antes de borrar el archivo, se valida que la ruta que se * entrega corresponda con el de la configuración, destinada a los archivos enviados por el * usuario * * @param hsFile HashMap con los datos del archivo * @return boolean Resultado de la operación de borrado del archivo temporal */ public static boolean deleFileFromServer(HashMap hsFile) throws ExceptionHandler { boolean isOK = false; try { if (hsFile != null) { if (!hsFile.isEmpty()) { Properties prop = AdminFile.leerConfig(); String FileServerPath = AdminFile.getKey(prop, AdminFile.FILESERVER); Collection col = hsFile.values(); Iterator it = col.iterator(); while (it.hasNext()) { String str = (String) it.next(); int len = FileServerPath.length(); String strSub = str.substring(0, len); if (FileServerPath.equals(strSub)) { File file = new File(str); file.delete(); } } isOK = true; } } } catch (Exception ex) { ExceptionHandler eh = new ExceptionHandler( ex, AdminFile.class, "Problemas para borrar los archivos desde el Server"); eh.setDataToXML(hsFile); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); throw eh; } return isOK; }
/** * Obtiene el valor de una palabra clave (key), desde un arreglo de properties * * @param prop Listado de properties obtenido desde el archivo de configuracion * @param strKey Palabra usada como Key para la busqueda dentro del propertie * @return String Valor de la Key en el listado de Properties */ public static String getKey(Properties prop, String key) throws ExceptionHandler { String sld = ""; try { Enumeration e = prop.keys(); if (e.hasMoreElements()) { sld = prop.getProperty(key); } } catch (Exception e) { ExceptionHandler eh = new ExceptionHandler( e, AdminFile.class, "Problemas para obtener la llave desde el properties"); eh.setDataToXML("KEY", key); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); throw eh; } return sld; }
/** * Entrega el id de la query que le corresponde según el archivo de configuración. * * @param prop Listado de properties obtenido desde el archivo de configuración * @param key Palabra usada como Key para la busqueda dentro del propertie * @return Integer ID de la query en el listado de Properties */ public static Integer getIdQuery(Properties prop, String key) throws ExceptionHandler { Integer sld = Integer.valueOf(0); String str = ""; try { Enumeration e = prop.keys(); if (e.hasMoreElements()) { str = prop.getProperty(key); } sld = Integer.valueOf(str); } catch (Exception e) { ExceptionHandler eh = new ExceptionHandler(e, AdminFile.class, "Problemas para obtener el ID de la Query"); eh.setDataToXML("KEY", key); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); throw eh; } return sld; }
/** * Método que efectúa la copia de un archivo desde una ruta de Origen a una de Destino * * @return boolean Resultado de la operación de copia * @throws IOException */ private boolean copiarArchivo() throws IOException { boolean sld = false; FileInputStream in = null; FileOutputStream out = null; File srcDir = null; String source = null; String dest = null; try { // asignamos la ruta del usuario dest = this.getRutaDest(); source = this.getRutaFile(); srcDir = new File(dest); // crear directorio si no existe if (!srcDir.exists()) { srcDir.mkdir(); } dest = dest + File.separator + this.getNameFile(); // copiar archivo subido a destino in = (new FileInputStream(source)); out = (new FileOutputStream(dest)); int c; while ((c = in.read()) != -1) out.write(c); sld = true; } catch (Exception e) { ExceptionHandler eh = new ExceptionHandler(e, AdminFile.class, "Problemas al copiar el archivo"); eh.setDataToXML("ORIGEN", source); eh.setDataToXML("DESTINO", dest); eh.setDataToXML("ARCHIVO", this.getNameFile()); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); try { throw eh; } catch (ExceptionHandler ex) { } } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } return sld; }
/** * Lee el archivo de properties que contiene los ID de queries configuradas * * @return Properties Properties con los ID de queries obtenidas * @throws Exception */ public static Properties leerIdQuery() throws ExceptionHandler { Properties prop = new Properties(); InputStream is = null; File f = null; File fichero = null; URL url = null; try { String separador = String.valueOf(File.separator); url = AdminFile.class.getResource("AdminFile.class"); if (url.getProtocol().equals("file")) { f = new File(url.toURI()); f = f.getParentFile().getParentFile(); f = f.getParentFile().getParentFile(); WORKING_DIRECTORY = f.getParentFile(); } fichero = new File(WORKING_DIRECTORY + separador + "IdQuery.properties"); if (fichero.exists()) { is = new FileInputStream(fichero.getAbsolutePath()); prop.load(is); } } catch (URISyntaxException u) { ExceptionHandler eh = new ExceptionHandler(u, AdminFile.class, "Problemas para leer el archivo de Queries"); eh.setDataToXML("ARCHIVO", ((url == null) ? "" : url.toString())); eh.setDataToXML("FILE", ((f == null) ? "" : f.toString())); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); throw eh; } catch (IOException e) { ExceptionHandler eh = new ExceptionHandler(e, AdminFile.class, "Problemas para leer el archivo de Queries"); eh.setDataToXML("ARCHIVO", ((url == null) ? "" : url.toString())); eh.setDataToXML("FILE", ((f == null) ? "" : f.toString())); eh.setStringData(eh.getDataToXML()); eh.setSeeStringData(true); throw eh; } finally { try { if (is != null) { is.close(); } } catch (Exception e) { throw new ExceptionHandler( e, AdminFile.class, "Problemas para cerrar el archivo de Queries"); } } return prop; }