나는 when 테이블에서 'from'문장으로 반복하고있는 작업 메모리에 ArrayList를 가지고있다. 그러나 규칙은 배열을 거꾸로 반복합니다. 이 동작을 제어 할 수있는 방법이 있습니까?'from'키워드가 거꾸로 반복되는 이유는 무엇입니까?
목록 작성 :
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> m1 = ...
Map<String,String> m2 = ...
list.add(m1);
list.add(m2);
ImportItem item = new ImportItem(list); //model object. Constructor arg returned by getInput()
StatelessKnowledgeSession session = knowledgeBase.newStatelessKnowledgeSession();
session.insert(item);
session.fireAllRules();
Drools가 규칙 :
rule "My Rule"
dialect "java"
when
item : ImportItem(ignore == false) //model object that holds the input
map : Map() from item.getInput() // == the ArrayList from above
then
System.out.println(map);
end
당신은 항상 순서가 포함되지 않도록 규칙을 작성하려고한다
<output of m2>
<output of m1>
아마도 여기에는 다른 방법이 있습니다. 내 규칙에 대한 지나치게 단순한 설명은 입력이 다른 객체의 동일한 필드에 매핑되는 파일의 행을 포함한다는 것입니다. 그래서 기본적으로 myObj.setText (input.get (0) + input.get (1) + input.get (2) + ...)를 수행하는 규칙이 필요합니다. –
조건의 목록을 반복 할 수 있습니까? 그렇게 쉬운 것처럼 들리 네요. –