java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/HrisniciSuperDAO.java
changeset 6 38625daa449b
child 18 1d606f50ae21
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/dao/HrisniciSuperDAO.java	Wed Feb 11 22:25:09 2009 +0100
     1.3 @@ -0,0 +1,60 @@
     1.4 +package cz.frantovo.hrisniciSpameri.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 HrisniciSuperDAO extends SuperDAO {
    1.19 +
    1.20 +    protected InitialContext kontext = null;
    1.21 +
    1.22 +    protected enum DATABAZE {
    1.23 +
    1.24 +        HRISNICI
    1.25 +    }
    1.26 +
    1.27 +    public HrisniciSuperDAO() {
    1.28 +        try {
    1.29 +            kontext = new InitialContext();
    1.30 +        } catch (NamingException ex) {
    1.31 +            log.log(Level.SEVERE, "InitialContext problem", ex);
    1.32 +        }
    1.33 +    }
    1.34 +
    1.35 +    /**
    1.36 +     * <ul>
    1.37 +     *  <li>Webová část zadává jako parametr null →
    1.38 +     *  dostane výchozí spojení do PostgreSQL databáze obsahující vygenerované souhrny.</li>
    1.39 +     *  <li>Generovací servlet zadává JNDI jméno databáze cíle →
    1.40 +     *  dostane zdrojovou databázi, ze které vygeneruje denní souhrny a výsledek uloží do výchozí databáze.</li>
    1.41 +     * </ul>
    1.42 +     * @param jndi JNDI jméno, pokud je null, vrací výchozí spojení.
    1.43 +     * @return Databázové spojení
    1.44 +     */
    1.45 +    protected Connection getSpojeni(String jndi) {
    1.46 +        if (jndi == null || jndi.length() < 1) {
    1.47 +            jndi = getVlastnost(DATABAZE.HRISNICI, HrisniciSuperDAO.class);
    1.48 +        }
    1.49 +        jndi = orizniJNDI(jndi);
    1.50 +        DataSource zdroj = null;
    1.51 +        try {
    1.52 +            System.out.println("XXXXXX:" + jndi + ":XXXXX");
    1.53 +            zdroj = (DataSource) kontext.lookup(jndi);
    1.54 +            return zdroj.getConnection();
    1.55 +        } catch (NamingException ex) {
    1.56 +            log.log(Level.SEVERE, "getSpojeni: lookup", ex);
    1.57 +            return null;
    1.58 +        } catch (SQLException ex) {
    1.59 +            log.log(Level.SEVERE, "getSpojeni: sql", ex);
    1.60 +            return null;
    1.61 +        }
    1.62 +    }
    1.63 +}