otsdaq  v2_01_00
RawDataSaverConsumerConfiguration_configuration.cc
1 #include "otsdaq-core/ConfigurationPluginDataFormats/RawDataSaverConsumerConfiguration.h"
2 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
3 
4 #include <iostream>
5 
6 using namespace ots;
7 
8 //==============================================================================
9 RawDataSaverConsumerConfiguration::RawDataSaverConsumerConfiguration(void)
10 : ConfigurationBase("RawDataSaverConsumerConfiguration")
11 {
13  //WARNING: the names and the order MUST match the ones in the enum //
15  // <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
16  // <ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ConfigurationInfo.xsd">
17  // <CONFIGURATION Name="RawDataSaverConsumerConfiguration">
18  // <VIEW Name="RAW_DATA_SAVER_CONSUMER_CONFIGURATION" Type="File,Database,DatabaseTest">
19  // <COLUMN Name="ProcessorID" StorageName="PROCESSOR_ID" DataType="VARCHAR2"/>
20  // <COLUMN Name="FilePath" StorageName="FILE_PATH" DataType="VARCHAR2"/>
21  // <COLUMN Name="RadixFileName" StorageName="RADIX_FILE_NAME" DataType="VARCHAR2"/>
22  // </VIEW>
23  // </CONFIGURATION>
24  // </ROOT>
25 
26 
27 }
28 
29 //==============================================================================
30 RawDataSaverConsumerConfiguration::~RawDataSaverConsumerConfiguration(void)
31 {}
32 
33 //==============================================================================
34 void RawDataSaverConsumerConfiguration::init(ConfigurationManager *configManager)
35 {
36  std::string processorUID;
37  for(unsigned int row = 0; row < ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
38  {
39  ConfigurationBase::activeConfigurationView_->getValue(processorUID, row, ProcessorID);
40  processorIDToRowMap_[processorUID] = row;
41  }
42 }
43 
44 //==============================================================================
45 std::vector<std::string> RawDataSaverConsumerConfiguration::getProcessorIDList(void) const
46 {
47  std::vector<std::string> list;
48  for(auto& it: processorIDToRowMap_)
49  list.push_back(it.first);
50  return list;
51 }
52 
53 //==============================================================================
54 std::string RawDataSaverConsumerConfiguration::getFilePath(std::string processorUID) const
55 {
56  check(processorUID);
57  std::string val;
58  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, FilePath);
59  return val;
60 }
61 
62 //==============================================================================
63 std::string RawDataSaverConsumerConfiguration::getRadixFileName (std::string processorUID) const
64 {
65  check(processorUID);
66  std::string val;
67  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, RadixFileName);
68  return val;
69 }
70 
71 //==============================================================================
72 void RawDataSaverConsumerConfiguration::check(std::string processorUID) const
73 {
74  if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end())
75  {
76  std::cout << __COUT_HDR_FL__ << "Couldn't find processor " << processorUID << " in the UDPDataStreamerConsumerConfiguration!" << std::endl;
77  assert(0);
78  }
79 }
80 
81 DEFINE_OTS_CONFIGURATION(RawDataSaverConsumerConfiguration)