The Gaudi Framework
v29r0 (ff2e7097)
|
This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi. More...
#include <src/component/MultiFileCatalog.h>
Public Member Functions | |
MultiFileCatalog (const std::string &nam, ISvcLocator *svc) | |
Create a catalog file, initialization of XercesC. More... | |
~MultiFileCatalog () override=default | |
Destructor,. More... | |
StatusCode | initialize () override |
IService implementation. More... | |
StatusCode | finalize () override |
Finalize service object. More... | |
std::string | createFID () const override |
Catalog interface. More... | |
CSTR | connectInfo () const override |
Access to connect string. More... | |
void | init () override |
Parse the DOM tree of the XML catalog. More... | |
void | commit () override |
Save DOM catalog to file. More... | |
void | rollback () override |
Save DOM catalog to file. More... | |
bool | readOnly () const override |
Check if the catalog is read-only. More... | |
bool | dirty () const override |
Check if the catalog should be updated. More... | |
bool | existsPFN (CSTR pfn) const override |
Return the status of physical file name. More... | |
std::string | lookupPFN (CSTR pfn) const override |
Lookup file identifier by physical file name. More... | |
bool | existsLFN (CSTR lfn) const override |
Return the status of a logical file name. More... | |
std::string | lookupLFN (CSTR lfn) const override |
Lookup file identifier by logical file name. More... | |
bool | existsFID (CSTR fid) const override |
Return the status of a FileID. More... | |
void | getPFN (CSTR fid, Files &files) const override |
Dump all physical file names of the catalog and their attributes associate to the FileID. More... | |
void | getLFN (CSTR fid, Files &files) const override |
Dump all logical file names of the catalog associate to the FileID. More... | |
void | getFID (Strings &fids) const override |
Dump all file Identifiers. More... | |
void | deleteFID (CSTR fid) const override |
Delete FileID from the catalog. More... | |
void | registerPFN (CSTR fid, CSTR pfn, CSTR ftype) const override |
Create a FileID and DOM Node of the PFN with all the attributes. More... | |
void | registerLFN (CSTR fid, CSTR lfn) const override |
Create a FileID and DOM Node of the LFN with all the attributes. More... | |
void | registerFID (CSTR fid) const override |
Create a FileID and DOM Node. More... | |
void | getMetaData (CSTR fid, Attributes &attr) const override |
Dump all MetaData of the catalog for a given file ID. More... | |
std::string | getMetaDataItem (CSTR fid, CSTR name) const override |
Access metadata item. More... | |
void | setMetaData (CSTR fid, CSTR attr, CSTR val) const override |
Insert/update metadata item. More... | |
void | dropMetaData (CSTR fid) const override |
Drop all metadata of one FID. More... | |
void | dropMetaData (CSTR fid, CSTR attr) const override |
Drop specified metadata item. More... | |
IFileCatalog * | findCatalog (CSTR connect, bool must_be_writable) const override |
Catalog management. More... | |
void | addCatalog (CSTR connect) override |
Add new catalog identified by name to the existing ones. More... | |
void | addCatalog (IFileCatalog *cat) override |
Add new catalog identified by reference to the existing ones. More... | |
void | removeCatalog (CSTR connect) override |
Remove catalog identified by name from the existing ones. More... | |
void | removeCatalog (const IFileCatalog *cat) override |
Remove catalog identified by reference from the existing ones. More... | |
Catalogs & | catalogs () override |
Access catalog container. More... | |
const Catalogs & | catalogs () const override |
Access catalog container (CONST) More... | |
IFileCatalog * | writeCatalog (CSTR fid="") const override |
Access to the (first) writable file catalog. More... | |
void | setWriteCatalog (IFileCatalog *cat) override |
Define the writable catalog identified by reference. More... | |
void | setWriteCatalog (CSTR connect) override |
Define the writable catalog identified by name. More... | |
Public Member Functions inherited from extends< Service, IFileCatalog, IFileCatalogMgr > | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
~extends () override=default | |
Virtual destructor. More... | |
Public Member Functions inherited from Service | |
const std::string & | name () const override |
Retrieve name of the service. More... | |
StatusCode | configure () override |
StatusCode | initialize () override |
StatusCode | start () override |
StatusCode | stop () override |
StatusCode | finalize () override |
StatusCode | terminate () override |
Gaudi::StateMachine::State | FSMState () const override |
Gaudi::StateMachine::State | targetFSMState () const override |
StatusCode | reinitialize () override |
StatusCode | restart () override |
StatusCode | sysInitialize () override |
Initialize Service. More... | |
StatusCode | sysStart () override |
Initialize Service. More... | |
StatusCode | sysStop () override |
Initialize Service. More... | |
StatusCode | sysFinalize () override |
Finalize Service. More... | |
StatusCode | sysReinitialize () override |
Re-initialize the Service. More... | |
StatusCode | sysRestart () override |
Re-initialize the Service. More... | |
Service (std::string name, ISvcLocator *svcloc) | |
Standard Constructor. More... | |
SmartIF< ISvcLocator > & | serviceLocator () const override |
Retrieve pointer to service locator. More... | |
StatusCode | setProperties () |
Method for setting declared properties to the values specified for the job. More... | |
template<class T > | |
StatusCode | service (const std::string &name, const T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const |
template<typename IFace = IService> | |
SmartIF< IFace > | service (const std::string &name, bool createIf=true) const |
template<class T > | |
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
Declare used tool. More... | |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
Public Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > > | |
PropertyHolder ()=default | |
~PropertyHolder () override=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override |
set the property form another property More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const std::string &n, const std::string &v) override |
set the property from name and the value More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override |
get the property by name More... | |
StatusCode | getProperty (const std::string &n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (const std::string &name) const override |
Return true if we have a property with the given name. More... | |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none") |
Specializations for various GaudiHandles. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none") |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none") |
Public Member Functions inherited from CommonMessagingBase | |
virtual | ~CommonMessagingBase ()=default |
Virtual destructor. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
MsgStream & | msgStream () const |
Return an uninitialized MsgStream. More... | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. More... | |
MsgStream & | always () const |
shortcut for the method msgStream(MSG::ALWAYS) More... | |
MsgStream & | fatal () const |
shortcut for the method msgStream(MSG::FATAL) More... | |
MsgStream & | err () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | error () const |
shortcut for the method msgStream(MSG::ERROR) More... | |
MsgStream & | warning () const |
shortcut for the method msgStream(MSG::WARNING) More... | |
MsgStream & | info () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MsgStream & | debug () const |
shortcut for the method msgStream(MSG::DEBUG) More... | |
MsgStream & | verbose () const |
shortcut for the method msgStream(MSG::VERBOSE) More... | |
MsgStream & | msg () const |
shortcut for the method msgStream(MSG::INFO) More... | |
MSG::Level | msgLevel () const |
get the output level from the embedded MsgStream More... | |
MSG::Level | outputLevel () const __attribute__((deprecated)) |
Backward compatibility function for getting the output level. More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
Public Member Functions inherited from extend_interfaces< Interfaces... > | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
Protected Types | |
typedef const std::string & | CSTR |
typedef std::vector< IFileCatalog * > | Catalogs |
typedef std::vector< std::string > | CatalogNames |
Protected Member Functions | |
template<class A1 , class F > | |
std::string | _find (A1 &arg1, F pmf) const |
template<class A1 , class F > | |
void | _collect (A1 &arg1, F f) const |
template<class A2 , class A1 , class F > | |
void | _collect (const A2 &arg2, A1 &arg1, F f) const |
Protected Member Functions inherited from Service | |
~Service () override | |
Standard Destructor. More... | |
int | outputLevel () const |
get the Service's output level More... | |
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IService, IProperty, IStateful > > > | |
Gaudi::Details::PropertyBase * | property (const std::string &name) const |
Protected Member Functions inherited from CommonMessaging< implements< IService, IProperty, IStateful > > | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
Private Member Functions | |
IFileCatalog * | getCatalog (CSTR fid, bool throw_if_not, bool writable=true, bool prt=true) const |
Find catalog containing a given file identifier. More... | |
Catalogs::iterator | i_findCatalog (CSTR connect, bool must_be_writable) |
Find catalog by connect string. More... | |
void | propHandler (Details::PropertyBase &) |
simple property handle to allow interactive modification of list of the file catalogs More... | |
void | printError (CSTR msg, bool throw_exc=true) const |
std::string | lookupFID (CSTR lfn) const |
Private Attributes | |
Catalogs | m_catalogs |
Container with references to known catalogs. More... | |
Gaudi::Property< CatalogNames > | m_catalogNames |
bool | m_started = false |
Flag to indicate if catalog is started. More... | |
CatalogNames | m_oldNames |
BACKUP:: Container with catalog names. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Service | |
Gaudi::StateMachine::State | m_state = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::StateMachine::State | m_targetState = Gaudi::StateMachine::OFFLINE |
Service state. More... | |
Gaudi::Property< int > | m_outputLevel {this, "OutputLevel", MSG::NIL, "output level"} |
Gaudi::Property< bool > | m_auditInit {this, "AuditServices", false, "[[deprecated]] unused"} |
Gaudi::Property< bool > | m_auditorInitialize {this, "AuditInitialize", false, "trigger auditor on initialize()"} |
Gaudi::Property< bool > | m_auditorStart {this, "AuditStart", false, "trigger auditor on start()"} |
Gaudi::Property< bool > | m_auditorStop {this, "AuditStop", false, "trigger auditor on stop()"} |
Gaudi::Property< bool > | m_auditorFinalize {this, "AuditFinalize", false, "trigger auditor on finalize()"} |
Gaudi::Property< bool > | m_auditorReinitialize {this, "AuditReinitialize", false, "trigger auditor on reinitialize()"} |
Gaudi::Property< bool > | m_auditorRestart {this, "AuditRestart", false, "trigger auditor on restart()"} |
SmartIF< IAuditorSvc > | m_pAuditorSvc |
Auditor Service. More... | |
This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi.
This class manages multiple file catalogs.
Definition at line 21 of file MultiFileCatalog.h.
|
protected |
Definition at line 30 of file MultiFileCatalog.h.
|
protected |
Definition at line 29 of file MultiFileCatalog.h.
|
protected |
Definition at line 28 of file MultiFileCatalog.h.
typedef Service::Factory Gaudi::MultiFileCatalog::Factory |
Definition at line 25 of file MultiFileCatalog.h.
MultiFileCatalog::MultiFileCatalog | ( | const std::string & | nam, |
ISvcLocator * | svc | ||
) |
Create a catalog file, initialization of XercesC.
Definition at line 25 of file MultiFileCatalog.cpp.
|
overridedefault |
Destructor,.
|
inlineprotected |
Definition at line 43 of file MultiFileCatalog.h.
|
inlineprotected |
Definition at line 53 of file MultiFileCatalog.h.
|
inlineprotected |
Definition at line 33 of file MultiFileCatalog.h.
|
override |
Add new catalog identified by name to the existing ones.
Catalog is already present ... silently ignore request
Definition at line 108 of file MultiFileCatalog.cpp.
|
override |
Add new catalog identified by reference to the existing ones.
Definition at line 143 of file MultiFileCatalog.cpp.
|
inlineoverride |
Access catalog container.
Definition at line 150 of file MultiFileCatalog.h.
|
inlineoverride |
Access catalog container (CONST)
Definition at line 152 of file MultiFileCatalog.h.
|
override |
Save DOM catalog to file.
Definition at line 247 of file MultiFileCatalog.cpp.
|
override |
|
override |
Catalog interface.
Create file identifier using UUID mechanism.
Create file identifier using UUID mechanism
Definition at line 60 of file MultiFileCatalog.cpp.
|
inlineoverride |
Delete FileID from the catalog.
Definition at line 114 of file MultiFileCatalog.h.
|
override |
Check if the catalog should be updated.
Definition at line 235 of file MultiFileCatalog.cpp.
|
inlineoverride |
Drop all metadata of one FID.
Definition at line 134 of file MultiFileCatalog.h.
Drop specified metadata item.
Definition at line 136 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of a FileID.
Definition at line 99 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of a logical file name.
Definition at line 95 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of physical file name.
Definition at line 91 of file MultiFileCatalog.h.
|
override |
Finalize service object.
Definition at line 50 of file MultiFileCatalog.cpp.
|
override |
Catalog management.
Find catalog by connect string
Definition at line 82 of file MultiFileCatalog.cpp.
|
private |
Find catalog containing a given file identifier.
Definition at line 68 of file MultiFileCatalog.cpp.
|
inlineoverride |
Dump all file Identifiers.
Definition at line 112 of file MultiFileCatalog.h.
|
inlineoverride |
Dump all logical file names of the catalog associate to the FileID.
Definition at line 106 of file MultiFileCatalog.h.
|
inlineoverride |
Dump all MetaData of the catalog for a given file ID.
Definition at line 122 of file MultiFileCatalog.h.
Access metadata item.
Definition at line 205 of file MultiFileCatalog.cpp.
|
inlineoverride |
Dump all physical file names of the catalog and their attributes associate to the FileID.
Definition at line 101 of file MultiFileCatalog.h.
|
private |
Find catalog by connect string.
Definition at line 89 of file MultiFileCatalog.cpp.
|
override |
Parse the DOM tree of the XML catalog.
Definition at line 241 of file MultiFileCatalog.cpp.
|
override |
IService implementation.
Finalize service object
Definition at line 30 of file MultiFileCatalog.cpp.
|
private |
|
inlineoverride |
Lookup file identifier by logical file name.
Definition at line 97 of file MultiFileCatalog.h.
|
inlineoverride |
Lookup file identifier by physical file name.
Definition at line 93 of file MultiFileCatalog.h.
|
private |
Definition at line 99 of file MultiFileCatalog.cpp.
|
private |
simple property handle to allow interactive modification of list of the file catalogs
Definition at line 257 of file MultiFileCatalog.cpp.
|
override |
Check if the catalog is read-only.
Definition at line 229 of file MultiFileCatalog.cpp.
|
inlineoverride |
Create a FileID and DOM Node.
Definition at line 120 of file MultiFileCatalog.h.
Create a FileID and DOM Node of the LFN with all the attributes.
Definition at line 222 of file MultiFileCatalog.cpp.
Create a FileID and DOM Node of the PFN with all the attributes.
Definition at line 215 of file MultiFileCatalog.cpp.
|
override |
Remove catalog identified by name from the existing ones.
Definition at line 153 of file MultiFileCatalog.cpp.
|
override |
Remove catalog identified by reference from the existing ones.
Definition at line 163 of file MultiFileCatalog.cpp.
|
override |
Save DOM catalog to file.
Definition at line 252 of file MultiFileCatalog.cpp.
Insert/update metadata item.
Definition at line 129 of file MultiFileCatalog.h.
|
override |
Define the writable catalog identified by reference.
Definition at line 177 of file MultiFileCatalog.cpp.
|
override |
Define the writable catalog identified by name.
Definition at line 194 of file MultiFileCatalog.cpp.
|
inlineoverride |
Access to the (first) writable file catalog.
Definition at line 154 of file MultiFileCatalog.h.
|
private |
Definition at line 176 of file MultiFileCatalog.h.
|
private |
Container with references to known catalogs.
Definition at line 174 of file MultiFileCatalog.h.
|
private |
BACKUP:: Container with catalog names.
Definition at line 182 of file MultiFileCatalog.h.
|
private |
Flag to indicate if catalog is started.
Definition at line 180 of file MultiFileCatalog.h.