<code> File f = new File("WeatherRules.drl");
The code is running fine and there is no error but the rules are not working. The output I got is:
<code> Creating Knowledge Session
Creating and insertng Temperature
Firing all rules
It seems that the configured rules are not working. The dependencies I am using in for is:
Am I missing something? Please help me to integrate Drools with scala. Thanks in advance. Any help will be appreciated.
I just tried the same and indeed the code as presented in the post you linked cannot work. The problem is that MVEL tries to read the field "value" of the Temperature class by following the JavaBean specification, i.e. by looking for a method named "getValue()". It means that if you change the method name of the Temperature trait from "value" to "getValue" the code works as expected.
To be honest is quite ugly to use a Scala trait to model a domain object as done in that example. I'd rather suggest to use a case class as it follows:
case class Temperature(@BeanProperty value: Int)
so in this way you can create your Temperature objects as simple as:
val shouldBeTooHot = Temperature(100)
Note that I annotated the "value" field of the case class with @BeanProperty in order to tell to the Scala compiler to generate an accessor to that field that is compatible with the JavaBean specification.
I created a public github project and made available the complete working example there:
Thank a lot for the reply. The solution was really helpful and I am able to run my code. I would also like to know is there any guideline or document to debug these kind of errors, since it doesn't show any problem at compile time or runtime.