Package displays

Source Code of displays.AllRegistrations

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* AllRegistrations.java
*
* Created on 29.09.2010, 11:33:24
*/

package displays;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import utils.Constants;
import work.Operations;
import entities.Registration;

/**
*
* @author rsovarsz
*/
public class AllRegistrations extends javax.swing.JDialog {

  private static final long serialVersionUID = 1L;

  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JButton jBCancel;
  private javax.swing.JButton jBDelete;
  private javax.swing.JComboBox jCBRegistrationSelection;
  private javax.swing.JLabel jLRegToDelete;
  private javax.swing.JScrollPane jScrollPane1;
  private javax.swing.JTable jTAllRegistrations;
  // End of variables declaration//GEN-END:variables

  private Operations sOps = new Operations();
  private List<Registration> registrations = new ArrayList<Registration>();
  private Map<String, String> dataFile = new Constants().getDataFiles();
  private Map<String, String> pathFile = new Constants().getDataFiles();
  private String osName = new Constants().getOsName();

  /** Creates new form AllRegistrations */
  public AllRegistrations(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    setTitle("All Registrations");
    setRegistrations(sOps.getAllRegistrations());
    fillAllRegistrations();
    fillRegistrationComboBox();
  }

  /**
   * 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.
   */

  private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    jTAllRegistrations = new javax.swing.JTable();
    jTAllRegistrations.setAutoCreateRowSorter(true);
    jCBRegistrationSelection = new javax.swing.JComboBox();
    jBDelete = new javax.swing.JButton();
    jBCancel = new javax.swing.JButton();
    jLRegToDelete = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setName("AllRegistrations"); // NOI18N
    setResizable(false);
    addComponentListener(new java.awt.event.ComponentAdapter() {
      public void componentShown(java.awt.event.ComponentEvent evt) {
        formComponentShown(evt);
      }
    });

    jScrollPane1.setName("jScrollPane1"); // NOI18N

