drools验证独特和依赖

时间:2012-09-18 01:43:44

标签: java collections drools

我在内存中有一个POJOs的集合,这些POJOs来自其他系统。我有以下两个问题:

  1. 我想知道POJO在属性值方面的重复。

  2. 我也对其他收集进行了验证,即我在一个城市有200家商店,商店ID从1开始到200结束。我从商店获得了数据,它提交了500作为商店ID。我想根据我的数据集验证数据是否正确?

  3. 我目前卡住了,不知道如何执行这些操作。 我正在收集市场趋势的数据,来自全国各地的商店都在我们这里注册。我们为每个商店分配了ID。店主会以普通文件格式向我们发送他们的销售详情。我的任务是在DB中收集正确的数据。如果商店或商品ID与我的收藏品不匹配,那么该记录将是不正确的,我通知店主该记录无效。如果文件包含相同的行两次或更多次,我通知它是重复的。

    谢谢,

1 个答案:

答案 0 :(得分:0)

我认为您需要为这些equals()实施POJOs方法,以便说明某个对象与另一个对象重复。然后,您可以继续将收到的POJOs插入java.util.Set,每次收到新的set.contains()时,都可以使用Map检查是否已收到POJO。

对于#2,您可以为该其他集合中的对象维护POJO ID,以检查新到达的drools是否是该地图中存在的有效ID。

AFAIK,{{1}}要求您提供对象的规范表示,以运行对象状态的规则。以上两种验证要求您维护这些数据结构,而不管使用drools或任何其他规则引擎。