franta-hg@6: package cz.frantovo.hrisniciSpameri.dao;
franta-hg@6:
franta-hg@6: import cz.frantovo.superDAO.SuperDAO;
franta-hg@6: import java.sql.Connection;
franta-hg@6: import java.sql.SQLException;
franta-hg@6: import java.util.logging.Level;
franta-hg@6: import javax.naming.InitialContext;
franta-hg@6: import javax.naming.NamingException;
franta-hg@6: import javax.sql.DataSource;
franta-hg@6:
franta-hg@6: /**
franta-hg@6: *
franta-hg@6: * @author fiki
franta-hg@6: */
franta-hg@6: public class HrisniciSuperDAO extends SuperDAO {
franta-hg@6:
franta-hg@6: protected InitialContext kontext = null;
franta-hg@6:
franta-hg@6: protected enum DATABAZE {
franta-hg@6:
franta-hg@6: HRISNICI
franta-hg@6: }
franta-hg@6:
franta-hg@6: public HrisniciSuperDAO() {
franta-hg@6: try {
franta-hg@6: kontext = new InitialContext();
franta-hg@6: } catch (NamingException ex) {
franta-hg@18: log.log(Level.SEVERE, "Chyba při inicializaci kontextu", ex);
franta-hg@6: }
franta-hg@6: }
franta-hg@6:
franta-hg@6: /**
franta-hg@6: *
franta-hg@6: * - Webová část zadává jako parametr null →
franta-hg@6: * dostane výchozí spojení do PostgreSQL databáze obsahující vygenerované souhrny.
franta-hg@6: * - Generovací servlet zadává JNDI jméno databáze cíle →
franta-hg@6: * dostane zdrojovou databázi, ze které vygeneruje denní souhrny a výsledek uloží do výchozí databáze.
franta-hg@6: *
franta-hg@6: * @param jndi JNDI jméno, pokud je null, vrací výchozí spojení.
franta-hg@6: * @return Databázové spojení
franta-hg@6: */
franta-hg@6: protected Connection getSpojeni(String jndi) {
franta-hg@6: if (jndi == null || jndi.length() < 1) {
franta-hg@6: jndi = getVlastnost(DATABAZE.HRISNICI, HrisniciSuperDAO.class);
franta-hg@6: }
franta-hg@6: jndi = orizniJNDI(jndi);
franta-hg@6: DataSource zdroj = null;
franta-hg@6: try {
franta-hg@6: zdroj = (DataSource) kontext.lookup(jndi);
franta-hg@6: return zdroj.getConnection();
franta-hg@6: } catch (NamingException ex) {
franta-hg@6: log.log(Level.SEVERE, "getSpojeni: lookup", ex);
franta-hg@6: return null;
franta-hg@6: } catch (SQLException ex) {
franta-hg@6: log.log(Level.SEVERE, "getSpojeni: sql", ex);
franta-hg@6: return null;
franta-hg@6: }
franta-hg@6: }
franta-hg@6: }