Github user justinleet commented on a diff in the pull request:
https://github.com/apache/metron/pull/1099#discussion_r201356953
--- Diff:
metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
---
@@ -91,14 +101,14 @@ public Config getTopologyConfig() {
*/
public static ParserTopology build(String zookeeperUrl,
Optional<String> brokerUrl,
- String sensorType,
- ValueSupplier<Integer>
spoutParallelismSupplier,
- ValueSupplier<Integer>
spoutNumTasksSupplier,
+ List<String> sensorTypes,
+ ValueSupplier<List>
spoutParallelismSupplier,
--- End diff --
I actually forgot to ask about this in the main thing. It's because of the
use of the Class argument in ValueSupplier breaks the typing involved
elsewhere. It's the same reason it's ValueSupplier<Map> instead of
ValueSupplier<Map<Foo, Bar>> elsewhere.
Having said that, it seems like it's entirely unnecessary to have the class
argument at all and we could just actually type everything everywhere and just
remove the argument entirely. I tried this out briefly and it seemed fine, but
I didn't spin it up through full dev since it seemed optional to do.
---