在NoFlo组件中可选的IP:s同步

时间:2014-07-07 08:01:20

标签: noflo

我正在编写一个具有一个所需IP和三个可选IP的组件。问题在于即使后三个IP是可选的,但至少需要其中一个IP。它看起来像这样:

@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
@inPorts.add 'category1', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category2', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category3', new noflo.InPort datatype: 'boolean'

因此,基本上,组件应该在某些(至少一个!)类别或类别组合中执行搜索。

问题是组件必须等到它从所有连接的输入中收集数据,然后搜索并向前发送结果。

我查看了wirePattern / groupedInput帮助器,但我无法弄清楚是否支持这种类型的可选分组。我在这里错过了一些小事吗?有没有更简单的方法来实现这种行为?我还看了一些关于IP的required选项,但是还没有让它发挥作用。

1 个答案:

答案 0 :(得分:1)

我建议你只有两个inPorts; search_termcategory。类别端口可以接受具有最多三个与类别名称匹配的属性的对象。

@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
@inPorts.add 'category', new noflo.InPort datatype: 'object'

# Example input object
{
  category1: true,
  category2: false,
  category3: true
}