Navázání DB spojení a kontrola databází SQL dotazem. default tip
authorFrantišek Kučera <franta-hg@frantovo.cz>
Fri, 01 Jan 2010 17:11:36 +0100
changeset 5ed73b8912549
parent 4 5816c7f61a2a
Navázání DB spojení a kontrola databází SQL dotazem.
java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java
java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form
java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java
     1.1 --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java	Fri Jan 01 16:44:46 2010 +0100
     1.2 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/Konvertor.java	Fri Jan 01 17:11:36 2010 +0100
     1.3 @@ -2,8 +2,13 @@
     1.4  
     1.5  import java.sql.Connection;
     1.6  import java.sql.DriverManager;
     1.7 +import java.sql.PreparedStatement;
     1.8 +import java.sql.ResultSet;
     1.9  import java.sql.SQLException;
    1.10 +import java.sql.Statement;
    1.11  import java.util.Date;
    1.12 +import java.util.logging.Level;
    1.13 +import java.util.logging.Logger;
    1.14  
    1.15  /**
    1.16   * Řídící třída, stará se o konverzi z databáze Drupalu do databáze ABC.
    1.17 @@ -11,6 +16,7 @@
    1.18   */
    1.19  public class Konvertor {
    1.20  
    1.21 +    private static final Logger log = Logger.getLogger(Konvertor.class.getSimpleName());
    1.22      private PosluchacLogu posluchacLogu;
    1.23      private String jdbcZdroj;
    1.24      private String jdbcCil;
    1.25 @@ -27,19 +33,72 @@
    1.26  	vypis("Začíná migrace");
    1.27  
    1.28  
    1.29 +	try {
    1.30 +	    nastavDBspojeni();
    1.31 +	} catch (SQLException e) {
    1.32 +	    vypis("Chyba při připojování k databázím.");
    1.33 +	    log.log(Level.SEVERE, "Chyba při připojování k databázím.", e);
    1.34 +	    vypis("Končím.");
    1.35 +	    return;
    1.36 +	}
    1.37  
    1.38  
    1.39  	vypis("Migrace dokončena");
    1.40      }
    1.41 -    
    1.42 +
    1.43 +    /**
    1.44 +     * Připojí databáze a zkontroluje SQL dotazem, že jsou v pořádku.
    1.45 +     * @throws SQLException
    1.46 +     */
    1.47      private void nastavDBspojeni() throws SQLException {
    1.48 -	dbZdroj = DriverManager.getConnection("");
    1.49 +	dbZdroj = DriverManager.getConnection(jdbcZdroj);
    1.50 +	dbCil = DriverManager.getConnection(jdbcCil);
    1.51 +
    1.52 +	PreparedStatement sqlZdroj = dbZdroj.prepareStatement("SELECT count(*) FROM node");
    1.53 +	ResultSet rsZdroj = sqlZdroj.executeQuery();
    1.54 +	rsZdroj.next();
    1.55 +	int pocetZdroj = rsZdroj.getInt(1);
    1.56 +	log.log(Level.INFO, "Počet záznamů v tabulce „node“ ve zdrojové DB: " + pocetZdroj);
    1.57 +	zavri(null, sqlZdroj, rsZdroj);
    1.58 +
    1.59 +	PreparedStatement sqlCil = dbCil.prepareStatement("SELECT count(*) FROM polozka");
    1.60 +	ResultSet rsCil = sqlCil.executeQuery();
    1.61 +	rsCil.next();
    1.62 +	int pocetCil = rsCil.getInt(1);
    1.63 +	log.log(Level.INFO, "Počet záznamů v tabulce „polozka“ v cílové DB: " + pocetCil);
    1.64 +	zavri(null, sqlCil, rsCil);
    1.65      }
    1.66  
    1.67 -
    1.68      private void vypis(String zprava) {
    1.69  	if (posluchacLogu != null) {
    1.70  	    posluchacLogu.vypis(new Date() + " " + zprava);
    1.71  	}
    1.72      }
    1.73 +
    1.74 +    /**
    1.75 +     * Zavře všechno
    1.76 +     * @param spojeni DB spojení
    1.77 +     * @param prikaz DB dotaz
    1.78 +     * @param vysledek DB výsledek
    1.79 +     */
    1.80 +    protected static void zavri(Connection spojeni, Statement prikaz, ResultSet vysledek) {
    1.81 +        if (vysledek != null) {
    1.82 +            try {
    1.83 +                vysledek.close();
    1.84 +            } catch (Exception e) {
    1.85 +            }
    1.86 +        }
    1.87 +        if (prikaz != null) {
    1.88 +            try {
    1.89 +                prikaz.close();
    1.90 +            } catch (Exception e) {
    1.91 +            }
    1.92 +        }
    1.93 +        if (spojeni != null) {
    1.94 +            try {
    1.95 +                spojeni.close();
    1.96 +            } catch (Exception e) {
    1.97 +            }
    1.98 +        }
    1.99 +    }
   1.100  }
     2.1 --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form	Fri Jan 01 16:44:46 2010 +0100
     2.2 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.form	Fri Jan 01 17:11:36 2010 +0100
     2.3 @@ -109,6 +109,7 @@
     2.4          <Property name="text" type="java.lang.String" value="Nahr&#xe1;t data"/>
     2.5        </Properties>
     2.6        <Events>
     2.7 +        <EventHandler event="mouseWheelMoved" listener="java.awt.event.MouseWheelListener" parameters="java.awt.event.MouseWheelEvent" handler="nahratDataMouseWheelMoved"/>
     2.8          <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="nahratDataActionPerformed"/>
     2.9        </Events>
    2.10      </Component>
     3.1 --- a/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java	Fri Jan 01 16:44:46 2010 +0100
     3.2 +++ b/java/abc-drupal-gui/src/cz/frantovo/abcDrupal/gui/HlavniOkno.java	Fri Jan 01 17:11:36 2010 +0100
     3.3 @@ -75,6 +75,11 @@
     3.4          jScrollPane1.setViewportView(vystup);
     3.5  
     3.6          nahratData.setText("Nahrát data");
     3.7 +        nahratData.addMouseWheelListener(new java.awt.event.MouseWheelListener() {
     3.8 +            public void mouseWheelMoved(java.awt.event.MouseWheelEvent evt) {
     3.9 +                nahratDataMouseWheelMoved(evt);
    3.10 +            }
    3.11 +        });
    3.12          nahratData.addActionListener(new java.awt.event.ActionListener() {
    3.13              public void actionPerformed(java.awt.event.ActionEvent evt) {
    3.14                  nahratDataActionPerformed(evt);
    3.15 @@ -123,9 +128,16 @@
    3.16  
    3.17      private void nahratDataActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nahratDataActionPerformed
    3.18  	Konvertor k = new Konvertor(jdbcZdroj.getText(), jdbcCil.getText(), this);
    3.19 +	nahratData.setEnabled(false);
    3.20 +	nahratData.setToolTipText("Pokud chcete spustit migraci ještě jednou, pootočte kolečkem myši :-)");
    3.21  	k.konvertuj();
    3.22      }//GEN-LAST:event_nahratDataActionPerformed
    3.23  
    3.24 +    private void nahratDataMouseWheelMoved(java.awt.event.MouseWheelEvent evt) {//GEN-FIRST:event_nahratDataMouseWheelMoved
    3.25 +	nahratData.setEnabled(true);
    3.26 +	nahratData.setToolTipText(null);
    3.27 +    }//GEN-LAST:event_nahratDataMouseWheelMoved
    3.28 +
    3.29      /**
    3.30       * @param args the command line arguments
    3.31       */