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