otsdaq  v1_01_04
 All Classes Namespaces Functions
DatabaseConfigurationInterface_Impl.cc
1 #include "otsdaq-core/ConfigurationInterface/DatabaseConfigurationInterface.h"
2 
3 #include <algorithm>
4 #include <iterator>
5 
6 #include "otsdaq-core/ConfigurationInterface/ConfigurationInterface.h"
7 
8 //#include "ConfigurationInterface.h"
9 #include "artdaq-database/ConfigurationDB/configurationdbifc.h"
10 
11 #include "artdaq-database/BasicTypes/basictypes.h"
12 using artdaq::database::basictypes::FhiclData;
13 using artdaq::database::basictypes::JsonData;
14 
15 namespace artdaq {
16 namespace database {
17 namespace configuration {
18 
20 
21 template <>
22 template <>
23 bool MakeSerializable<ConfigurationBase const*>::writeDocumentImpl<JsonData>(JsonData& data) const {
24  std::stringstream ss;
25 
26  _conf->getView().printJSON(ss);
27  //std::cout << "!!!!!\n" << ss.str() << std::endl; //for debugging
28  data.json_buffer = ss.str();
29 
30  return true;
31 }
32 
33 template <>
34 std::string MakeSerializable<ConfigurationBase const*>::configurationNameImpl() const {
35 
36  return _conf->getConfigurationName();
37 }
38 
39 template <>
40 template <>
41 bool MakeSerializable<ConfigurationBase*>::readDocumentImpl<JsonData>(JsonData const& data) {
42  int retVal = _conf->getViewP()->fillFromJSON(data.json_buffer);
43 
44  return (retVal >= 0);
45 }
46 
47 template <>
48 std::string MakeSerializable<ConfigurationBase*>::configurationNameImpl() const {
49  return _conf->getConfigurationName();
50 }
51 
52 } // namespace configuration
53 } // namespace database
54 } // namespace artdaq
55