com::cosylab::cdb::jdal::HibernateWDALImpl Class Reference

Inheritance diagram for com::cosylab::cdb::jdal::HibernateWDALImpl:
Inheritance graph
[legend]
Collaboration diagram for com::cosylab::cdb::jdal::HibernateWDALImpl:
Collaboration graph
[legend]

List of all members.

Classes

class  ComponentDAOImplSaver
class  SchemaResourceResolverLoader

Public Member Functions

 HibernateWDALImpl (String args[], ORB orb, POA poa, Logger logger)
String[] getSubNodes (DAL dal, String subnode) throws Throwable
void bindNonExpandedComponentXMLToAlmaBranch (Session session, Map< String, Object > parentMap, alma.TMCDB.maci.Component component)
List getListForConfiguration (Session session, Class type) throws Throwable
Map< String, Object > getTableMap (Session session, String keyField, Class type)
Map< String, Object > getComponentsTableMap ()
Map< String, Object > getContainersTableMap ()
Object getChannelsTableMap ()
DAO get_DAO_Servant (String curl) throws CDBXMLErrorEx, CDBRecordDoesNotExistEx
String get_DAO (String curl) throws CDBXMLErrorEx, CDBRecordDoesNotExistEx
String list_nodes (String curl)
String list_daos (String name)
String configuration_name ()
void add_node (String curl, String xml) throws CDBExceptionEx, CDBXMLErrorEx, CDBRecordAlreadyExistsEx
void remove_node (String curl) throws CDBRecordIsReadOnlyEx, CDBRecordDoesNotExistEx
WDAO get_WDAO_Servant (String curl) throws CDBRecordIsReadOnlyEx, CDBXMLErrorEx, CDBRecordDoesNotExistEx
void set_DAO (String curl, String xml) throws CDBFieldDoesNotExistEx, CDBRecordIsReadOnlyEx, CDBExceptionEx, CDBXMLErrorEx, CDBRecordDoesNotExistEx
void saveChanges (String curl, Map propertyMap) throws CDBXMLErrorEx, CDBExceptionEx, CDBFieldDoesNotExistEx, CDBRecordDoesNotExistEx
void recoverClients ()
void shutdown ()
void loadListeners ()
boolean saveListeners ()
int add_change_listener (DALChangeListener listener)
void listen_for_changes (String curl, int listenerID)
void remove_change_listener (int listenerID)
void clear_cache (String curl)
void clear_cache_all ()

Protected Member Functions

boolean loadXMLCDB (String args[], ORB orb, POA poa, String configName)
Map< String, Object > getAlmaBranch ()
void bindToAlmaBranch (Map< String, Object > parentMap, String name, String path, Object objectToBind)
synchronized void initializeRootNode ()
String listNodes (String curl, boolean daosOnly)
void object_changed (String curl)
File getStorageFile ()
void cleanListenedCurls ()

Protected Attributes

String configName = null
int configId = -1
Configuration config = null
final HibernateUtil hibernateUtil
final HibernateDBUtil hibernateDBUtil
volatile Session mainSession = null
boolean loadXMLCDB = false
boolean createTables = false
boolean forceInMemory = false
String[] args
ORB orb
POA poa
final Logger m_logger
Object rootNode
SAXParser saxParser
LSParser parser
LSInput input
LSOutput output
DOMImplementationLS domImplementationLS
SchemaResourceResolverLoader schemaResourceResolverLoader
HibernateWDALPlugin plugin

Package Attributes

final int NULL_ID = 0
volatile boolean firstTime = true

Static Package Attributes

static final String TMCDB_CONFIGURATION_NAME_KEY = "TMCDB_CONFIGURATION_NAME"
static final String TMCDB_COMPONENT_TREE_NAME_KEY = "TMCDB_COMPONENT_TREE_NAME"
static final String COMPONENT_TREE_NAME = System.getProperty(TMCDB_COMPONENT_TREE_NAME_KEY, "alma")
static final boolean TMCDB_ACS_ONLY = Boolean.getBoolean("cdb_rdb.acsOnly")
static final String DUMMY_CONTAINER_FLAG = "dummy"

Private Member Functions

