test_logicalassertions2.drl

来自「jboss规则引擎」· DRL 代码 · 共 51 行

DRL
51
字号
package org.drools.test;

import org.drools.Alarm;
import org.drools.EmergencyTeam;
import org.drools.Sensor;

global java.util.List events;

rule "Everything is Normal"
    when
        not Alarm( )
    then
        events.add("Everything is Normal");
end   

rule "Problem detected" salience 10
    when
        sensor : Sensor( temperature > 100 ) or Sensor( pressure > 150 )
    then
        events.add( "Problem detected: "+sensor.toString() );
        assertLogical( new Alarm( "Call emergency team" ) );
end 

rule "Call Emergency Team"
    when
        Alarm ( )
    then
        events.add( "Calling Emergency Team" );
        assertLogical( new EmergencyTeam() );
end

rule "Emergency Team solves temperature" salience 20
    when 
        EmergencyTeam()
        sensor : Sensor( temperature > 100 )
    then
        events.add( "Solving temperature problem" );
        sensor.setTemperature(80);
        modify(sensor);
end

rule "Emergency Team solves pressure" salience 20
    when 
        EmergencyTeam()
        sensor : Sensor( pressure > 150 )
    then
        events.add( "Solving pressure problem" );
        sensor.setPressure(80);
        modify(sensor);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?