package org.projectapollo.demo;

import apollo.*;
import apollo.Storable.*;
import java.util.*;
import java.io.*;
import org.projectapollo.demo.Storable.*;
import apollo.Job.JobRecord;
import com.javaexchange.dbConnectionBroker.DbConnectionBroker;

public class DBConnectors {
    static public void connectAdapters(ManagerTracker MT, Properties prop) throws Exception {
 
        DbConnectionBroker s =
new DbConnectionBroker(
            prop.getProperty(
"DatabaseManager.JDBCClass","org.gjt.mm.mysql.Driver"),
            prop.getProperty(
"DatabaseManager.URL","localhost"),
            prop.getProperty(
"DatabaseManager.Username",""),
            prop.getProperty(
"DatabaseManager.Password",""),
            (
new Integer(prop.getProperty("DatabaseManager.MinConnections","2"))).intValue(),
            (
new Integer(prop.getProperty("DatabaseManager.MaxConnections","15"))).intValue(),
            prop.getProperty(
"DatabaseManager.Logfile","database.log"),
            (
new Double(prop.getProperty("DatabaseManager.MaxConnectTime",".2"))).doubleValue());
 
        DatabaseManager DM = MT.getDM();
        if (false) {
            DM.connectStorable(JobRecord.
class, (new MySQLAdapter(JobRecord.class, s, "JobRecord")));
            DM.connectStorable(JobMembership.
class, (new MySQLAdapter(JobMembership.class, s,     "JobMembership")));
            DM.connectStorable(User.
class, (new MySQLAdapter(User.class, s, "User")));
        }
else {
              /* DM.connectStorable(JobRecord.class, (new PgSQLAdapter(JobRecord.class, s, "JobRecord")));
            DM.connectStorable(JobMembership.class, (new PgSQLAdapter(JobMembership.class, s,     "JobMembership")));
            DM.connectStorable(User.class, (new PgSQLAdapter(User.class, s, "Userz")));*/
             DM.connectStorable(JobRecord.class, (new IBAdapter(JobRecord.class, s, "JobRecord")));
            DM.connectStorable(JobMembership.
class, (new IBAdapter(JobMembership.class, s, "JobMembership")));
            DM.connectStorable(User.
class, (new IBAdapter(User.class, s, "Userz")));
        }
        if (!Storable.tableCreated(MT, User.class)) {
              //Then setup base users
               User u = new User("admin", "Administrator", "Administrator", "admin", new Date(), new             Integer(0),"[email protected]", new Integer(1));
            u.insert(MT);
        }
    }
 
}