java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/VyukaSuperDAO.java
author František Kučera <franta-hg@frantovo.cz>
Mon Jun 01 00:37:29 2009 +0200 (2009-06-01)
changeset 33 36359b154a6a
parent 16 9acb74ac7346
child 86 a51bbc91a4cb
permissions -rw-r--r--
Odstranění zbytečného vypisování.
     1 package cz.frantovo.sql.vyuka.dao;
     2 
     3 import cz.frantovo.superDAO.SuperDAO;
     4 import java.sql.Connection;
     5 import java.sql.SQLException;
     6 import java.util.logging.Level;
     7 import javax.naming.InitialContext;
     8 import javax.naming.NamingException;
     9 import javax.sql.DataSource;
    10 
    11 /**
    12  *
    13  * @author fiki
    14  */
    15 public class VyukaSuperDAO extends SuperDAO {
    16 
    17     protected InitialContext kontext = null;
    18 
    19     protected enum DATABAZE {
    20 
    21         /** Databáze aplikace – historie, nastavení. */
    22         APLIKACE,
    23         /** Databáze, na které se spouštějí příkazy uživatelů. */
    24         PISKOVISTE
    25     }
    26 
    27     public VyukaSuperDAO() {
    28         try {
    29             kontext = new InitialContext();
    30         } catch (NamingException ex) {
    31             log.log(Level.SEVERE, "Chyba při inicializaci kontextu", ex);
    32         }
    33     }
    34 
    35     /**
    36      * @param databaze Která databáze (aplikace = historie a nastavení | pískoviště = příkazy uživatele)
    37      * @return Databázové spojení
    38      */
    39     protected Connection getSpojeni(DATABAZE databaze) {
    40         if (databaze == null) {
    41             databaze = DATABAZE.PISKOVISTE;
    42         }
    43         String jndi = orizni(getVlastnost(databaze, VyukaSuperDAO.class));
    44         DataSource zdroj = null;
    45         try {
    46             zdroj = (DataSource) kontext.lookup(jndi);
    47             return zdroj.getConnection();
    48         } catch (NamingException ex) {
    49             log.log(Level.SEVERE, "getSpojeni: lookup", ex);
    50             return null;
    51         } catch (SQLException ex) {
    52             log.log(Level.SEVERE, "getSpojeni: sql", ex);
    53             return null;
    54         }
    55     }
    56 }