diff --git a/Database/APR/XMLCatalog/CMakeLists.txt b/Database/APR/XMLCatalog/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b3affecab7ba3f4ed4fec1dcdd1609c84c70707 --- /dev/null +++ b/Database/APR/XMLCatalog/CMakeLists.txt @@ -0,0 +1,30 @@ +################################################################################ +# Package: XMLCatalog +################################################################################ + +# Declare the package name: +atlas_subdir( XMLCatalog ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + Database/APR/FileCatalog + GaudiKernel + PRIVATE + Database/PersistentDataModel + TestPolicy ) + +# External dependencies: +find_package( CORAL COMPONENTS CoralBase CoralKernel RelationalAccess ) +find_package( CppUnit ) +find_package( XercesC ) + +# Component(s) in the package: +atlas_add_library( XMLCatalog + src/*.cpp + PUBLIC_HEADERS XMLCatalog + PRIVATE_INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS} ${CORAL_INCLUDE_DIRS} + LINK_LIBRARIES FileCatalog GaudiKernel + PRIVATE_LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CPPUNIT_LIBRARIES} ${CORAL_LIBRARIES} PersistentDataModel ) + +# Component list generation: +atlas_generate_componentslist( XMLCatalog ) diff --git a/Database/APR/XMLCatalog/XMLCatalog/XMLFileCatalog.h b/Database/APR/XMLCatalog/XMLCatalog/XMLFileCatalog.h index 7d79a8cc5f7b9e91102286a98003d9d99e57a303..b98f7d76f4c1ed626883a2b6aa10c14476ef0a8b 100755 --- a/Database/APR/XMLCatalog/XMLCatalog/XMLFileCatalog.h +++ b/Database/APR/XMLCatalog/XMLCatalog/XMLFileCatalog.h @@ -10,6 +10,7 @@ #ifdef HAVE_GAUDI_PLUGINSVC #include "Gaudi/PluginService.h" #endif +#include "GAUDI_VERSION.h" namespace pool { @@ -26,7 +27,11 @@ class XMLMetaDataCatalog; class XMLFileCatalog: public FCImpl{ public: #ifdef HAVE_GAUDI_PLUGINSVC -typedef Gaudi::PluginService::Factory0<FCImpl*> Factory; + #if GAUDI_VERSION > CALC_GAUDI_VERSION(25, 3) + typedef Gaudi::PluginService::Factory<FCImpl*> Factory; + #else + typedef Gaudi::PluginService::Factory0<FCImpl*> Factory; + #endif #endif /**Default constructor. */ diff --git a/Database/APR/XMLCatalog/XMLCatalog/XMLMetaDataCatalog.h b/Database/APR/XMLCatalog/XMLCatalog/XMLMetaDataCatalog.h index 357c72f1799c47d6b099ff70b4e8ef47016c54c6..0513bb55d21153812380a46f069621c530565bd0 100755 --- a/Database/APR/XMLCatalog/XMLCatalog/XMLMetaDataCatalog.h +++ b/Database/APR/XMLCatalog/XMLCatalog/XMLMetaDataCatalog.h @@ -10,6 +10,7 @@ #ifdef HAVE_GAUDI_PLUGINSVC #include "Gaudi/PluginService.h" #endif +#include "GAUDI_VERSION.h" namespace pool { class FCImpl; @@ -19,7 +20,11 @@ class XMLFileCatalog; class XMLMetaDataCatalog: public FCMetaImpl{ public: #ifdef HAVE_GAUDI_PLUGINSVC -typedef Gaudi::PluginService::Factory1<FCMetaImpl*, FCImpl*> Factory; + #if GAUDI_VERSION > CALC_GAUDI_VERSION(25, 3) + typedef Gaudi::PluginService::Factory<FCMetaImpl*, FCImpl*> Factory; + #else + typedef Gaudi::PluginService::Factory1<FCMetaImpl*, FCImpl*> Factory; + #endif #endif /// Defsult Constructor diff --git a/Database/APR/XMLCatalog/src/DTDRedirect.cpp b/Database/APR/XMLCatalog/src/DTDRedirect.cpp index d9f7a3251fb055a39553c502827134d3a3e0bd73..1f866285743860bea7e402387f6108972b1f713f 100755 --- a/Database/APR/XMLCatalog/src/DTDRedirect.cpp +++ b/Database/APR/XMLCatalog/src/DTDRedirect.cpp @@ -13,6 +13,8 @@ #include <string> #include <iostream> +using namespace xercesc; + static const char* inmemdtd = "\ <!ELEMENT POOLFILECATALOG (META*,File*)>\ <!ELEMENT META EMPTY>\ diff --git a/Database/APR/XMLCatalog/src/DTDRedirect.h b/Database/APR/XMLCatalog/src/DTDRedirect.h index 366d0e5779b4cb11ca291e226e015d53803b85b7..9c4b9f343b1bf21e3fe439a06dbc856a8ce22de7 100755 --- a/Database/APR/XMLCatalog/src/DTDRedirect.h +++ b/Database/APR/XMLCatalog/src/DTDRedirect.h @@ -8,14 +8,14 @@ #include "xercesc/sax/EntityResolver.hpp" #include "xercesc/sax/InputSource.hpp" -using namespace xercesc; +//using namespace xercesc; -class DTDRedirect : public EntityResolver +class DTDRedirect : public xercesc::EntityResolver { public: DTDRedirect() {} ~DTDRedirect() {} - InputSource* resolveEntity + xercesc::InputSource* resolveEntity ( const XMLCh* const publicId , const XMLCh* const systemId diff --git a/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.cpp b/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.cpp index 5421269621992d1d963bba34934c3dc8eaa3ea0a..362e0f83d79ce30fca28bc865c982ba9559c2ea3 100755 --- a/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.cpp +++ b/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.cpp @@ -21,6 +21,8 @@ #include <fstream> #include <stdexcept> +using namespace xercesc; + const std::string pool::PoolXMLFileCatalog::MainNode = "POOLFILECATALOG"; const std::string pool::PoolXMLFileCatalog::METANode = "META"; @@ -1173,9 +1175,9 @@ pool::PoolXMLFileCatalog::getNode(const std::string& nodename, MyNode = mem_pfn[attrname]; if (!MyNode) { // back compatibility with POOL_1_3_3 - XMLCh* attr = pool::_toDOMS(attrname); - MyNode = doc->getElementById(attr); - XMLString::release(&attr); + XMLCh* attr2 = pool::_toDOMS(attrname); + MyNode = doc->getElementById(attr2); + XMLString::release(&attr2); } } } diff --git a/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.h b/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.h index aaba25777671b383b81e3421b68c29fc2cd2d37e..8cbeea93c560b7cafec8349acf14554fc3458646 100755 --- a/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.h +++ b/Database/APR/XMLCatalog/src/PoolXMLFileCatalog.h @@ -15,8 +15,6 @@ #include "xercesc/dom/DOMNode.hpp" #include <xercesc/parsers/XercesDOMParser.hpp> -using namespace xercesc; - namespace pool { @@ -257,6 +255,9 @@ namespace pool { std::string getfiletype(const std::string& pfn); private: + typedef xercesc::DOMNode DOMNode; + typedef xercesc::DOMDocument DOMDocument; + typedef xercesc::XercesDOMParser XercesDOMParser; DOMNode* getNode(const std::string & nodename, const std::string & attr, const std::string & attrname); diff --git a/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.cpp b/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.cpp index f8933e6ab480cbc45590dab8beabdb0bab1d7db7..528fca5551d69f670781ead5df286d1d91170e57 100755 --- a/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.cpp +++ b/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.cpp @@ -17,6 +17,8 @@ #include <string> #include <stdexcept> +using namespace xercesc; + // Global streaming operator for DOMString is defined in DOMPrint.cpp //extern ostream& operator<<(ostream& target, const DOMString& s); diff --git a/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.h b/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.h index 34ae01ef5ef38b18d2d766102ef41f796826210d..a2df7c646c603931f6709cb47cf745954efba84c 100755 --- a/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.h +++ b/Database/APR/XMLCatalog/src/XMLDOMErrorMessanger.h @@ -6,11 +6,11 @@ #include "xercesc/sax/ErrorHandler.hpp" #include <iostream> -using namespace xercesc; +//using namespace xercesc; namespace pool{ -class XMLDOMErrorMessanger : public ErrorHandler +class XMLDOMErrorMessanger : public xercesc::ErrorHandler { public: // ----------------------------------------------------------------------- @@ -26,9 +26,9 @@ public: // ----------------------------------------------------------------------- // Implementation of the error handler interface // ----------------------------------------------------------------------- - void warning(const SAXParseException& toCatch); - void error(const SAXParseException& toCatch); - void fatalError(const SAXParseException& toCatch); + void warning(const xercesc::SAXParseException& toCatch); + void error(const xercesc::SAXParseException& toCatch); + void fatalError(const xercesc::SAXParseException& toCatch); void resetErrors(); // -----------------------------------------------------------------------