void initializeParser () throws RuntimeException
synchronized void reloadData ()
void load ()
Configuration resolveConfig (Session session, String configName)
final void checkAccess () throws NO_RESOURCES
void loadSchemas (Session session) throws Throwable
String getComponentXML (final JDAL xmlCDB, String componentName, String xml) throws CDBXMLErrorEx, DOMException, RuntimeException
LoggingConfig persistLoggingConfig (Session session, DAOOperations dao, boolean required) throws CDBFieldDoesNotExistEx, WrongCDBDataTypeEx
String[] getSubnodes (JDAL dal, String node) throws Throwable
String getAcsServices (Session session, Configuration config) throws Throwable
void checkforChanges (String name, XMLTreeNode node, Map map, DAOImpl dao) throws AcsJCDBFieldDoesNotExistEx, AcsJCDBXMLErrorEx
void parseXML (String xml, XMLHandler xmlSolver) throws CDBXMLErrorEx

Static Private Member Functions

static final String readString (DAOOperations dao, String name, String defaultValue)
static final String[] readStringSeq (DAOOperations dao, String name, String[] defaultValue)
static final int readLong (DAOOperations dao, String name, int defaultValue)
static final double readDouble (DAOOperations dao, String name, double defaultValue)
static final Double readDouble (DAOOperations dao, String name, Double defaultValue)
static final Float readFloat (DAOOperations dao, String name, Float defaultValue)
static final Double limitDouble (final Double value)
static final String nonEmptyString (final String value, final String defaultValue)
static final
alma.TMCDB.maci.Manager 
getDefaultMangerConfig ()
static final String getNormalizedPath (String path)

Private Attributes

HashMap daoMap = new HashMap()
HashMap wdaoMap = new HashMap()
HashMap< String, ArrayList
< Integer > > 
listenedCurls = new HashMap<String, ArrayList<Integer>>()
File listenersStorageFile = null
Random idPool = new Random()
HashMap< Integer,
DALChangeListener
regListeners = new HashMap<Integer, DALChangeListener>()
boolean recoveryRead = true
final AtomicBoolean loadInProgress = new AtomicBoolean(false)
String m_root = "CDB"

Detailed Description

WDAL implementation for hibernate w/ DOMJavaClassInspector.

Author:
msekoranja

Constructor & Destructor Documentation

com::cosylab::cdb::jdal::HibernateWDALImpl::HibernateWDALImpl ( String  args[],
ORB  orb,
POA  poa,
Logger  logger 
) [inline]

ctor that takes all command line args given to OracleServer

Parameters:
args 
orb_val 
poa_val 

References com::cosylab::cdb::jdal::hibernate::HibernateUtil::getInstance(), and com::cosylab::cdb::jdal::hibernate::HibernateDBUtil::setUp().


Member Function Documentation

