Esempio n. 1
0
  /**
   * Lee la configuración de la base de datos a utilizar presente en el archivo ProyILCE.properties
   *
   * @return Properties Properties obtenidas del archivo
   * @throws Exception
   */
  public static Properties leerConfig() 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 + "ProyILCE.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 configuración");
      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 configuración");
      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 configuración");
      }
    }
    return prop;
  }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
  /**
   * 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;
  }
Esempio n. 4
0
 /**
  * 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;
 }
Esempio n. 5
0
 /**
  * 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;
 }