我有一个Type Cars集合,我需要将它从ILOG Jrules传递给我的Java求值方法。我的Java求值方法可以接受对象,因此集合也可以接受。我需要在Java XOM中处理汽车集合,然后将一些输出返回给ILOG。但是如何从我的ILOG JRules创建一个汽车集合呢?对于DVS测试,我如何传递DVS场景Excel表中的汽车集合?
发布于 2012-05-10 22:35:45
为了澄清Tito对第一个答案的评论:嗯,这取决于你想做什么。如果没有任何输入,就很难判断。
可以,您可以轻松地将集合作为InputParameter发送。但是,如果您的业务用户希望针对集合中的项编写规则,那么可以使用concept.insert(Object) ish将您的所有项插入到工作内存中。(如果你想写"if the code of the item is..“而不必先说:“定义将项设置为购物车的项中的项”),并且不在规则流中使用任何循环。这是对性能的过度杀戮。
如果愿意,您可以将复杂的结构化对象发送到JRules。然后由您来管理如何编写规则和拆分模型,如果需要,使用指向对象的指针,就像规则集参数是主对象"shoppingCart“的集合"items”,这有意义吗?
发布于 2012-04-25 19:38:52
这里有两个问题。
1/为什么不在Java中键入JAVA方法?除非你不能使用Java5,否则你应该输入你的集合。
你可以有一个以集合为参数的“虚拟方法”(只需在你的BOM中添加一个方法,这是有意义的),并在B2X中尝试从一个集合转换为一个对象。
JRules不是类型化的,因为它使用1.4,所以您可以这样做...试试看。
为什么需要将任何集合传递给Java?注意不要带回Java中的业务逻辑;-)
2/ DVS...怎么说呢……尤其是使用Collection作为输入和/或输出...这太糟糕了!这是一段糟糕的代码,它让业务用户感到高兴,因为他们将使用Excel来创建测试场景,但是(我的朋友)如果你真的在寻找麻烦,那就去吧。
让我澄清这一点:
输入:您可以轻松地拥有复杂的对象和集合
输出:这是一个真正的背部疼痛。但是,只要在BOM中有一个比较器,就可以有一个集合和一个排序的集合。复杂的对象..。这是可行的,但这需要进行大量的调整,这并未记录在案。
但您需要手动完成所有这些操作(准备Excel文件) :(
让我给你推销员的答案: 7.5会让你这样做:)快乐??
现在,您可以在样式表中使用大量“不可读”的代码来执行此操作,这意味着您的业务用户将无法从头开始使用它们。也许你的一些it团队将无法使用它。太麻烦了。您还必须防止业务用户修改样式表的代码……
由于这个问题,这绝对没有文档记录,如果你真的想这样做,我可能不得不看一个我认为我有的例子,或者你需要在Ilog IT团队中有一个密切的联系……抱歉的。
https://stackoverflow.com/questions/10233177
复制相似问题