![]() |
The Gaudi Framework
v27r0
|
This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi. More...
#include <src/component/MultiFileCatalog.h>
Public Types | |
typedef Service::Factory | Factory |
![]() | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
![]() | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... More... | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... More... | |
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... | |
![]() | |
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... | |
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... | |
![]() | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
~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 |
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 (Property &) |
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... | |
CatalogNames | m_catalogNames = { { "xmlcatalog_file:test_catalog.xml" } } |
Property : Container with catalog names. More... | |
bool | m_started = false |
Flag to indicate if catalog is started. More... | |
CatalogNames | m_oldNames |
BACKUP:: Container with catalog names. 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 20 of file MultiFileCatalog.h.
|
protected |
Definition at line 29 of file MultiFileCatalog.h.
|
protected |
Definition at line 28 of file MultiFileCatalog.h.
|
protected |
Definition at line 27 of file MultiFileCatalog.h.
typedef Service::Factory Gaudi::MultiFileCatalog::Factory |
Definition at line 24 of file MultiFileCatalog.h.
MultiFileCatalog::MultiFileCatalog | ( | const std::string & | nam, |
ISvcLocator * | svc | ||
) |
Create a catalog file, initialization of XercesC.
Definition at line 24 of file MultiFileCatalog.cpp.
|
overridedefault |
Destructor,.
|
inlineprotected |
Definition at line 39 of file MultiFileCatalog.h.
|
inlineprotected |
Definition at line 47 of file MultiFileCatalog.h.
|
inlineprotected |
Definition at line 31 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 119 of file MultiFileCatalog.cpp.
|
override |
Add new catalog identified by reference to the existing ones.
Definition at line 155 of file MultiFileCatalog.cpp.
|
inlineoverride |
Access catalog container.
Definition at line 144 of file MultiFileCatalog.h.
|
inlineoverride |
Access catalog container (CONST)
Definition at line 146 of file MultiFileCatalog.h.
|
override |
Save DOM catalog to file.
Definition at line 246 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 108 of file MultiFileCatalog.h.
|
override |
Check if the catalog should be updated.
Definition at line 238 of file MultiFileCatalog.cpp.
|
inlineoverride |
Drop all metadata of one FID.
Definition at line 126 of file MultiFileCatalog.h.
Drop specified metadata item.
Definition at line 129 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of a FileID.
Definition at line 95 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of a logical file name.
Definition at line 89 of file MultiFileCatalog.h.
|
inlineoverride |
Return the status of physical file name.
Definition at line 83 of file MultiFileCatalog.h.
|
override |
Finalize service object.
Definition at line 51 of file MultiFileCatalog.cpp.
|
override |
Catalog management.
Find catalog by connect string
Definition at line 89 of file MultiFileCatalog.cpp.
|
private |
Find catalog containing a given file identifier.
Definition at line 69 of file MultiFileCatalog.cpp.
|
inlineoverride |
Dump all file Identifiers.
Definition at line 105 of file MultiFileCatalog.h.
|
inlineoverride |
Dump all logical file names of the catalog associate to the FileID.
Definition at line 101 of file MultiFileCatalog.h.
|
inlineoverride |
Dump all MetaData of the catalog for a given file ID.
Definition at line 118 of file MultiFileCatalog.h.
Access metadata item.
Definition at line 212 of file MultiFileCatalog.cpp.
|
inlineoverride |
Dump all physical file names of the catalog and their attributes associate to the FileID.
Definition at line 98 of file MultiFileCatalog.h.
|
private |
Find catalog by connect string.
Definition at line 99 of file MultiFileCatalog.cpp.
|
override |
Parse the DOM tree of the XML catalog.
Definition at line 243 of file MultiFileCatalog.cpp.
|
override |
IService implementation.
Finalize service object
Definition at line 31 of file MultiFileCatalog.cpp.
|
private |
|
inlineoverride |
Lookup file identifier by logical file name.
Definition at line 92 of file MultiFileCatalog.h.
|
inlineoverride |
Lookup file identifier by physical file name.
Definition at line 86 of file MultiFileCatalog.h.
|
private |
Definition at line 110 of file MultiFileCatalog.cpp.
|
private |
simple property handle to allow interactive modification of list of the file catalogs
Definition at line 252 of file MultiFileCatalog.cpp.
|
override |
Check if the catalog is read-only.
Definition at line 233 of file MultiFileCatalog.cpp.
|
inlineoverride |
Create a FileID and DOM Node.
Definition at line 115 of file MultiFileCatalog.h.
Create a FileID and DOM Node of the LFN with all the attributes.
Definition at line 227 of file MultiFileCatalog.cpp.
Create a FileID and DOM Node of the PFN with all the attributes.
Definition at line 221 of file MultiFileCatalog.cpp.
|
override |
Remove catalog identified by name from the existing ones.
Definition at line 164 of file MultiFileCatalog.cpp.
|
override |
Remove catalog identified by reference from the existing ones.
Definition at line 173 of file MultiFileCatalog.cpp.
|
override |
Save DOM catalog to file.
Definition at line 249 of file MultiFileCatalog.cpp.
Insert/update metadata item.
Definition at line 123 of file MultiFileCatalog.h.
|
override |
Define the writable catalog identified by reference.
Definition at line 186 of file MultiFileCatalog.cpp.
|
override |
Define the writable catalog identified by name.
Definition at line 202 of file MultiFileCatalog.cpp.
|
inlineoverride |
Access to the (first) writable file catalog.
Definition at line 148 of file MultiFileCatalog.h.
|
private |
Property : Container with catalog names.
Definition at line 171 of file MultiFileCatalog.h.
|
private |
Container with references to known catalogs.
Definition at line 169 of file MultiFileCatalog.h.
|
private |
BACKUP:: Container with catalog names.
Definition at line 175 of file MultiFileCatalog.h.
|
private |
Flag to indicate if catalog is started.
Definition at line 173 of file MultiFileCatalog.h.