Java tutorial
/* * 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 org.adimadim.kosu; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; import org.adimadim.kosu.entity.Account; import org.adimadim.kosu.entity.Race; import org.adimadim.kosu.entity.RaceScore; import org.adimadim.kosu.entity.RaceScorePK; import org.adimadim.kosu.service.RaceService; import org.adimadim.service.ClientExportImport; import org.adimadim.service.ClientExportImportService; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; /** * * @author Adem */ public class MainForm extends javax.swing.JFrame { private ClientExportImportService clientExportImportService; private RaceService raceService; private Race selectedRace; private Account selectedAccount; /** * Creates new form MainForm */ public MainForm() { initComponents(); } private RaceService getRaceService() { if (raceService == null) { raceService = new RaceService(); } return raceService; } private ClientExportImportService getClientExportImportService() { if (clientExportImportService == null) { clientExportImportService = new ClientExportImportService(); } return clientExportImportService; } /** * 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() { jPopupMenu1 = new javax.swing.JPopupMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jPanel1 = new javax.swing.JPanel(); jToolBar1 = new javax.swing.JToolBar(); jButton3 = new javax.swing.JButton(); jSeparator1 = new javax.swing.JToolBar.Separator(); jButton2 = new javax.swing.JButton(); jSeparator2 = new javax.swing.JToolBar.Separator(); jButton4 = new javax.swing.JButton(); jSeparator3 = new javax.swing.JToolBar.Separator(); jButton8 = new javax.swing.JButton(); jSplitPane1 = new javax.swing.JSplitPane(); jPanel4 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jPanel5 = new javax.swing.JPanel(); jPanel7 = new javax.swing.JPanel(); jScrollPane2 = new javax.swing.JScrollPane(); jTable2 = new javax.swing.JTable(); jPanel8 = new javax.swing.JPanel(); jButton7 = new javax.swing.JButton(); jButton6 = new javax.swing.JButton(); jButton9 = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jPanel6 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jLabel5 = new javax.swing.JLabel(); jTextField3 = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); jTextField4 = new javax.swing.JTextField(); jLabel7 = new javax.swing.JLabel(); jTextField5 = new javax.swing.JTextField(); jTextField6 = new javax.swing.JTextField(); jLabel8 = new javax.swing.JLabel(); jButton5 = new javax.swing.JButton(); jPanel3 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jMenuItem1.setText("Yar se"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); jPopupMenu1.add(jMenuItem1); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setPreferredSize(new java.awt.Dimension(1100, 700)); jPanel1.setMinimumSize(new java.awt.Dimension(800, 59)); jPanel1.setPreferredSize(new java.awt.Dimension(1000, 600)); jPanel1.setLayout(new java.awt.BorderLayout()); jToolBar1.setRollover(true); jToolBar1.setPreferredSize(new java.awt.Dimension(15, 50)); jButton3.setText("Yarlar Gster"); jButton3.setFocusable(false); jButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton3.setPreferredSize(new java.awt.Dimension(113, 48)); jButton3.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); jToolBar1.add(jButton3); jToolBar1.add(jSeparator1); jButton2.setText("Yarlar Sunucudan Ykle"); jButton2.setFocusable(false); jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton2.setPreferredSize(new java.awt.Dimension(172, 48)); jButton2.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jToolBar1.add(jButton2); jToolBar1.add(jSeparator2); jButton4.setText("Koucular Sunucudan Ykle"); jButton4.setFocusable(false); jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton4.setPreferredSize(new java.awt.Dimension(186, 48)); jButton4.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); jToolBar1.add(jButton4); jToolBar1.add(jSeparator3); jButton8.setText("Yar Sonularn Sunucuya Gnder"); jButton8.setFocusable(false); jButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); jButton8.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); jButton8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton8ActionPerformed(evt); } }); jToolBar1.add(jButton8); jPanel1.add(jToolBar1, java.awt.BorderLayout.NORTH); jSplitPane1.setDividerLocation(350); jPanel4.setPreferredSize(new java.awt.Dimension(200, 471)); jPanel4.setLayout(new java.awt.BorderLayout()); jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { })); jTable1.setComponentPopupMenu(jPopupMenu1); jScrollPane1.setViewportView(jTable1); jPanel4.add(jScrollPane1, java.awt.BorderLayout.CENTER); jSplitPane1.setLeftComponent(jPanel4); jPanel5.setLayout(new java.awt.BorderLayout()); jPanel7.setLayout(new java.awt.BorderLayout()); jTable2.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { })); jScrollPane2.setViewportView(jTable2); jPanel7.add(jScrollPane2, java.awt.BorderLayout.CENTER); jPanel8.setPreferredSize(new java.awt.Dimension(639, 50)); jButton7.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jButton7.setText("Excel'e aktar"); jButton7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton7ActionPerformed(evt); } }); jButton6.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jButton6.setText("Yenile"); jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton6ActionPerformed(evt); } }); jButton9.setText("Sil"); jButton9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton9ActionPerformed(evt); } }); javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); jPanel8.setLayout(jPanel8Layout); jPanel8Layout.setHorizontalGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup() .addContainerGap(404, Short.MAX_VALUE).addComponent(jButton9) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jButton7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jButton6) .addContainerGap())); jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel8Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton7).addComponent(jButton6).addComponent(jButton9)) .addContainerGap(13, Short.MAX_VALUE))); jPanel7.add(jPanel8, java.awt.BorderLayout.SOUTH); jPanel5.add(jPanel7, java.awt.BorderLayout.CENTER); jPanel2.setLayout(new java.awt.BorderLayout()); jPanel6.setPreferredSize(new java.awt.Dimension(513, 150)); jLabel1.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jLabel1.setText("Gs No"); jTextField1.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jTextField1.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { jTextField1FocusLost(evt); } }); jTextField1.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { jTextField1KeyReleased(evt); } }); jLabel2.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jLabel2.setText("Sra No"); jTextField2.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jTextField2.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { jTextField2KeyReleased(evt); } }); jButton1.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jButton1.setText("Kaydet"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jLabel5.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jLabel5.setText("Ad"); jTextField3.setEditable(false); jTextField3.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jLabel6.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jLabel6.setText("Soyad"); jTextField4.setEditable(false); jTextField4.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jLabel7.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jLabel7.setText("Cinsiyet"); jTextField5.setEditable(false); jTextField5.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jTextField6.setEditable(false); jTextField6.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jLabel8.setFont(new java.awt.Font("sansserif", 0, 14)); // NOI18N jLabel8.setText("Gs No :"); jButton5.setFont(new java.awt.Font("sansserif", 0, 18)); // NOI18N jButton5.setText("Temizle"); jButton5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton5ActionPerformed(evt); } }); javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); jPanel6Layout.setHorizontalGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup().addContainerGap().addGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup() .addGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1).addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2) .addGroup(jPanel6Layout.createSequentialGroup() .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 187, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton5)))) .addGroup(jPanel6Layout.createSequentialGroup() .addGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5).addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel6).addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(3, 3, 3).addGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel7).addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addContainerGap(96, Short.MAX_VALUE))); jPanel6Layout.setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1).addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton1).addComponent(jButton5)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5).addComponent(jLabel6).addComponent(jLabel7) .addComponent(jLabel8)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(11, Short.MAX_VALUE))); jPanel2.add(jPanel6, java.awt.BorderLayout.CENTER); jPanel3.setPreferredSize(new java.awt.Dimension(352, 50)); jLabel3.setFont(new java.awt.Font("sansserif", 1, 18)); // NOI18N jLabel4.setFont(new java.awt.Font("sansserif", 1, 18)); // NOI18N javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout .setHorizontalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel4).addContainerGap(806, Short.MAX_VALUE))); jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3).addComponent(jLabel4)) .addContainerGap(44, Short.MAX_VALUE))); jPanel2.add(jPanel3, java.awt.BorderLayout.NORTH); jPanel5.add(jPanel2, java.awt.BorderLayout.NORTH); jSplitPane1.setRightComponent(jPanel5); jPanel1.add(jSplitPane1, java.awt.BorderLayout.CENTER); getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); pack(); }// </editor-fold>//GEN-END:initComponents private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed try { saveRaces(); retrieveRaces(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton2ActionPerformed private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed try { if (jTable1.getSelectedRow() < 0) { return; } Integer raceId = (Integer) jTable1.getValueAt(jTable1.getSelectedRow(), 0); changeSelectedRace(retrieveRace(raceId)); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jMenuItem1ActionPerformed private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed try { retrieveRaces(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton3ActionPerformed private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyReleased if (evt.getKeyCode() != 10) { return; } jTextField2.requestFocus(); }//GEN-LAST:event_jTextField1KeyReleased private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed loadAccountsFromServer(); }//GEN-LAST:event_jButton4ActionPerformed private void loadAccountsFromServer() { try { boolean devam = true; Integer startAccountId = 0; Integer count = 100; while (devam) { ClientExportImport port = getClientExportImportService().getClientExportImportPort(); List<org.adimadim.service.Account> wsAccountList = port.retrieveAccounts(startAccountId, count); if (wsAccountList != null && wsAccountList.size() > 0) { startAccountId = saveAccounts(wsAccountList); } else { devam = false; } } JOptionPane.showMessageDialog(this, "lem tamamland. ", "Hata", JOptionPane.ERROR_MESSAGE); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } } private void sendRaceScoresToServer() { if (selectedRace == null) { JOptionPane.showMessageDialog(this, "Ltfen sonularn gndermek istediiniz yar seiniz", "Hata", JOptionPane.ERROR_MESSAGE); return; } try { ClientExportImport port = getClientExportImportService().getClientExportImportPort(); List<org.adimadim.service.RaceScoreDto> wsRaceScores = prepareAndRetrieveRaceScores(); String result = port.saveRaceScores(wsRaceScores); JOptionPane.showMessageDialog(this, result, "Hata", JOptionPane.ERROR_MESSAGE); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } } private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextField1FocusLost if (jTextField1.getText().trim().toUpperCase().startsWith("S")) { JOptionPane.showMessageDialog(this, "Bu alana sra numaras giremezsiniz."); jTextField1.setText(""); jTextField1.requestFocus(); return; } retrieveAccount(); }//GEN-LAST:event_jTextField1FocusLost private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed clearInputs(); }//GEN-LAST:event_jButton5ActionPerformed private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed if (!jTextField2.getText().trim().toUpperCase().startsWith("S")) { JOptionPane.showMessageDialog(this, "Sra no alanna sadece sra numaras girebilirsiniz. " + jTextField2.getText().trim().replaceAll("S", "")); jTextField2.setText(""); return; } try { saveRaceScore(); retrieveRaceScores(); jTextField1.requestFocus(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton1ActionPerformed private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed try { retrieveRaceScores(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton6ActionPerformed private void jTextField2KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField2KeyReleased if (evt.getKeyCode() != 10) { return; } if (!jTextField2.getText().trim().toUpperCase().startsWith("S")) { JOptionPane.showMessageDialog(this, "Bu alana sadece sra numaras girebilirsiniz."); jTextField2.setText(""); return; } try { saveRaceScore(); retrieveRaceScores(); jTextField1.requestFocus(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jTextField2KeyReleased private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed try { exportToExcel(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton7ActionPerformed private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed sendRaceScoresToServer(); }//GEN-LAST:event_jButton8ActionPerformed private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton9ActionPerformed if (JOptionPane.showConfirmDialog(this, "Yar sonucunu silmek istediinize emin misiniz?", "Uyar", JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) { return; } if (jTable2.getSelectedRow() < 0) { JOptionPane.showMessageDialog(this, "Ltfen silmek istediiniz kayd seiniz."); return; } try { deleteRaceScore(); retrieveRaceScores(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } }//GEN-LAST:event_jButton9ActionPerformed private void deleteRaceScore() throws Exception { Integer accountId = Integer.valueOf(jTable2.getValueAt(jTable2.getSelectedRow(), 0).toString()); Integer raceId = selectedRace.getRaceId(); getRaceService().deleteRaceScore(accountId, raceId); } private void clearInputs() { jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); } private void retrieveAccount() { try { if (jTextField1.getText().trim().equals("")) { return; } Integer chestNumber = Integer.valueOf(jTextField1.getText().trim()); Account account = getRaceService().retrieveAccountByChestNumber(chestNumber); jTextField6.setText(account.getChestNumber().toString()); jTextField3.setText(account.getName()); jTextField4.setText(account.getSurname()); jTextField5.setText(account.getGender()); selectedAccount = account; } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } } private void saveRaceScore() { try { if (jTextField1.getText().trim().equals("")) { return; } if (jTextField2.getText().trim().equals("")) { return; } if (selectedAccount == null) { return; } if (selectedRace == null) { return; } RaceScore raceScore = new RaceScore(); RaceScorePK raceScorePk = new RaceScorePK(selectedRace.getRaceId(), selectedAccount.getAccountId()); raceScore.setRaceScorePK(raceScorePk); raceScore.setAccount(selectedAccount); raceScore.setRace(selectedRace); raceScore.setOrderNo(Integer.valueOf(jTextField2.getText().trim().toUpperCase().replaceAll("S", ""))); getRaceService().saveRaceScore(raceScore); clearInputs(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, ex.getMessage(), "Hata", JOptionPane.ERROR_MESSAGE); } } private void changeSelectedRace(Race race) throws Exception { selectedRace = race; jLabel3.setText(selectedRace.getRaceId().toString() + " )"); jLabel4.setText(selectedRace.getRaceName()); retrieveRaceScores(); } private Integer saveAccounts(List<org.adimadim.service.Account> wsAccountList) throws Exception { Integer lastAccountId = 0; List<org.adimadim.kosu.entity.Account> entityAccountList = new ArrayList<>(); for (org.adimadim.service.Account wsAccount : wsAccountList) { lastAccountId = wsAccount.getAccountId(); org.adimadim.kosu.entity.Account entityAccount = new org.adimadim.kosu.entity.Account(); entityAccount.setAccountId(wsAccount.getAccountId()); entityAccount.setName(wsAccount.getName()); entityAccount.setSurname(wsAccount.getSurname()); entityAccount.setAdimadim(wsAccount.getAdimadim()); entityAccount.setActive(wsAccount.getActive()); entityAccount.setAdimadimRun(wsAccount.getAdimadimRun()); entityAccount.setBirthDate(wsAccount.getBirthDate().toGregorianCalendar().getTime()); entityAccount.setChestNumber(wsAccount.getChestNumber()); entityAccount.setCreateDate(wsAccount.getCreateDate().toGregorianCalendar().getTime()); entityAccount.setEmail(wsAccount.getEmail()); entityAccount.setGender(wsAccount.getGender()); entityAccount.setManager(wsAccount.getManager()); entityAccount.setPassword("*****"); entityAccount.setPhoneNumber(wsAccount.getPhoneNumber()); entityAccount.setUserName(wsAccount.getUserName()); entityAccountList.add(entityAccount); } getRaceService().saveAccountList(entityAccountList); return lastAccountId; } private void saveRaces() throws Exception { ClientExportImport port = getClientExportImportService().getClientExportImportPort(); List<org.adimadim.service.Race> wsRaceList = port.retrieveRaces(); List<org.adimadim.kosu.entity.Race> entityRaceList = new ArrayList<>(); for (org.adimadim.service.Race wsRace : wsRaceList) { org.adimadim.kosu.entity.Race entityRace = new org.adimadim.kosu.entity.Race(); entityRace.setActive(wsRace.getActive()); entityRace.setRaceDate(wsRace.getRaceDate().toGregorianCalendar().getTime()); entityRace.setRaceId(wsRace.getRaceId()); entityRace.setRaceName(wsRace.getRaceName()); entityRace.setRaceScoreList(new ArrayList<RaceScore>()); entityRaceList.add(entityRace); } getRaceService().saveRaceList(entityRaceList); JOptionPane.showMessageDialog(this, "lem tamamland. " + entityRaceList.size() + " kayt yklendi", "Hata", JOptionPane.ERROR_MESSAGE); } private void retrieveRaces() throws Exception { List<Race> raceList = getRaceService().retrieveAllRaces(); Collections.sort(raceList, new CustomComparator()); jTable1.setModel(convertRaceListToTableModel(raceList)); } public class CustomComparator implements Comparator<Race> { @Override public int compare(Race o1, Race o2) { return o2.getRaceId().compareTo(o1.getRaceId()); } } private void retrieveRaceScores() throws Exception { if (selectedRace == null) { JOptionPane.showMessageDialog(this, "Ltfen nce bir yar seiniz", "Bilgi", JOptionPane.INFORMATION_MESSAGE); return; } List<RaceScore> raceScoreList = getRaceService().retrieveRaceScoresByRaceId(selectedRace.getRaceId()); jTable2.setModel(convertRaceScoreListToTableModel(raceScoreList)); } private List<org.adimadim.service.RaceScoreDto> prepareAndRetrieveRaceScores() throws Exception { if (selectedRace == null) { JOptionPane.showMessageDialog(this, "Ltfen nce bir yar seiniz", "Bilgi", JOptionPane.INFORMATION_MESSAGE); return null; } List<org.adimadim.kosu.entity.RaceScore> raceScoreList = getRaceService() .retrieveRaceScoresByRaceId(selectedRace.getRaceId()); List<org.adimadim.service.RaceScoreDto> wsRaceScoreList = new ArrayList<org.adimadim.service.RaceScoreDto>(); for (org.adimadim.kosu.entity.RaceScore tempRaceScore : raceScoreList) { org.adimadim.service.RaceScoreDto tempWsRaceScore = new org.adimadim.service.RaceScoreDto(); tempWsRaceScore.setRaceId(tempRaceScore.getRace().getRaceId()); tempWsRaceScore.setAccountId(tempRaceScore.getAccount().getAccountId()); tempWsRaceScore.setDuration(dateToXmlGregorianCalendar(new Date())); tempWsRaceScore.setOrderNo(tempRaceScore.getOrderNo()); wsRaceScoreList.add(tempWsRaceScore); } return wsRaceScoreList; } private XMLGregorianCalendar dateToXmlGregorianCalendar(Date date) throws DatatypeConfigurationException { GregorianCalendar c = new GregorianCalendar(); c.setTime(date); XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(c); return xgc; } private Race retrieveRace(Integer raceId) throws Exception { return selectedRace = getRaceService().retrieveRace(raceId); } private TableModel convertRaceListToTableModel(List<Race> raceList) { Object[] header = new Object[] { "No", "Yar Ad" }; Object[][] data = new Object[raceList.size()][2]; for (Race race : raceList) { Object[] row = new Object[2]; row[0] = race.getRaceId(); row[1] = race.getRaceName(); data[raceList.indexOf(race)] = row; } DefaultTableModel model = new DefaultTableModel(data, header) { @Override public boolean isCellEditable(int row, int column) { return false; } }; return model; } private void exportToExcel() throws Exception { List<RaceScore> raceScoreList = getRaceService().retrieveRaceScoresByRaceId(selectedRace.getRaceId()); XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("Sonuclar"); XSSFRow row = sheet.createRow(0); row.createCell(0).setCellValue("Id"); row.createCell(1).setCellValue("Gs No"); row.createCell(2).setCellValue("Ad"); row.createCell(3).setCellValue("Soyad"); row.createCell(4).setCellValue("Cinsiyet"); row.createCell(5).setCellValue("Sra"); int i = 1; for (RaceScore raceScore : raceScoreList) { XSSFRow tempRow = sheet.createRow(i); tempRow.createCell(0).setCellValue(raceScore.getAccount().getAccountId()); tempRow.createCell(1).setCellValue(raceScore.getAccount().getChestNumber()); tempRow.createCell(2).setCellValue(raceScore.getAccount().getName()); tempRow.createCell(3).setCellValue(raceScore.getAccount().getSurname()); tempRow.createCell(4).setCellValue(raceScore.getAccount().getGender()); tempRow.createCell(5).setCellValue(raceScore.getOrderNo()); i++; } String fileName = "sonuclar.xlsx"; try (FileOutputStream fos = new FileOutputStream(fileName)) { workbook.write(fos); } System.out.println(fileName + " written successfully"); } private TableModel convertRaceScoreListToTableModel(List<RaceScore> raceScoreList) { Object[] header = new Object[] { "Id", "Ad", "Soyad", "Gs No", "Sra" }; Object[][] data = new Object[raceScoreList.size()][5]; for (RaceScore raceScore : raceScoreList) { Object[] row = new Object[5]; row[0] = raceScore.getAccount().getAccountId(); row[1] = raceScore.getAccount().getName(); row[2] = raceScore.getAccount().getSurname(); row[3] = raceScore.getAccount().getChestNumber(); row[4] = raceScore.getOrderNo(); data[raceScoreList.indexOf(raceScore)] = row; } DefaultTableModel model = new DefaultTableModel(data, header) { @Override public boolean isCellEditable(int row, int column) { return false; } }; return model; } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new MainForm().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private javax.swing.JButton jButton7; private javax.swing.JButton jButton8; private javax.swing.JButton jButton9; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel8; private javax.swing.JPopupMenu jPopupMenu1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JToolBar.Separator jSeparator1; private javax.swing.JToolBar.Separator jSeparator2; private javax.swing.JToolBar.Separator jSeparator3; private javax.swing.JSplitPane jSplitPane1; private javax.swing.JTable jTable1; private javax.swing.JTable jTable2; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JToolBar jToolBar1; // End of variables declaration//GEN-END:variables }