# HG changeset patch # User František Kučera # Date 1262362296 -3600 # Node ID ed73b8912549d337e8d72bc09fd803a9cbf78838 # Parent 5816c7f61a2a88272b0ff343f7a37b5f5d07ad1a Navázání DB spojení a kontrola databází SQL dotazem. diff -r 5816c7f61a2a -r ed73b8912549 java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java Fri Jan 01 16:44:46 2010 +0100 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java Fri Jan 01 17:11:36 2010 +0100 @@ -2,8 +2,13 @@ import java.sql.Connection; import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.Date; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Řídící třída, stará se o konverzi z databáze Drupalu do databáze ABC. @@ -11,6 +16,7 @@ */ public class Konvertor { + private static final Logger log = Logger.getLogger(Konvertor.class.getSimpleName()); private PosluchacLogu posluchacLogu; private String jdbcZdroj; private String jdbcCil; @@ -27,19 +33,72 @@ vypis("Začíná migrace"); + try { + nastavDBspojeni(); + } catch (SQLException e) { + vypis("Chyba při připojování k databázím."); + log.log(Level.SEVERE, "Chyba při připojování k databázím.", e); + vypis("Končím."); + return; + } vypis("Migrace dokončena"); } - + + /** + * Připojí databáze a zkontroluje SQL dotazem, že jsou v pořádku. + * @throws SQLException + */ private void nastavDBspojeni() throws SQLException { - dbZdroj = DriverManager.getConnection(""); + dbZdroj = DriverManager.getConnection(jdbcZdroj); + dbCil = DriverManager.getConnection(jdbcCil); + + PreparedStatement sqlZdroj = dbZdroj.prepareStatement("SELECT count(*) FROM node"); + ResultSet rsZdroj = sqlZdroj.executeQuery(); + rsZdroj.next(); + int pocetZdroj = rsZdroj.getInt(1); + log.log(Level.INFO, "Počet záznamů v tabulce „node“ ve zdrojové DB: " + pocetZdroj); + zavri(null, sqlZdroj, rsZdroj); + + PreparedStatement sqlCil = dbCil.prepareStatement("SELECT count(*) FROM polozka"); + ResultSet rsCil = sqlCil.executeQuery(); + rsCil.next(); + int pocetCil = rsCil.getInt(1); + log.log(Level.INFO, "Počet záznamů v tabulce „polozka“ v cílové DB: " + pocetCil); + zavri(null, sqlCil, rsCil); } - private void vypis(String zprava) { if (posluchacLogu != null) { posluchacLogu.vypis(new Date() + " " + zprava); } } + + /** + * Zavře všechno + * @param spojeni DB spojení + * @param prikaz DB dotaz + * @param vysledek DB výsledek + */ + protected static void zavri(Connection spojeni, Statement prikaz, ResultSet vysledek) { + if (vysledek != null) { + try { + vysledek.close(); + } catch (Exception e) { + } + } + if (prikaz != null) { + try { + prikaz.close(); + } catch (Exception e) { + } + } + if (spojeni != null) { + try { + spojeni.close(); + } catch (Exception e) { + } + } + } } diff -r 5816c7f61a2a -r ed73b8912549 java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form Fri Jan 01 16:44:46 2010 +0100 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form Fri Jan 01 17:11:36 2010 +0100 @@ -109,6 +109,7 @@ + diff -r 5816c7f61a2a -r ed73b8912549 java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java Fri Jan 01 16:44:46 2010 +0100 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java Fri Jan 01 17:11:36 2010 +0100 @@ -75,6 +75,11 @@ jScrollPane1.setViewportView(vystup); nahratData.setText("Nahrát data"); + nahratData.addMouseWheelListener(new java.awt.event.MouseWheelListener() { + public void mouseWheelMoved(java.awt.event.MouseWheelEvent evt) { + nahratDataMouseWheelMoved(evt); + } + }); nahratData.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { nahratDataActionPerformed(evt); @@ -123,9 +128,16 @@ private void nahratDataActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nahratDataActionPerformed Konvertor k = new Konvertor(jdbcZdroj.getText(), jdbcCil.getText(), this); + nahratData.setEnabled(false); + nahratData.setToolTipText("Pokud chcete spustit migraci ještě jednou, pootočte kolečkem myši :-)"); k.konvertuj(); }//GEN-LAST:event_nahratDataActionPerformed + private void nahratDataMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {//GEN-FIRST:event_nahratDataMouseWheelMoved + nahratData.setEnabled(true); + nahratData.setToolTipText(null); + }//GEN-LAST:event_nahratDataMouseWheelMoved + /** * @param args the command line arguments */