java/nekurak.net-web/src/java/cz/frantovo/nekurak/dao/NekurakSuperDAO.java
author František Kučera <franta-hg@frantovo.cz>
Tue Jan 26 20:35:40 2010 +0100 (2010-01-26)
changeset 22 b215d5297a31
child 26 fc3e84d87e01
permissions -rw-r--r--
NekurakSuperDAO.*
franta-hg@22
     1
package cz.frantovo.nekurak.dao;
franta-hg@22
     2
franta-hg@22
     3
import cz.frantovo.superDAO.SuperDAO;
franta-hg@22
     4
import java.sql.Connection;
franta-hg@22
     5
import java.sql.SQLException;
franta-hg@22
     6
import java.util.logging.Level;
franta-hg@22
     7
import javax.naming.InitialContext;
franta-hg@22
     8
import javax.naming.NamingException;
franta-hg@22
     9
import javax.sql.DataSource;
franta-hg@22
    10
franta-hg@22
    11
/**
franta-hg@22
    12
 *
franta-hg@22
    13
 * @author fiki
franta-hg@22
    14
 */
franta-hg@22
    15
public class NekurakSuperDAO extends SuperDAO {
franta-hg@22
    16
franta-hg@22
    17
    protected InitialContext kontext = null;
franta-hg@22
    18
franta-hg@22
    19
    protected enum DATABAZE {
franta-hg@22
    20
franta-hg@22
    21
	/** Aplikace by mohla pracovat s více datovými zdroji. */
franta-hg@22
    22
	VYCHOZI
franta-hg@22
    23
    }
franta-hg@22
    24
franta-hg@22
    25
    public NekurakSuperDAO() {
franta-hg@22
    26
	try {
franta-hg@22
    27
	    kontext = new InitialContext();
franta-hg@22
    28
	} catch (NamingException ex) {
franta-hg@22
    29
	    log.log(Level.SEVERE, "Chyba při inicializaci kontextu", ex);
franta-hg@22
    30
	}
franta-hg@22
    31
    }
franta-hg@22
    32
franta-hg@22
    33
    /**
franta-hg@22
    34
     * @return Databázové spojení nebo null při chybě.
franta-hg@22
    35
     */
franta-hg@22
    36
    protected Connection getSpojeni() {
franta-hg@22
    37
	String jndi = orizni(getVlastnost(DATABAZE.VYCHOZI, NekurakSuperDAO.class));
franta-hg@22
    38
	DataSource zdroj = null;
franta-hg@22
    39
	try {
franta-hg@22
    40
	    zdroj = (DataSource) kontext.lookup(jndi);
franta-hg@22
    41
	    return zdroj.getConnection();
franta-hg@22
    42
	} catch (NamingException ex) {
franta-hg@22
    43
	    log.log(Level.SEVERE, "getSpojeni: lookup", ex);
franta-hg@22
    44
	    return null;
franta-hg@22
    45
	} catch (SQLException ex) {
franta-hg@22
    46
	    log.log(Level.SEVERE, "getSpojeni: sql", ex);
franta-hg@22
    47
	    return null;
franta-hg@22
    48
	}
franta-hg@22
    49
    }
franta-hg@22
    50
}