package org.openstack.atlas.util.itest.hibernate; import java.util.List; import java.util.Map; import org.hibernate.Transaction; import org.openstack.atlas.util.itest.hibernate.HibernateUtil; import org.hibernate.Session; import org.hibernate.SessionFactory; public class HuApp { private HibernateUtil hu; private String db; public HuApp() { hu = new HibernateUtil(); } public void clearDbMap() { hu.clearDbMap(); } public void setDbMap(HibernateDbConf conf) { setDbMap(conf.getDbKey(), conf.getUrl(), conf.getUser(), conf.getPasswd(), conf.getHbm2ddl(), conf.getPackageName(), conf.getDriver(), conf.getDialect(), conf.getClassNames()); } public void setDbMap(String db_key, String url, String user, String passwd, String hbm2ddl, String packageName, String driverClass, String dialect, List<String> classList) { hu.setDbMap(db_key, url, user, passwd, hbm2ddl, packageName, driverClass, dialect, classList); db = db_key; } public Map<String, SessionFactory> getDbMaps() { return hu.getSfm(); } public void delete(Object obj) { Session session = hu.getInstance(db).getCurrentSession(); //session.beginTransaction(); session.delete(obj); //session.flush(); //session.getTransaction().commit(); } public Object getHibernateObjectbyStringCol(String table, String col, String val) { List resp; Session session = hu.getInstance(db).getCurrentSession(); String q_str = String.format("from %s where %s=:val", table, col); resp = session.createQuery(q_str).setString("val", val).list(); if (resp.size() != 1) { return null; } return resp.get(0); } public List getList(String query) { List resp; Session session; session = hu.getInstance(db).getCurrentSession(); //session.beginTransaction(); resp = session.createQuery(query).list(); //session.getTransaction().commit(); return resp; } public Session getSession() { return hu.getInstance(db).getCurrentSession(); } public void addObj(Object obj) { Session session; Class cls; cls = obj.getClass(); session = hu.getInstance(db).getCurrentSession(); try { //session.beginTransaction(); session.save(obj); //session.flush(); //session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); } } public void saveOrUpdate(Object obj) { Session session = hu.getInstance(db).getCurrentSession(); //session.beginTransaction(); session.saveOrUpdate(obj); session.flush(); //session.getTransaction().commit(); } public static void addviptype(String name, String description) { System.out.printf("Invalid\n"); } public HibernateUtil getHu() { return hu; } public void setHu(HibernateUtil hu) { this.hu = hu; } public String getDb() { return db; } public void setDb(String db) { this.db = db; } public Transaction begin() { return getSession().beginTransaction(); } public Transaction begin(String dbKey) { setDb(dbKey); return getSession().beginTransaction(); } public void commit() { getSession().getTransaction().commit(); } public void rollback() { getSession().getTransaction().rollback(); } public void close() { getSession().close(); } }