2014-04-15 2 views
0

나는 작업중인 Java 프로젝트 용 Drools 파일을 쓰려고하는데, 나의 규칙 중 하나는 자주 사용하는 값보다 크거나 같다. 나는 두 곳에서 <을 사용해서는 안되며 사실 &lt;을 사용해야한다고 읽었습니다. 아마도 <=&lt;=이 될 것입니다.Drools에서보다 작거나 같음 사용하기

Netbeans는 내 <을 빨간색으로 강조 표시합니다. 이는 저조한 점을 시사합니다.

($T1.getValue()<$T2getValue)&&($T1.getOtherValue()<=$T2getOtherValue) 

($T1.getValue()&lt;$T2getValue)&&($T1.getOtherValue()&lt;=$T2getOtherValue) 

이에 대한 설명은 무엇입니까

된다 : -

이 나에게 완전히 미친 것 같다

는 다음과 같이 변경 아래 코드를 의미합니까?

+0

그것은''≤을해야을 같이 작거나 같음. 그리고 AFAIK, 당신은 당신이 제안한대로 문자를 벗어날 필요가 없습니다. – kaskelotti

+1

규칙을 컴파일하는 동안 특정 오류가 발생합니까? Netbeans이 빨간색으로 표시되는 것은 편집자 (언어) 설정 때문일 수 있습니다. – kaskelotti

+1

'<'등을 사용해야 만하는 유일한 곳은 XML 파일입니다. 일반 DRL 파일은 이러한 이스케이프를 사용할 필요가 없습니다. 너 한테 우리 한테 말 안했어? 그리고 당신은 이것을 어디에서 읽었 느냐?? – laune

답변

1

*.drl 파일에는 <>을 안전하게 사용할 수 있습니다. XML 또는 HTML 이스케이프가 필요하지 않습니다.

rule "requiredCpuPowerTotal" 
    when 
    $computer : CloudComputer($cpuPower : cpuPower) 
    $requiredCpuPowerTotal : Number(intValue > $cpuPower) from accumulate(
     CloudProcess(
      computer == $computer, 
      $requiredCpuPower : requiredCpuPower), 
     sum($requiredCpuPower) 
    ) 
    then 
    scoreHolder.addHardConstraintMatch(kcontext, $cpuPower - $requiredCpuPowerTotal.intValue()); 
end 

내가 이런 코드 뭔가 작성합니다 :

예를 들어

는 optaplanner 예 중 하나에서이 규칙에서>를 알

T1($t1Value : value, $t1OtherValue : otherValue) 
T2(value < $t1Value, otherValue <= $t1OtherValue) 
관련 문제