2013-10-15 4 views
0

스프레드 시트와 함께 Drools를 사용하고 있으며 사용자가 조건 셀에 복잡한 코드를 추가 할 수있게하려고합니다. 그러나 어떤 이유로 이것이 작동하지 않습니다. 여기 Drools 조건이 eval()로 작동하지 않습니다.

은 예입니다 :

Example

조건 세포의 코드는 유효하지만 나는 Drools가 컴파일러에서 다음과 같은 예외가 얻을 :

[17,0]: [ERR 102] Line 17:0 mismatched input '' 
[11,330]: [ERR 101] Line 11:330 no viable alternative at input 'partnumber' in rule "CAS_12" 

나는 너희들이 도움이 될 수 있습니다 희망을 나 .. 고마워!


[업데이트]

나는 내 문제에 대한 해결책을 발견 : 그것은 eval 함수에 그대로 false로 EscapeQuotes 속성을 설정 한 후, 조건 세포의 텍스트가 전달됩니다. 이 방법은 내가 세포 내에서 DRL을 사용하여 programm 수 있습니다.

이 속성을 설정하는 방법은 다음과 같습니다

내가해야 할 일을했을 모든, 결정 테이블 속성에 EscapeQuotes = false를 추가했다 :

enter image description here

+0

? 수 당신에게 – kaskelotti

답변

1

난 그냥 해결책을 발견했다. 이 방법은 "Drools가로 이스케이프되지 않고 그대로 조건 셀에 입력 한 텍스트가 사용됩니다.

감사를 도와 어쨌든! 당신이 사실 PARTNUMBER를 얻는 방법

+0

조건이 다르더라도 똑같은 오류 메시지가 나타나기 시작했습니다. 정확히 어디에 속성을 추가 했습니까? – kaskelotti

+0

내 검색에서 발견 한 것은이 오류를 얻을 수 있다는 것입니다. 로켈이 Drools에서 지원하지 않는 인용 부호 (비 ASCII 문자)를 사용하는 경우도 있습니다. 일부는 문자열 자체를 이스케이프 처리하여이 문제를 극복 할 수있었습니다 (예 : partnumber str [startswith] \ "ABC \"'. 저도 그래요. – kaskelotti

+0

솔루션과 이미지로 첫 번째 게시물을 업데이트했습니다. 속성을 설정할 위치. 그것은 Drools descision 테이블의 스프레드 시트 헤더에 있습니다. – Nuker