|
27 | 27 | #include <Framework/CallbackService.h> |
28 | 28 | #include <Framework/TimesliceIndex.h> |
29 | 29 | #include <Framework/DataSpecUtils.h> |
| 30 | +#include <Framework/DataDescriptorQueryBuilder.h> |
30 | 31 | #include <Headers/DataHeader.h> |
31 | 32 | #include <Monitoring/MonitoringFactory.h> |
32 | 33 | #include "QualityControl/QcInfoLogger.h" |
@@ -274,22 +275,8 @@ void TaskRunner::populateConfig(std::string taskName) |
274 | 275 | LOG(INFO) << "policyName : " << policyName; |
275 | 276 | mInputSpecs = DataSampling::InputSpecsForPolicy(config, policyName); |
276 | 277 | } else if (type == "direct") { |
277 | | - |
278 | | - auto subSpecString = dataSourceTree.get<std::string>("subSpec"); |
279 | | - auto subSpec = std::strtoull(subSpecString.c_str(), nullptr, 10); |
280 | | - |
281 | | - header::DataOrigin origin; |
282 | | - header::DataDescription description; |
283 | | - origin.runtimeInit(dataSourceTree.get<std::string>("dataOrigin").c_str()); |
284 | | - description.runtimeInit(dataSourceTree.get<std::string>("dataDescription").c_str()); |
285 | | - |
286 | | - mInputSpecs.push_back( |
287 | | - InputSpec{ |
288 | | - dataSourceTree.get<std::string>("binding"), |
289 | | - origin, |
290 | | - description, |
291 | | - static_cast<framework::DataAllocator::SubSpecificationType>(subSpec) }); |
292 | | - |
| 278 | + auto inputsQuery = dataSourceTree.get<std::string>("query"); |
| 279 | + mInputSpecs = DataDescriptorQueryBuilder::parse(inputsQuery.c_str()); |
293 | 280 | } else { |
294 | 281 | std::string message = std::string("Configuration error : dataSource type unknown : ") + type; // TODO pass this message to the exception |
295 | 282 | BOOST_THROW_EXCEPTION(AliceO2::Common::FatalException() << AliceO2::Common::errinfo_details(message)); |
|
0 commit comments