int com::cosylab::cdb::jdal::HibernateWDALImpl::add_change_listener ( DALChangeListener  listener  )  [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::add_node ( String  curl,
String  xml 
) throws CDBExceptionEx, CDBXMLErrorEx, CDBRecordAlreadyExistsEx [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::bindNonExpandedComponentXMLToAlmaBranch ( Session  session,
Map< String, Object >  parentMap,
alma.TMCDB.maci.Component  component 
) [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::bindToAlmaBranch ( Map< String, Object >  parentMap,
String  name,
String  path,
Object  objectToBind 
) [inline, protected]
final void com::cosylab::cdb::jdal::HibernateWDALImpl::checkAccess (  )  throws NO_RESOURCES [inline, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::checkforChanges ( String  name,
XMLTreeNode  node,
Map  map,
DAOImpl  dao 
) throws AcsJCDBFieldDoesNotExistEx, AcsJCDBXMLErrorEx [inline, private]

Recursively scans nodes and check every property with current xml

Parameters:
name 
node 
map 
dao 
Exceptions:
AcsJCDBFieldDoesNotExistEx 
AcsJCDBXMLErrorEx 

References com::cosylab::cdb::jdal::XMLTreeNode::isMapNode(), and com::cosylab::cdb::jdal::XMLTreeNode::m_fieldMap.

void com::cosylab::cdb::jdal::HibernateWDALImpl::cleanListenedCurls (  )  [inline, protected]

Cleans listened curls from invalid listeners to avoid repeatedly calling invalid listeners

void com::cosylab::cdb::jdal::HibernateWDALImpl::clear_cache ( String  curl  )  [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::clear_cache_all (  )  [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::configuration_name (  )  [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::get_DAO ( String  curl  )  throws CDBXMLErrorEx, CDBRecordDoesNotExistEx [inline]
DAO com::cosylab::cdb::jdal::HibernateWDALImpl::get_DAO_Servant ( String  curl  )  throws CDBXMLErrorEx, CDBRecordDoesNotExistEx [inline]
WDAO com::cosylab::cdb::jdal::HibernateWDALImpl::get_WDAO_Servant ( String  curl  )  throws CDBRecordIsReadOnlyEx, CDBXMLErrorEx, CDBRecordDoesNotExistEx [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::getAcsServices ( Session  session,
Configuration  config 
) throws Throwable [inline, private]
Map<String, Object> com::cosylab::cdb::jdal::HibernateWDALImpl::getAlmaBranch (  )  [inline, protected]
Object com::cosylab::cdb::jdal::HibernateWDALImpl::getChannelsTableMap (  )  [inline]
Map<String, Object> com::cosylab::cdb::jdal::HibernateWDALImpl::getComponentsTableMap (  )  [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::getComponentXML ( final JDAL  xmlCDB,
String  componentName,
String  xml 
) throws CDBXMLErrorEx, DOMException, RuntimeException [inline, private]
Parameters:
xmlCDB 
componentName 
xml 
Returns:
XML string, or null, but not an empty string.
Exceptions:
CDBXMLErrorEx 
DOMException 
RuntimeException 
Map<String, Object> com::cosylab::cdb::jdal::HibernateWDALImpl::getContainersTableMap (  )  [inline]
static final alma.TMCDB.maci.Manager com::cosylab::cdb::jdal::HibernateWDALImpl::getDefaultMangerConfig (  )  [inline, static, private]
List com::cosylab::cdb::jdal::HibernateWDALImpl::getListForConfiguration ( Session  session,
Class  type 
) throws Throwable [inline]
static final String com::cosylab::cdb::jdal::HibernateWDALImpl::getNormalizedPath ( String  path  )  [inline, static, private]
File com::cosylab::cdb::jdal::HibernateWDALImpl::getStorageFile (  )  [inline, protected]
Returns:
File
String [] com::cosylab::cdb::jdal::HibernateWDALImpl::getSubnodes ( JDAL  dal,
String  node 
) throws Throwable [inline, private]

Helper method to get all subnodes of the current proxy, removes ".xml" element from the list.

String [] com::cosylab::cdb::jdal::HibernateWDALImpl::getSubNodes ( DAL  dal,
String  subnode 
) throws Throwable [inline]
Map<String, Object> com::cosylab::cdb::jdal::HibernateWDALImpl::getTableMap ( Session  session,
String  keyField,
Class  type 
) [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::initializeParser (  )  throws RuntimeException [inline, private]
synchronized void com::cosylab::cdb::jdal::HibernateWDALImpl::initializeRootNode (  )  [inline, protected]
static final Double com::cosylab::cdb::jdal::HibernateWDALImpl::limitDouble ( final Double  value  )  [inline, static, private]
String com::cosylab::cdb::jdal::HibernateWDALImpl::list_daos ( String  name  )  [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::list_nodes ( String  curl  )  [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::listen_for_changes ( String  curl,
int  listenerID 
) [inline]
String com::cosylab::cdb::jdal::HibernateWDALImpl::listNodes ( String  curl,
boolean  daosOnly 
) [inline, protected]
void com::cosylab::cdb::jdal::HibernateWDALImpl::load (  )  [inline, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::loadListeners (  )  [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::loadSchemas ( Session  session  )  throws Throwable [inline, private]
boolean com::cosylab::cdb::jdal::HibernateWDALImpl::loadXMLCDB ( String  args[],
ORB  orb,
POA  poa,
String  configName 
) [inline, protected]
static final String com::cosylab::cdb::jdal::HibernateWDALImpl::nonEmptyString ( final String  value,
final String  defaultValue 
) [inline, static, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::object_changed ( String  curl  )  [inline, protected]
Parameters:
curl 

References com::cosylab::CDB::DAOOperations::destroy().

void com::cosylab::cdb::jdal::HibernateWDALImpl::parseXML ( String  xml,
XMLHandler  xmlSolver 
) throws CDBXMLErrorEx [inline, private]
LoggingConfig com::cosylab::cdb::jdal::HibernateWDALImpl::persistLoggingConfig ( Session  session,
DAOOperations  dao,
boolean  required 
) throws CDBFieldDoesNotExistEx, WrongCDBDataTypeEx [inline, private]
static final Double com::cosylab::cdb::jdal::HibernateWDALImpl::readDouble ( DAOOperations  dao,
String  name,
Double  defaultValue 
) [inline, static, private]
static final double com::cosylab::cdb::jdal::HibernateWDALImpl::readDouble ( DAOOperations  dao,
String  name,
double  defaultValue 
) [inline, static, private]
static final Float com::cosylab::cdb::jdal::HibernateWDALImpl::readFloat ( DAOOperations  dao,
String  name,
Float  defaultValue 
) [inline, static, private]
static final int com::cosylab::cdb::jdal::HibernateWDALImpl::readLong ( DAOOperations  dao,
String  name,
int  defaultValue 
) [inline, static, private]
static final String com::cosylab::cdb::jdal::HibernateWDALImpl::readString ( DAOOperations  dao,
String  name,
String  defaultValue 
) [inline, static, private]
static final String [] com::cosylab::cdb::jdal::HibernateWDALImpl::readStringSeq ( DAOOperations  dao,
String  name,
String[]  defaultValue 
) [inline, static, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::recoverClients (  )  [inline]

Recovery related implementation. Load list of listeners from the recovery file and notifies them to clear cache. NOTICE: This method should be called when DAL POA is alrady initialized and active. NOTE: Method execution depends on recoveryRead variable.

Implements com::cosylab::cdb::jdal::Recoverer.

synchronized void com::cosylab::cdb::jdal::HibernateWDALImpl::reloadData (  )  [inline, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::remove_change_listener ( int  listenerID  )  [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::remove_node ( String  curl  )  throws CDBRecordIsReadOnlyEx, CDBRecordDoesNotExistEx [inline]
Configuration com::cosylab::cdb::jdal::HibernateWDALImpl::resolveConfig ( Session  session,
String  configName 
) [inline, private]
void com::cosylab::cdb::jdal::HibernateWDALImpl::saveChanges ( String  curl,
Map  propertyMap 
) throws CDBXMLErrorEx, CDBExceptionEx, CDBFieldDoesNotExistEx, CDBRecordDoesNotExistEx [inline]
boolean com::cosylab::cdb::jdal::HibernateWDALImpl::saveListeners (  )  [inline]
Returns:
boolean
void com::cosylab::cdb::jdal::HibernateWDALImpl::set_DAO ( String  curl,
String  xml 
) throws CDBFieldDoesNotExistEx, CDBRecordIsReadOnlyEx, CDBExceptionEx, CDBXMLErrorEx, CDBRecordDoesNotExistEx [inline]
void com::cosylab::cdb::jdal::HibernateWDALImpl::shutdown (  )  [inline]

Member Data Documentation

final String com::cosylab::cdb::jdal::HibernateWDALImpl::COMPONENT_TREE_NAME = System.getProperty(TMCDB_COMPONENT_TREE_NAME_KEY, "alma") [static, package]
Configuration com::cosylab::cdb::jdal::HibernateWDALImpl::config = null [protected]
HashMap com::cosylab::cdb::jdal::HibernateWDALImpl::daoMap = new HashMap() [private]
final String com::cosylab::cdb::jdal::HibernateWDALImpl::DUMMY_CONTAINER_FLAG = "dummy" [static, package]
volatile boolean com::cosylab::cdb::jdal::HibernateWDALImpl::firstTime = true [package]
Random com::cosylab::cdb::jdal::HibernateWDALImpl::idPool = new Random() [private]
HashMap<String, ArrayList<Integer> > com::cosylab::cdb::jdal::HibernateWDALImpl::listenedCurls = new HashMap<String, ArrayList<Integer>>() [private]
final AtomicBoolean com::cosylab::cdb::jdal::HibernateWDALImpl::loadInProgress = new AtomicBoolean(false) [private]
volatile Session com::cosylab::cdb::jdal::HibernateWDALImpl::mainSession = null [protected]
final boolean com::cosylab::cdb::jdal::HibernateWDALImpl::TMCDB_ACS_ONLY = Boolean.getBoolean("cdb_rdb.acsOnly") [static, package]
final String com::cosylab::cdb::jdal::HibernateWDALImpl::TMCDB_COMPONENT_TREE_NAME_KEY = "TMCDB_COMPONENT_TREE_NAME" [static, package]
final String com::cosylab::cdb::jdal::HibernateWDALImpl::TMCDB_CONFIGURATION_NAME_KEY = "TMCDB_CONFIGURATION_NAME" [static, package]
HashMap com::cosylab::cdb::jdal::HibernateWDALImpl::wdaoMap = new HashMap() [private]

The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2