sascha@165: package de.intevation.flys;
sascha@165: 
sascha@168: import org.hibernate.cfg.Configuration;
sascha@168: 
sascha@174: import de.intevation.flys.model.Annotation;
sascha@174: import de.intevation.flys.model.Attribute;
sascha@174: import de.intevation.flys.model.DischargeTable;
sascha@174: import de.intevation.flys.model.DischargeTableValue;
sascha@174: import de.intevation.flys.model.Gauge;
sascha@174: import de.intevation.flys.model.MainValueType;
sascha@189: import de.intevation.flys.model.NamedMainValue;
sascha@189: import de.intevation.flys.model.MainValue;
sascha@174: import de.intevation.flys.model.Position;
sascha@174: import de.intevation.flys.model.Range;
sascha@168: import de.intevation.flys.model.River;
sascha@174: import de.intevation.flys.model.TimeInterval;
sascha@174: import de.intevation.flys.model.WstColumn;
sascha@174: import de.intevation.flys.model.WstColumnQRange;
sascha@174: import de.intevation.flys.model.WstColumnValue;
sascha@174: import de.intevation.flys.model.Wst;
sascha@174: import de.intevation.flys.model.WstQRange;
sascha@168: 
sascha@168: import org.hibernate.dialect.resolver.DialectFactory;
sascha@168: 
sascha@169: import java.util.Properties;
sascha@169: 
sascha@169: import org.hibernate.cfg.Environment;
sascha@169: 
sascha@464: public class App
sascha@165: {
sascha@169:     private static final String USER =
sascha@169:         System.getProperty("flys.user", "flys");
sascha@169: 
sascha@169:     private static final String PASS =
sascha@169:         System.getProperty("flys.pass", "flys");
sascha@169: 
sascha@174:     public static void dumpSchema(Configuration cfg) {
sascha@174:         System.out.println("BEGIN;");
sascha@168: 
sascha@168:         String [] setupScript = cfg.generateSchemaCreationScript(
sascha@168:             DialectFactory.constructDialect(
sascha@168:                 "org.hibernate.dialect.PostgreSQLDialect"));
sascha@168: 
sascha@168:         for (String line: setupScript) {
sascha@174:             System.out.println(line + ";");
sascha@168:         }
sascha@168: 
sascha@174:         System.out.println("COMMIT;");
sascha@174:     }
sascha@174: 
sascha@174:     public static void main(String [] args)
sascha@174:     throws Exception
sascha@174:     {
sascha@174:         Configuration cfg = new Configuration();
sascha@174: 
sascha@174:         cfg.addAnnotatedClass(Annotation.class);
sascha@174:         cfg.addAnnotatedClass(Attribute.class);
sascha@174:         cfg.addAnnotatedClass(DischargeTable.class);
sascha@174:         cfg.addAnnotatedClass(DischargeTableValue.class);
sascha@174:         cfg.addAnnotatedClass(Gauge.class);
sascha@174:         cfg.addAnnotatedClass(MainValueType.class);
sascha@189:         cfg.addAnnotatedClass(NamedMainValue.class);
sascha@189:         cfg.addAnnotatedClass(MainValue.class);
sascha@174:         cfg.addAnnotatedClass(Position.class);
sascha@174:         cfg.addAnnotatedClass(Range.class);
sascha@174:         cfg.addAnnotatedClass(River.class);
sascha@174:         cfg.addAnnotatedClass(TimeInterval.class);
sascha@174:         cfg.addAnnotatedClass(WstColumn.class);
sascha@174:         cfg.addAnnotatedClass(WstColumnQRange.class);
sascha@174:         cfg.addAnnotatedClass(WstColumnValue.class);
sascha@174:         cfg.addAnnotatedClass(Wst.class);
sascha@174:         cfg.addAnnotatedClass(WstQRange.class);
sascha@169:         Properties props = new Properties();
sascha@168: 
sascha@174:         dumpSchema(cfg);
sascha@174: 
sascha@169:         props.setProperty(
sascha@169:             Environment.DIALECT,
sascha@169:             "org.hibernate.dialect.PostgreSQLDialect");
sascha@169: 
sascha@169:         props.setProperty(
sascha@169:             "hibernate.connection.provider_class",
sascha@169:             "org.hibernate.connection.DBCPConnectionProvider");
sascha@169: 
sascha@169:         props.setProperty(
sascha@169:             Environment.USER,
sascha@169:             USER);
sascha@169: 
sascha@169:         props.setProperty(
sascha@169:             Environment.PASS,
sascha@169:             PASS);
sascha@169: 
sascha@169:         props.setProperty(
sascha@169:             Environment.DRIVER,
sascha@169:             "org.postgresql.Driver");
sascha@169: 
sascha@169:         props.setProperty(
sascha@169:             Environment.URL,
sascha@169:             "jdbc:postgresql://localhost:54321/flystest1");
sascha@169: 
sascha@169:         cfg.mergeProperties(props);
sascha@169: 
sascha@189:         /*
sascha@189: 
sascha@169:         SessionFactory sessionFactory = cfg.buildSessionFactory();
sascha@169: 
sascha@169:         Session session = sessionFactory.openSession();
sascha@169:         session.beginTransaction();
sascha@169: 
sascha@169:         River river = new River("Hase-" + new java.util.Date());
sascha@169: 
sascha@169:         session.save(river);
sascha@169: 
sascha@169:         System.out.println("river id: " + river.getId());
sascha@169: 
sascha@169:         session.getTransaction().commit();
sascha@169:         session.close();
sascha@189:         */
sascha@165:     }
sascha@165: }
sascha@168: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :