net.commerce.zocalo.hibernate
Class HibernateUtil

java.lang.Object
  extended by net.commerce.zocalo.hibernate.HibernateUtil
Direct Known Subclasses:
NoDBHibernateUtil

public class HibernateUtil
extends java.lang.Object

Utilities for dealing with Hibernate. Everything from general tools for creating and managing connections to specific queries of general use.


Field Summary
static java.lang.String SCHEMA_CREATE
           
static java.lang.String SCHEMA_CREATE_DROP
           
static java.lang.String SCHEMA_UPDATE
           
protected static org.hibernate.SessionFactory sessionFactory
           
protected static java.lang.ThreadLocal sessionHolder
           
 
Constructor Summary
HibernateUtil()
           
 
Method Summary
static java.util.List allClosedMarkets()
           
static java.util.List allOpenBinaryMarkets()
           
static java.util.List allOpenMultiMarkets()
           
static org.hibernate.Transaction beginTransactionForJsp()
           
static void closeSession()
           
static java.lang.String connectionUrl(java.lang.String dbFilePath, boolean create)
           
static java.util.List couponOwners(Claim claim)
           
static org.hibernate.Session currentSession()
           
static void delete(java.lang.Object o)
           
static java.lang.String derbyUrl(java.lang.String dbFilePath, boolean create)
           
static BinaryClaim getBinaryClaimByName(java.lang.String name)
           
static Claim getClaimByName(java.lang.String name)
           
static java.util.List getMakerWithoutBeta()
          See if Database has been upgraded to format for 2008.3; afterwards MarketMakers store their Beta.
static Market getMarketByName(java.lang.String name)
           
static java.util.List getMarketsSansOutcome()
          see if database has been upgraded for 2008.4.
static MultiMarket getMultiMarketByName(java.lang.String name)
           
static java.util.List getOrdersForUser(User user)
           
static CashBank getOrMakePersistentRootBank(java.lang.String rootCashBankName)
           
static void getPositionSansIndex()
          see if database has been upgraded for 2009.1.
static java.util.List getRedemptions(SecureUser user, Market market)
           
static java.util.List getTrades(SecureUser user)
           
static java.util.List getTrades(SecureUser user, Market market)
           
static UnconfirmedUser getUnconfirmedUserByName(java.lang.String name, org.hibernate.Session session)
           
static java.util.List getUnowedMarket()
          See if Database has been upgraded to format for 2007.5; afterwards Markets store their owners directly.
static SecureUser getUserByName(java.lang.String name)
           
static SecureUser getUserByName(java.lang.String name, org.hibernate.Session session)
           
static java.lang.String hsqlFileUrl(java.lang.String dbFilePath)
           
static void initializeSessionFactory(java.lang.String connectionURL, java.lang.String schemaCreateMode)
           
static boolean isStatisticsEnabled()
           
static boolean marketsExist()
           
static java.util.List maxTradeTime(java.lang.String claimName)
           
static void refresh(java.lang.Object o)
           
static void removeUnconfirmedUserByName(java.lang.String name, org.hibernate.Session session)
           
static void save(java.lang.Object o)
           
static void shutdown(java.lang.String connectionURL)
           
static java.util.List tradeListForJsp(java.lang.String claimName)
           
static void updateDB2007_5(java.lang.String connectionURL)
          Upgrade Database to format for 2007.5; Markets store their owners directly.
static void updateDB2008_3(java.lang.String connectionURL)
          Upgrade Database to format for 2008.3; MarketMakers store Beta, not subsidy.
static void updateDB2008_4(java.lang.String dbFileURL)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sessionFactory

protected static org.hibernate.SessionFactory sessionFactory

sessionHolder

protected static final java.lang.ThreadLocal sessionHolder

SCHEMA_CREATE

public static final java.lang.String SCHEMA_CREATE
See Also:
Constant Field Values

SCHEMA_CREATE_DROP

public static final java.lang.String SCHEMA_CREATE_DROP
See Also:
Constant Field Values

SCHEMA_UPDATE

public static final java.lang.String SCHEMA_UPDATE
See Also:
Constant Field Values
Constructor Detail

HibernateUtil

public HibernateUtil()
Method Detail

initializeSessionFactory