    jTAllRegistrations.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

    },
        new String[] { "Nr.", "Swimmer Name", "BirthYear", "Age Group", "Gender", "Club", "Event Name",
            "Entry Time" }));
    jTAllRegistrations.setName("jTAllRegistrations"); // NOI18N

    jScrollPane1.setViewportView(jTAllRegistrations);

    jCBRegistrationSelection.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2",
        "Item 3", "Item 4" }));
    jCBRegistrationSelection.setName("jCBRegistrationSelection"); // NOI18N

    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application
        .getInstance(swimraceorganizer.SwimRaceOrganizerApp.class).getContext()
        .getResourceMap(AllRegistrations.class);
    jBDelete.setText(resourceMap.getString("jBDelete.text")); // NOI18N
    jBDelete.setName("jBDelete"); // NOI18N
    jBDelete.setPreferredSize(new java.awt.Dimension(100, 25));
    jBDelete.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        deleteRegistration(evt);
      }
    });

    jBCancel.setText(resourceMap.getString("jBCancel.text")); // NOI18N
    jBCancel.setName("jBCancel"); // NOI18N
    jBCancel.setPreferredSize(new java.awt.Dimension(100, 25));
    jBCancel.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        cancel(evt);
      }
    });

    jLRegToDelete.setName("jLRegToDelete"); // NOI18N

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
        layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1000,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(
                        layout.createSequentialGroup()
                            .addComponent(jCBRegistrationSelection,
                                javax.swing.GroupLayout.PREFERRED_SIZE, 800,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(jBDelete, javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(
                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jBCancel, javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLRegToDelete))
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
        layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 400,
                javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jLRegToDelete)
            .addGap(3, 3, 3)
            .addGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCBRegistrationSelection, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBDelete, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jBCancel, javax.swing.GroupLayout.PREFERRED_SIZE,
                        javax.swing.GroupLayout.DEFAULT_SIZE,
                        javax.swing.GroupLayout.PREFERRED_SIZE))
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

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

  private void formComponentShown(java.awt.event.ComponentEvent evt) {// GEN-FIRST:event_formComponentShown
    setRegistrations(sOps.getAllRegistrations());
    fillAllRegistrations();
    fillRegistrationComboBox();
  }// GEN-LAST:event_formComponentShown

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

  private void deleteRegistration(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_deleteRegistration
    String[] entry = jCBRegistrationSelection.getSelectedItem().toString().split(",");
    String[] times = entry[2].split(":");
    Registration registration = sOps
        .getRegistration(entry[0].trim(), entry[1].trim(), Integer.parseInt(times[0].trim()),
            Integer.parseInt(times[1].trim()), Integer.parseInt(times[2].trim()));
    setRegistrations(sOps.deleteRegistration(registrations, registration));
    fillAllRegistrations();
    fillRegistrationComboBox();
    String lineToRemove = registration.getSwimmer().getName() + ";" + registration.getSwimmer().getBirthYear()
        + ";" + registration.getSwimmer().getAgeGroup() + ";" + registration.getSwimmer().getGender() + ";"
        + registration.getSwimmer().getClub() + ";" + registration.getEvent().getName() + ";"
        + setZero(registration.getMinutes().toString()) + ";" + setZero(registration.getSeconds().toString())
        + ";" + setZero(registration.getmSeconds().toString());
    sOps.removeLineFromFile(pathFile.get("core") + (osName.toLowerCase().startsWith("linux") ? "/" : "\\")
        + dataFile.get("registrations"), lineToRemove);
  }// GEN-LAST:event_deleteRegistration

  public String setZero(String value) {
    return (value.length() < 2) ? "0" + value : value;
  }

  public void fillAllRegistrations() {
    String[] columnNames = { "Nr.", "Swimmer Name", "BirthYear", "Age Group", "Gender", "Club", "Event Name",
        "Entry Time" };
    List<String[]> tableLines = new ArrayList<String[]>();

    int counter = 0; // display registration order number
    for (Registration reg : registrations) {
      String time = padLeft(Integer.toString(reg.getMinutes()), 2) + ":"
          + padLeft(Integer.toString(reg.getSeconds()), 2) + ":"
          + padLeft(Integer.toString(reg.getmSeconds()), 2);
      tableLines.add(new String[] { Integer.toString(++counter), reg.getSwimmer().getName(),
          reg.getSwimmer().getBirthYear(), reg.getSwimmer().getAgeGroup(), reg.getSwimmer().getGender(),
          reg.getSwimmer().getClub(), reg.getEvent().getName(), time });
    }
    Object[][] data = new Object[tableLines.size()][5];
    for (int i = 0; i < tableLines.size(); i++) {
      data[i] = tableLines.get(i);
    }
    jTAllRegistrations.setModel(new javax.swing.table.DefaultTableModel(data, columnNames) {
      private static final long serialVersionUID = 1L;

      @Override
      public boolean isCellEditable(int row, int col) {
        return false;
      }
    });
    jTAllRegistrations.getColumnModel().getColumn(0).setMinWidth(20);
    jTAllRegistrations.getColumnModel().getColumn(0).setMaxWidth(45);
    jTAllRegistrations.getColumnModel().getColumn(0).setWidth(45);

    jTAllRegistrations.getColumnModel().getColumn(1).setMinWidth(100);
    jTAllRegistrations.getColumnModel().getColumn(1).setMaxWidth(300);
    jTAllRegistrations.getColumnModel().getColumn(1).setWidth(300);

    jTAllRegistrations.getColumnModel().getColumn(2).setMinWidth(30);
    jTAllRegistrations.getColumnModel().getColumn(2).setMaxWidth(70);
    jTAllRegistrations.getColumnModel().getColumn(2).setWidth(70);

    jTAllRegistrations.getColumnModel().getColumn(3).setMinWidth(5);
    jTAllRegistrations.getColumnModel().getColumn(3).setMaxWidth(75);
    jTAllRegistrations.getColumnModel().getColumn(3).setWidth(75);

    jTAllRegistrations.getColumnModel().getColumn(4).setMinWidth(5);
    jTAllRegistrations.getColumnModel().getColumn(4).setMaxWidth(50);
    jTAllRegistrations.getColumnModel().getColumn(4).setWidth(50);

    jTAllRegistrations.getColumnModel().getColumn(5).setMinWidth(50);
    jTAllRegistrations.getColumnModel().getColumn(5).setMaxWidth(200);
    jTAllRegistrations.getColumnModel().getColumn(5).setWidth(200);

    jTAllRegistrations.getColumnModel().getColumn(6).setMinWidth(100);
    jTAllRegistrations.getColumnModel().getColumn(6).setMaxWidth(300);
    jTAllRegistrations.getColumnModel().getColumn(6).setWidth(300);

    jTAllRegistrations.getColumnModel().getColumn(7).setMinWidth(50);
    jTAllRegistrations.getColumnModel().getColumn(7).setMaxWidth(90);
    jTAllRegistrations.getColumnModel().getColumn(7).setWidth(90);

  }

  private static String padLeft(String s, int n) {
    return String.format("%1$#" + n + "s", s).replace(' ', '0');
  }

  private void fillRegistrationComboBox() {
    jCBRegistrationSelection.removeAllItems();
    for (Registration reg : registrations) {
      String time = padLeft(Integer.toString(reg.getMinutes()), 2) + ":"
          + padLeft(Integer.toString(reg.getSeconds()), 2) + ":"
          + padLeft(Integer.toString(reg.getmSeconds()), 2);
      jCBRegistrationSelection
          .addItem(reg.getSwimmer().getName() + ", " + reg.getEvent().getName() + ", " + time);
    }
  }

  /**
   * @param args
   *            the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
        AllRegistrations dialog = new AllRegistrations(new javax.swing.JFrame(), true);
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }

  public List<Registration> getRegistrations() {
    return registrations;
  }

  public void setRegistrations(List<Registration> registrations) {
    this.registrations = registrations;
  }
}
TOP

Related Classes of displays.AllRegistrations

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.