it.unimi.dico.islab.idbs2.map.session
Class MapSessionManager

java.lang.Object
  extended by it.unimi.dico.islab.idbs2.map.session.MapSessionManager

public class MapSessionManager
extends Object

Class for Hibernate Session automatic management. This class offers only static methods, usually protected, for Hibernate session management which are used from other classes of this package.

N.B.: All the operations executed through manager classes will be exectued referring to this class's internal session

Author:
Vegeziel

Field Summary
static MappingManager m
          MappingSetManager reference, used to manage MappingSet objects.
static MappingSetManager msm
          MappingSetManager reference, used to manage MappingSet objects.
static RelationManager rm
          RelationManager reference, used to manage Relation objects.
 
Method Summary
static void beginTransaction()
          Start a new transaction for the internal Session.
protected static void checkActiveTransaction()
          Check if the internal session has an active transaction, otherwise creates automatically a new transaction warning the user.
static void commitTransaction()
          Commit the internal session active transaction.
static void flushTransaction()
           
protected static org.hibernate.Session getInternalSession()
           
static org.hibernate.SessionFactory getSessionFactory()
          Returns an Hibernate Session Factory created for this kc model.
static org.hibernate.SessionFactory getSessionFactory(File conf)
          Same as getSessionFactory().
protected static void saveOrUpdateObject(Object obj)
          Give persistence (on relational database) to an object mapped with Hibernate using the internal Session Factory of this class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

msm

public static MappingSetManager msm
MappingSetManager reference, used to manage MappingSet objects.


m

public static MappingManager m
MappingSetManager reference, used to manage MappingSet objects.


rm

public static RelationManager rm
RelationManager reference, used to manage Relation objects.

Method Detail

saveOrUpdateObject

protected static void saveOrUpdateObject(Object obj)

Give persistence (on relational database) to an object mapped with Hibernate using the internal Session Factory of this class. This method is defined only in this class (as it is the main class of this package) and is called by every saveOrUpdate method of other classes of this package.

Parameters:
obj - The Hibernate mapped object to be persisted.

checkActiveTransaction

protected static void checkActiveTransaction()
Check if the internal session has an active transaction, otherwise creates automatically a new transaction warning the user.


beginTransaction

public static void beginTransaction()
Start a new transaction for the internal Session.


commitTransaction

public static void commitTransaction()
Commit the internal session active transaction. This method MUST be called if some KnowledgeChuks hava been saved or modified using internal session. Otherwise the saved data won't be materialized.


flushTransaction

public static void flushTransaction()

getSessionFactory

public static org.hibernate.SessionFactory getSessionFactory()

Returns an Hibernate Session Factory created for this kc model. This Session Factory will be different at any call of this method and is different from the internal Session Factory used by other methods (e.g. saveOrUpdate and getKnowledgeChunkById).

This session factory is created using the config/kcDatabaseConfiguration.xml file.

Returns:
Hibernate SessionFactory

getSessionFactory

public static org.hibernate.SessionFactory getSessionFactory(File conf)
Same as getSessionFactory(). Only difference is that the configuration file the SessionFactory will be built upon is passed as argument. This method can be used to obtain new SessionFactories for databases different from the standard one.

Parameters:
conf - the configuration file in a standard xml Hibernate version.
Returns:
the created SessionFactory.

getInternalSession

protected static org.hibernate.Session getInternalSession()