vista.swing.habitacion.BuscarHabitacionID.java Source code

Java tutorial

Introduction

Here is the source code for vista.swing.habitacion.BuscarHabitacionID.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package vista.swing.habitacion;

//import vista.swing.alojamientos.*;
//import controlador.DTO.AlojamientoDTO;
//import controlador.DTO.HabitacionDTO;
import controlador.datos.Facade;
import hibernate.dto.Habitacion;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author Alumno
 */
public class BuscarHabitacionID extends javax.swing.JFrame {

    /**
     * Creates new form VentanaBuscarAlojamiento
     */
    public BuscarHabitacionID() {
        initComponents();

        this.setTitle("Introduce un ID de Habitacion");
        this.setResizable(false);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabelTitulo = new javax.swing.JLabel();
        jLabelID = new javax.swing.JLabel();
        jTextFieldInputID = new javax.swing.JTextField();
        jButtonBuscar = new javax.swing.JButton();
        jButtonCancelar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabelTitulo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabelTitulo.setText("Modificar Habitacin");

        jLabelID.setText("# ID:");

        jButtonBuscar.setText("Buscar");
        jButtonBuscar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonBuscarActionPerformed(evt);
            }
        });

        jButtonCancelar.setText("Cancelar");
        jButtonCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCancelarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addGroup(layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup().addContainerGap()
                                .addComponent(jButtonBuscar, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(18, 18, 18).addComponent(jButtonCancelar,
                                        javax.swing.GroupLayout.PREFERRED_SIZE, 90,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup().addGap(74, 74, 74).addComponent(jLabelID)
                                .addGap(18, 18, 18).addComponent(jTextFieldInputID))
                        .addGroup(layout.createSequentialGroup().addGap(10, 10, 10).addComponent(jLabelTitulo)
                                .addGap(0, 0, Short.MAX_VALUE)))
                        .addContainerGap()));
        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jLabelTitulo)
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jTextFieldInputID, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabelID))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jButtonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButtonBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed
        this.dispose();
    }//GEN-LAST:event_jButtonCancelarActionPerformed

    /**
     * Chequea que el input realizado sobre la ID sean solo numeros.
     * @return True si el campo contiene solo numeros (int).
     */
    private boolean checkInputIDNumericoExprRegular() {
        try {
            Pattern pat = Pattern.compile("[0-9]+");
            Matcher mat = pat.matcher(jTextFieldInputID.getText());

            return mat.matches();
        } catch (NumberFormatException ex) {
            return false;
        }
    }

    /**
     * Get de una Habitacion por su ID primario.
     * @return Habitacion instanciada o null si no hay ninguna.
     */
    private Habitacion getHabitacionPorID() {
        Session s = Facade.abrirSessionHibernate();

        String id = this.jTextFieldInputID.getText();

        List lista = s.createCriteria(Habitacion.class).add(Restrictions.idEq(Integer.parseInt(id))).list();

        return lista.size() > 0 ? (Habitacion) lista.get(0) : null;
    }

    private void jButtonBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBuscarActionPerformed
        try {
            if (checkInputIDNumericoExprRegular()) {
                Habitacion habDTOTmp = getHabitacionPorID();

                if (habDTOTmp != null) {
                    new AltaModifHabitacion(habDTOTmp);
                    this.dispose();
                } else {
                    JOptionPane.showMessageDialog(this, "No existe ninguna Habitacin con esa ID");
                }
            } else {
                JOptionPane.showMessageDialog(this, "Introduce un numero valido");
            }
        } catch (NumberFormatException ex) {
            JOptionPane.showMessageDialog(this, "El numero introducido no es un entero");
        }
    }//GEN-LAST:event_jButtonBuscarActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonBuscar;
    private javax.swing.JButton jButtonCancelar;
    private javax.swing.JLabel jLabelID;
    private javax.swing.JLabel jLabelTitulo;
    private javax.swing.JTextField jTextFieldInputID;
    // End of variables declaration//GEN-END:variables
}