/**
   * Importa los archivos de una tarea solicitada y los guarda en forma volátil en la lista de
   * archivos.
   *
   * @throws ADMINExcepcion
   * @throws OIExcepcion
   *     <li>Realiza los chequeos documentados por ejecutarInicio().
   *     <li>Cambia estados de los archivos: de "Ausente" a "Listo".
   * @deprecated Mejor utilizar importaArchivos, debido a que ahora se cuenta con un canal de
   *     comunicacion dedicado a la transmisión de datos.
   */
  protected void importaArchivosOld() throws OIExcepcion, ADMINGLOExcepcion {
    int medida = 0;
    byte[] contenidoI = null;
    PERSCoordinacion.Archivos archivo0, archivo00 = null;
    Iterator itr;
    itr = mpArchivos.values().iterator();
    Map mpArchListos, mpArchPresentes, mpArchivosErroneos;
    mpArchListos = new TreeMap(String.CASE_INSENSITIVE_ORDER);
    mpArchPresentes = new TreeMap(String.CASE_INSENSITIVE_ORDER);
    mpArchivosErroneos = new TreeMap(String.CASE_INSENSITIVE_ORDER);
    tarea.loadArchivosListos(mpArchListos);
    tarea.loadArchivosPresentes(mpArchPresentes);
    try {
      /*
       * Solamente va a haber un archivo.
       */
      if (itr.hasNext()) {
        archivo0 = (PERSCoordinacion.Archivos) itr.next();
        archivo0.setTarea(this.tarea);
        if (mpArchListos.get(archivo0.getNombre()) != null) {
          // el archivo ya está listo, no se toca
          this.send(
              solicitante.getIdParcial()
                  + tarea.getIdTarea()
                  + SOLICITUD_SEPARADOR
                  + SOLICITUD_NOENVIAR);
        } else {
          // el archivo no está listo
          if (mpArchPresentes.get(archivo0.getNombre()) != null) {
            // el archivo está sin descomprimir
            this.send(
                solicitante.getIdParcial()
                    + tarea.getIdTarea()
                    + SOLICITUD_SEPARADOR
                    + SOLICITUD_NOENVIAR);
          } else {
            if (mpArchivosErroneos.get(archivo0.getNombre()) != null) {
              // TODO Archivo con error debe poderse enviar de nuevo.
              this.send(
                  solicitante.getIdParcial()
                      + tarea.getIdTarea()
                      + SOLICITUD_SEPARADOR
                      + SOLICITUD_NOENVIAR);
            } else {
              // el archivo no se encuentra y se necesita importar
              this.send(
                  solicitante.getIdParcial()
                      + tarea.getIdTarea()
                      + SOLICITUD_SEPARADOR
                      + SOLICITUD_ENVIAR);
              archivo0.setEstadoArchivo(ADMINAPPIArchivos.ARCHIVO_IMPORTANDO);
              /*
               * TODO Debe esperar el número de puerto para el enlace de datos
               * usado para el intercambio de archivos.
               */

              archivo0.write();
              try {
                contenidoI = new byte[10 * 1024]; // 10KB
                while ((medida = this.receiveb(contenidoI)) >= 0) {
                  archivo0.setContenido(contenidoI, medida);
                  archivo0.write();
                  System.err.println("\nSe han escrito " + medida + " bytes.\n");
                }
              } catch (ADMINGLOExcepcion ex) {
                // no se pudo escribir archivo (¿?)
                // detiene la importación
                mpArchivosErroneos.put(archivo0.getNombre(), archivo0.getNombre());
                archivo0.setContenido(null);
                archivo0.setEstadoArchivo(ADMINAPPIArchivos.ARCHIVO_IMPORTANDO);
                archivo0.write();
              }
            }
          }
        }
      }
      this.info.getConex().dbCommit();
      mpArchListos.clear();
      mpArchListos = null;
      mpArchPresentes.clear();
      mpArchPresentes = null;
      mpArchivosErroneos.clear();
      mpArchivosErroneos = null;
      itr = null;
      archivo0 = null;
      archivo00 = null;
      this.closeComm();
    } catch (OACTExcepcion ex) {
      // errores de envío y recepción, se asume que no se puede
      // establecer contacto.
      if (mpArchListos != null) {
        mpArchListos.clear();
        mpArchListos = null;
      }
      if (mpArchPresentes != null) {
        mpArchPresentes.clear();
        mpArchPresentes = null;
      }
      if (mpArchivosErroneos != null) {
        mpArchivosErroneos.clear();
        mpArchivosErroneos = null;
      }
      itr = null;
      archivo0 = null;
      archivo00 = null;
      try {
        this.closeComm();
      } catch (OACTExcepcion ex1) {
      }
      throw new ADMINGLOExcepcion("Error en importación de archivos.", ex);
    } catch (ACONExcArbitraria ex) {
      ex.printStackTrace();
    } catch (ACONExcOmision ex) {
      ex.printStackTrace();
    } catch (ACONExcTemporizacion ex) {
    }
  }