New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide for Merging (Combining) Components #59

Closed
justb4 opened this Issue Oct 20, 2017 · 1 comment

Comments

Projects
None yet
1 participant
@justb4
Member

justb4 commented Oct 20, 2017

In addition to Splitting implemented via issue #35, there is a need for Combining/Merging at least Inputs. A use-case is within the Smart Emission Project: here we need to collect (harvest) data from multiple remote HTTP REST APIs, see smartemission/smartemission#61.

This could be implemented by allowing an Input to collect from multiple HTTP endpoints, but this would require specific implementations for each Input type.

Basic idea is to use the notation also used for Splitting via issue #35, for example to merge two inputs input1 and input2 into single filter and output, the following Chain would be defined:

(input1)(input2) | filter | output

This would be the most common use-case. Additional cases could be applied with sub-Chaining, for example:

(input1 | filter1) (input2 | filter2) | filter | output

Dependent on the ease of implementation, the latter cases may be included or else be deferred to a separate issue.

@justb4 justb4 added the enhancement label Oct 20, 2017

@justb4 justb4 added this to the Version 1.10 milestone Oct 20, 2017

@justb4 justb4 self-assigned this Oct 20, 2017

justb4 added a commit that referenced this issue Oct 21, 2017

justb4 added a commit that referenced this issue Oct 22, 2017

@justb4

This comment has been minimized.

Member

justb4 commented Oct 23, 2017

A Merger Component has been developed, providing both combining Inputs and sub-Chains. Tested with Merger Unit tests. Also added tests for Combiner.

@justb4 justb4 closed this Oct 23, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment