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