See JBRULES-3064 <https://issues.jboss.org/browse/JBRULES-3064>, dialect
"mvel" flouts generic parameters.
If you omit "<String,Integer>" after "new HashMap" all is well. Of course,
this is another MVEL bug or restriction - who knows.
But don't try to work around this by
then
if($u.subjectGradeMap == null){
$u.subjectGradeMap = new HashMap*/*<String,Integer>*/*();
}
You'll just run into another MVEL bug.
-W
2011/8/28 Neel <[email protected]>
> Hi,
> I'm using drools-5.3.0.Beta1. I've following rule file:
>
> import java.util.*;
>
>
> declare Student
>
> name : String @key
>
> subjectGradeMap : HashMap
>
> end
>
>
>
> rule "Subject grade points"
>
> dialect "mvel"
>
> when
>
> $u : Student()
>
> then
>
> if($u.subjectGradeMap == null)
>
> {
>
> $u.subjectGradeMap = new HashMap<String,Integer>();
>
> }
>
> $u.subjectGradeMap["CompSc"] += 100;
>
> System.out.println("Marks added");
>
> end
>
>
> I get following error while rule compilation:
>
> Unable to Analyse Expression if($u.subjectGradeMap == null);
>
> {
>
> $u.subjectGradeMap = new HashMap<String,Integer>();
>
> };
>
> $u.subjectGradeMap["CompSc"] += 100;
>
> System.out.println("Marks added");:
>
> [Error: was expecting type: java.lang.Object; but found type: <Unknown>]
>
> [Near : {... if($u.subjectGradeMap == null) ....}]
>
> ^
>
> [Line: 1, Column: 1] : [Rule name='Subject grade points']
>
>
> Please let me know if this is correct usage in the above scenario.
>
>
> Thanks,
>
> Neel
>
>
>
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users