/*
   * (non-Javadoc)
   *
   * @see com.mydomain.maizsoft.cargaarchivos.ArchivoXML#read()
   */
  @Override
  public void read() {

    @SuppressWarnings("deprecation")
    SAXBuilder leer = new SAXBuilder(false);
    try {
      Document document = leer.build(getPath() + getNombre());

      Element raiz = document.getRootElement();
      raiz.getAttributeValue(ConstantesArchivosXML.SUPERPADRE);

      Element padre = raiz.getChild(ConstantesArchivosXML.PADRE);

      List usuarios = raiz.getChildren(ConstantesArchivosXML.PADRE);

      Iterator padres = usuarios.iterator();

      while (padres.hasNext()) {
        Element elePadre = (Element) padres.next();
        Element idPadre = elePadre.getChild(ConstantesArchivosXML.PADREID);
        List cursos = elePadre.getChildren(ConstantesArchivosXML.HIJO);
        Iterator hijos = cursos.iterator();
        long var2 = Long.parseLong(idPadre.getText());
        HistorialNotas nueva = new HistorialNotas();
        nueva.setUserAccount(entityManager.find(Usuario.class, var2));

        while (hijos.hasNext()) {
          Element eleHijo = (Element) hijos.next();
          Element idHijo = eleHijo.getChild(ConstantesArchivosXML.HIJOID);
          Element semestre = eleHijo.getChild(ConstantesArchivosXML.HIJOSEMESTRE);
          Element nota = eleHijo.getChild(ConstantesArchivosXML.HIJONOTA);
          long var = Long.parseLong(idHijo.getText());
          nueva.setGrupoCurso(entityManager.find(GrupoCurso.class, var));
          double notad = Double.parseDouble(nota.getText());
          nueva.setSemestre(semestre.getText());
          nueva.setNota(notad);
          entityManager.persist(nueva);
        }
      }

    } catch (Exception e) {
      FacesMessages mensaje = (FacesMessages) Component.getInstance(FacesMessages.class);
      mensaje.add("Se produjo un error técnico :(");
    }

    FacesMessages mensaje = (FacesMessages) Component.getInstance(FacesMessages.class);
    mensaje.add("Proceso exitoso :-)");
  }