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