public static void initializeSessionFactory(java.lang.String connectionURL,
                                            java.lang.String schemaCreateMode)

connectionUrl

public static java.lang.String connectionUrl(java.lang.String dbFilePath,
                                             boolean create)

derbyUrl

public static java.lang.String derbyUrl(java.lang.String dbFilePath,
                                        boolean create)

hsqlFileUrl

public static java.lang.String hsqlFileUrl(java.lang.String dbFilePath)

currentSession

public static org.hibernate.Session currentSession()
                                            throws org.hibernate.HibernateException
Throws:
org.hibernate.HibernateException

closeSession

public static void closeSession()
                         throws org.hibernate.HibernateException
Throws:
org.hibernate.HibernateException

save

public static void save(java.lang.Object o)

delete

public static void delete(java.lang.Object o)

getOrMakePersistentRootBank

public static CashBank getOrMakePersistentRootBank(java.lang.String rootCashBankName)
                                            throws org.hibernate.HibernateException
Throws:
org.hibernate.HibernateException

getUserByName

public static SecureUser getUserByName(java.lang.String name)

getUserByName

public static SecureUser getUserByName(java.lang.String name,
                                       org.hibernate.Session session)

getUnconfirmedUserByName

public static UnconfirmedUser getUnconfirmedUserByName(java.lang.String name,
                                                       org.hibernate.Session session)

removeUnconfirmedUserByName

public static void removeUnconfirmedUserByName(java.lang.String name,
                                               org.hibernate.Session session)

marketsExist

public static boolean marketsExist()

allOpenBinaryMarkets

public static java.util.List allOpenBinaryMarkets()

allOpenMultiMarkets

public static java.util.List allOpenMultiMarkets()

allClosedMarkets

public static java.util.List allClosedMarkets()

tradeListForJsp

public static java.util.List tradeListForJsp(java.lang.String claimName)

maxTradeTime

public static java.util.List maxTradeTime(java.lang.String claimName)

getMarketByName

public static Market getMarketByName(java.lang.String name)

getMultiMarketByName

public static MultiMarket getMultiMarketByName(java.lang.String name)

getBinaryClaimByName

public static BinaryClaim getBinaryClaimByName(java.lang.String name)

getClaimByName

public static Claim getClaimByName(java.lang.String name)

couponOwners

public static java.util.List couponOwners(Claim claim)

refresh

public static void refresh(java.lang.Object o)

beginTransactionForJsp

public static org.hibernate.Transaction beginTransactionForJsp()

getOrdersForUser

public static java.util.List getOrdersForUser(User user)

getTrades

public static java.util.List getTrades(SecureUser user)

getTrades

public static java.util.List getTrades(SecureUser user,
                                       Market market)

getRedemptions

public static java.util.List getRedemptions(SecureUser user,
                                            Market market)

shutdown

public static void shutdown(java.lang.String connectionURL)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException

updateDB2007_5

public static void updateDB2007_5(java.lang.String connectionURL)
                           throws java.sql.SQLException
Upgrade Database to format for 2007.5; Markets store their owners directly.

Throws:
java.sql.SQLException

getUnowedMarket

public static java.util.List getUnowedMarket()
See if Database has been upgraded to format for 2007.5; afterwards Markets store their owners directly.


getMakerWithoutBeta

public static java.util.List getMakerWithoutBeta()
See if Database has been upgraded to format for 2008.3; afterwards MarketMakers store their Beta.


getMarketsSansOutcome

public static java.util.List getMarketsSansOutcome()
see if database has been upgraded for 2008.4. Markets now represent their outcome.


getPositionSansIndex

public static void getPositionSansIndex()
see if database has been upgraded for 2009.1. Positions are now ordered.


updateDB2008_3

public static void updateDB2008_3(java.lang.String connectionURL)
                           throws java.sql.SQLException
Upgrade Database to format for 2008.3; MarketMakers store Beta, not subsidy. This method sets all Betas to a single (barely) plausible value. There's a shell script (and python) program that uses sqlTool to do a better job.

Throws:
java.sql.SQLException

updateDB2008_4

public static void updateDB2008_4(java.lang.String dbFileURL)

isStatisticsEnabled

public static boolean isStatisticsEnabled()