public void setearCmbShort(Maestro dtoM) {
   vistaMaestro vista = (vistaMaestro) this.getSession().getVista();
   if (dtoM.getDtomaestro() == null) {
     // TODO
     this.cargarCmbShort(vista.getCmbshrnivel(), vista.getCmbdtomaestro());
     this.cargarCmbShort(vista.getCmbshrpos_rel(), vista.getCmbdtomaestro());
   } else {
     opcionListaCombo opcion =
         new opcionListaCombo(dtoM.getIntpos_rel(), "Pos: " + dtoM.getIntpos_rel());
     vista.getCmbshrpos_rel().setSelectedItem(opcion);
   }
 }
  public void actionPerformed(ActionEvent ae) {
    if ("nuevo".equals(ae.getActionCommand())) this.nuevo();
    if ("cambiarVista".equals(ae.getActionCommand())) this.cambiarVista();
    if ("grabar".equals(ae.getActionCommand())) this.grabar();
    if ("buscar".equals(ae.getActionCommand())) this.buscar();
    if ("eliminar".equals(ae.getActionCommand())) this.eliminar();
    if ("siguiente".equals(ae.getActionCommand())) this.siguiente();
    if ("anterior".equals(ae.getActionCommand())) this.anterior();
    if ("refrescar".equals(ae.getActionCommand())) this.refrescar();
    if ("primero".equals(ae.getActionCommand())) this.primero();
    if ("ultimo".equals(ae.getActionCommand())) this.ultimo();
    if ("Salir".equals(ae.getActionCommand())) this.terminarVista();
    if ("Lista".equals(ae.getActionCommand())) this.imprimir(ae.getActionCommand());
    if ("Actual".equals(ae.getActionCommand())) this.imprimir(ae.getActionCommand());
    if (ae.getSource().getClass().getName().equals("SwingBernate.ayudantes.ComboBox")) {
      ComboBox cmbox = (ComboBox) ae.getSource();
      try {
        Maestro selectMaestro = (Maestro) cmbox.getSelectedItem();
        int intNivel = selectMaestro.getIntnivel() + 1;
        opcionListaCombo optNivel_Pos =
            new opcionListaCombo((short) intNivel, "Nivel: " + intNivel);
        List<opcionListaCombo> lst = new ArrayList<opcionListaCombo>();
        lst.add(optNivel_Pos);
        this.cargarCmbShort(((vistaMaestro) this.getSession().getVista()).getCmbshrnivel(), lst);

        int nuHijos = selectMaestro.getDtohijos().size();
        lst.clear();
        int i = 0;
        while (i <= nuHijos) {
          i++;
          optNivel_Pos = new opcionListaCombo((short) i, "Pos: " + i);
          lst.add(optNivel_Pos);
        }
        this.cargarCmbShort(((vistaMaestro) this.getSession().getVista()).getCmbshrpos_rel(), lst);

      } catch (Exception e) {
        // TODO: handle exception
        // System.out.println("seleccionó Vacio "+e.getMessage());
      }
    }
  }
  public void crearMaestroInicio(vistaMaestro vista) {
    // mainPrototipo principal =
    // (mainPrototipo)vista.getParent().getParent().getParent().getParent().getParent();
    modeloMaestro modeloMaestro = new modeloMaestro();

    if (modeloMaestro.buscarMaestros().length == 0) {
      // System.out.println("Crear Maestro inicio");
      Maestro mstr = new Maestro();
      mstr.setLngid(0);
      mstr.setStrcodigo("RAIZ");
      mstr.setStrnombre("Sistema");
      mstr.setStrsigla("RAIZ");
      mstr.setIntnivel((short) 1);
      mstr.setIntpos_rel((short) 1);
      mstr.setStrip_creacion(this.obtenerIpHost());
      mstr.setStrhost_creacion(this.obtenerNombreHost());
      mstr.setDtmfecha_creacion(new Date());
      mstr.setDtmvalido_hasta(this.sumarAnios(5));
      mstr.setBolactivo(true);
      // mstr.setDtousuario_cracion(principal.getUsrConectado());
      modeloMaestro.grabar(mstr);
      javax.swing.DefaultComboBoxModel modeloComboMaestro =
          new javax.swing.DefaultComboBoxModel(modeloMaestro.buscarMaestros());
      vista.getCmbdtomaestro().setModelo(modeloComboMaestro);
      this.getSession().setListaDto(modeloMaestro.buscar(new Maestro()));
    }
    this.cargarGrid();
  }
  public void grabar() {
    vistaMaestro vista = new vistaMaestro(this);
    vista = (vistaMaestro) this.getSession().getVista();
    String strlngid = vista.getTxtlngid().getText();

    if (strlngid.isEmpty() || strlngid.length() == 0) {
      vista.mensageDialogo(
          "error",
          "Identificador vacío o inválido.\nÉste debe ser mayor o igual a cero.",
          vista.getTitle());
    } else {
      Maestro dto = new Maestro();
      dto.setHash(vista.getDto(dto));
      this.getSession().setUsuarioInicio(vista);
      if (dto.getLngid() == 0) {
        dto.setLngseg_usuario_creacion(this.getSession().getLngusr());
        dto.setDtmfecha_creacion(new Date());
        dto.setStrip_creacion(this.obtenerIpHost());
        dto.setStrhost_creacion(this.obtenerNombreHost());
        dto.setLngseg_usuario_modificacion(this.getSession().getLngusr());
        dto.setDtmfecha_modificacion(new Date());
        dto.setStrip_modificacion(this.obtenerIpHost());
        dto.setStrhost_modificacion(this.obtenerNombreHost());
        dto.setDtmvalido_desde(new Date());
        dto.setDtmvalido_hasta(this.sumarAnios(20));
        dto.setBolborrado(false);

      } else {
        dto.setStrip_modificacion(this.obtenerIpHost());
        dto.setStrhost_modificacion(this.obtenerNombreHost());
        dto.setDtmfecha_modificacion(new Date());
        dto.setLngseg_usuario_modificacion(this.getSession().getLngusr());
      }
      List<String> lsError = this.testValidacion(dto);
      if (lsError.isEmpty()) {
        int intDialogo =
            vista.mensageDialogo("confirmar", "¿Desea grabar los cambios?", vista.getTitle());
        if (JOptionPane.YES_OPTION == intDialogo) {
          modeloMaestro modelo = new modeloMaestro();
          modelo.grabar(dto);
          vista.mensageDialogo("informacion", "Datos Grabados.", vista.getTitle());
          vista.limpiarError();
        }
      } else {
        // vista.mensageDialogo("error","Por favor verifíque los datos. Debe ingresarlos
        // correctamente!","Error en datos");
        vista.marcarError(lsError);
      }
    }
  }