@@ -128,9 +128,7 @@ void AnalysisSupportHelpers::addMissingOutputsToReader(std::vector<OutputSpec> c
128128{
129129 requestedInputs |
130130 views::filter_not_matching (providedOutputs) | // filter the inputs that are already provided
131- std::views::transform ([](auto const & req) { // create outputspecs for unmatched inputs
132- return DataSpecUtils::asOutputSpec (req);
133- }) |
131+ views::input_to_output_specs () |
134132 sinks::update_output_list{publisher.outputs }; // append them to the publisher outputs
135133}
136134
@@ -141,20 +139,14 @@ void AnalysisSupportHelpers::addMissingOutputsToSpawner(std::vector<OutputSpec>
141139{
142140 requestedSpecials |
143141 views::filter_not_matching (providedSpecials) | // filter the inputs that are already provided
144- std::views::transform ([](auto const & req) { // create outputspecs for unmatched inputs
145- return DataSpecUtils::asOutputSpec (req);
146- }) |
142+ views::input_to_output_specs () |
147143 sinks::append_to (publisher.outputs ); // append them to the publisher outputs
148144
149145 std::vector<InputSpec> additionalInputs;
150146 for (auto & input : requestedSpecials | views::filter_not_matching (providedSpecials)) {
151147 input.metadata |
152- std::views::filter ([](auto const & param) { // filter config params that are strings starting with "input:"
153- return (param.type == VariantType::String) && (param.name .find (" input:" ) != std::string::npos);
154- }) |
155- std::views::transform ([](auto const & param) { // parse them into InputSpecs
156- return DataSpecUtils::fromMetadataString (param.defaultValue .template get <std::string>());
157- }) |
148+ views::filter_string_params_with (" input:" ) |
149+ views::params_to_input_specs () |
158150 sinks::update_input_list{additionalInputs}; // store into a temporary
159151 }
160152 additionalInputs | sinks::update_input_list{requestedAODs}; // update requestedAODs
@@ -167,55 +159,14 @@ void AnalysisSupportHelpers::addMissingOutputsToBuilder(std::vector<InputSpec> c
167159 DataProcessorSpec& publisher)
168160{
169161 requestedSpecials |
170- std::views::transform ([](auto const & req) { // create outputspecs for inputs
171- return DataSpecUtils::asOutputSpec (req);
172- }) |
162+ views::input_to_output_specs () |
173163 sinks::append_to{publisher.outputs }; // append them to the publisher outputs
174164
175165 std::vector<InputSpec> additionalInputs;
176166 for (auto const & input : requestedSpecials) {
177167 input.metadata |
178- std::views::filter ([](auto const & param) { // filter config params that are strings starting with "input:"
179- return (param.type == VariantType::String) && (param.name .find (" input:" ) != std::string::npos);
180- }) |
181- std::views::transform ([](auto const & param) { // parse them into InputSpecs
182- return DataSpecUtils::fromMetadataString (param.defaultValue .template get <std::string>());
183- }) |
184- sinks::update_input_list{additionalInputs}; // store into a temporary
185- }
186-
187- additionalInputs | sinks::update_input_list (publisher.inputs ); // update publisher inputs
188- // FIXME: until we have a single list of pairs
189- additionalInputs |
190- views::partial_match_filter (AODOrigins) |
191- sinks::update_input_list{requestedAODs}; // update requestedAODs
192- additionalInputs |
193- views::partial_match_filter (header::DataOrigin{" DYN" }) |
194- sinks::update_input_list{requestedDYNs}; // update requestedDYNs
195- }
196-
197- void AnalysisSupportHelpers::addMissingOutputsToAnalysisCCDBFetcher (
198- std::vector<OutputSpec> const & providedSpecials,
199- std::vector<InputSpec> const & requestedSpecials,
200- std::vector<InputSpec>& requestedAODs,
201- std::vector<InputSpec>& requestedDYNs,
202- DataProcessorSpec& publisher)
203- {
204- requestedSpecials |
205- std::views::transform ([](auto const & req) { // create outputspecs for inputs
206- return DataSpecUtils::asOutputSpec (req);
207- }) |
208- sinks::append_to{publisher.outputs }; // append them to the publisher outputs
209-
210- std::vector<InputSpec> additionalInputs;
211- for (auto & input : requestedSpecials) {
212- input.metadata |
213- std::views::filter ([](auto const & param) { // filter config params that are strings starting with "input:"
214- return (param.type == VariantType::String) && (param.name .find (" input:" ) != std::string::npos);
215- }) |
216- std::views::transform ([](auto const & param) { // parse them into InputSpecs
217- return DataSpecUtils::fromMetadataString (param.defaultValue .template get <std::string>());
218- }) |
168+ views::filter_string_params_with (" input:" ) |
169+ views::params_to_input_specs () |
219170 sinks::update_input_list{additionalInputs}; // store into a temporary
220171 }
221172
0 commit comments