java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/VyukaSuperDAO.java
changeset 16 9acb74ac7346
child 33 36359b154a6a
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/sql-vyuka/src/java/cz/frantovo/sql/vyuka/dao/VyukaSuperDAO.java	Fri May 29 03:44:35 2009 +0200
     1.3 @@ -0,0 +1,57 @@
     1.4 +package cz.frantovo.sql.vyuka.dao;
     1.5 +
     1.6 +import cz.frantovo.superDAO.SuperDAO;
     1.7 +import java.sql.Connection;
     1.8 +import java.sql.SQLException;
     1.9 +import java.util.logging.Level;
    1.10 +import javax.naming.InitialContext;
    1.11 +import javax.naming.NamingException;
    1.12 +import javax.sql.DataSource;
    1.13 +
    1.14 +/**
    1.15 + *
    1.16 + * @author fiki
    1.17 + */
    1.18 +public class VyukaSuperDAO extends SuperDAO {
    1.19 +
    1.20 +    protected InitialContext kontext = null;
    1.21 +
    1.22 +    protected enum DATABAZE {
    1.23 +
    1.24 +        /** Databáze aplikace – historie, nastavení. */
    1.25 +        APLIKACE,
    1.26 +        /** Databáze, na které se spouštějí příkazy uživatelů. */
    1.27 +        PISKOVISTE
    1.28 +    }
    1.29 +
    1.30 +    public VyukaSuperDAO() {
    1.31 +        try {
    1.32 +            kontext = new InitialContext();
    1.33 +        } catch (NamingException ex) {
    1.34 +            log.log(Level.SEVERE, "Chyba při inicializaci kontextu", ex);
    1.35 +        }
    1.36 +    }
    1.37 +
    1.38 +    /**
    1.39 +     * @param databaze Která databáze (aplikace = historie a nastavení | pískoviště = příkazy uživatele)
    1.40 +     * @return Databázové spojení
    1.41 +     */
    1.42 +    protected Connection getSpojeni(DATABAZE databaze) {
    1.43 +        if (databaze == null) {
    1.44 +            databaze = DATABAZE.PISKOVISTE;
    1.45 +        }
    1.46 +        log.log(Level.SEVERE, "DATABAZE:" + String.valueOf(databaze));
    1.47 +        String jndi = orizniJNDI(getVlastnost(databaze, VyukaSuperDAO.class));
    1.48 +        DataSource zdroj = null;
    1.49 +        try {
    1.50 +            zdroj = (DataSource) kontext.lookup(jndi);
    1.51 +            return zdroj.getConnection();
    1.52 +        } catch (NamingException ex) {
    1.53 +            log.log(Level.SEVERE, "getSpojeni: lookup", ex);
    1.54 +            return null;
    1.55 +        } catch (SQLException ex) {
    1.56 +            log.log(Level.SEVERE, "getSpojeni: sql", ex);
    1.57 +            return null;
    1.58 +        }
    1.59 +    }
    1.60 +}
    1.61 \ No newline at end of file