Skip to content

Instantly share code, notes, and snippets.

@rafaeltuelho
Created September 8, 2020 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafaeltuelho/d0a630387d6dd1e101c309f079544660 to your computer and use it in GitHub Desktop.
Save rafaeltuelho/d0a630387d6dd1e101c309f079544660 to your computer and use it in GitHub Desktop.
Drools kie-server request using raw Java Objects
  • request payload
{
    "commands": [
        {
            "insert": {
                "object": {
                    "java.lang.String": "go1"
                },
                "out-identifier": "Response1",
                "return-object": false
            }
        },
        {
            "insert": {
                "object": {
                    "java.lang.Number": 50
                },
                "out-identifier": "Response2",
                "return-object": false
            }
        },
        {
            "insert": {
                "object": {
                    "java.time.LocalDate": "2015-03-01"
                },
                "out-identifier": "Response3",
                "return-object": false
            }
        },
        {
            "fire-all-rules": {}
        },
        {
            "get-objects": {"out-identifier": "objects"}
        }
    ]
}
  • Rule code
package com.redhat.demos.moodys;

import java.time.LocalDate;

rule "Hello"
when
   //
then
  System.out.println("Rule " + drools.getRule().getName() + " fired!");
  System.out.println("Hello from rules engine!");
end

rule "Int value"
no-loop true
when
   $n: Integer(intValue == 50)
then
  System.out.println("Rule " + drools.getRule().getName() + " fired!");
  Integer sum = $n.intValue() + 10;
  insert(sum);
end

rule "Free Text"
when
   $s: String( this == "go1" )
then
  System.out.println("Rule " + drools.getRule().getName() + " fired!");
  System.out.println("received " + $s);
end

rule "Local Date"
when
   $d: LocalDate()
then
  System.out.println("Rule " + drools.getRule().getName() + " fired!");
  System.out.println("received " + $d.plusYears(5));
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment