[jboss-jira] [JBoss JIRA] (DROOLS-1397) Drools condition cannot retrieve object from Map with Enum key
Patrick Mingard (JIRA)
issues at jboss.org
Thu Jan 5 06:52:00 EST 2017
[ https://issues.jboss.org/browse/DROOLS-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Mingard updated DROOLS-1397:
------------------------------------
Steps to Reproduce:
A fact :
{code:java}
public class Convention {
private Map<ECommissionType, List<Commission>> commissions = new HashMap<>();
}
{code}
An enumeration :
{code:java}
public enum ECommissionType {
ACQ,RIS,POF,[...]
}
{code}
And a rule condition assuming $convention is properly initialized in a former condition and is an instance of the Convention class shown) :
{code:java}
$comm : Commission() from $convention.getCommissions().get(ECommissionType.$1)
{code}
Compilation using kie-maven-plugin is raising an error :
{code:java}
Unable to Analyse Expression $convention.getCommissions().get(ECommissionType.RIS)):
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class : [Rule name='B_CommissionLigne_98']
{code}
was:
A fact :
{code:java}
public class Convention {
private Map<ECommissionType, List<Commission>> commissions = new HashMap<>();
}
{code}
An enumeration :
{code:java}
public enum ECommissionType {
ACQ,RIS,POF,[...]
}
{code}
And a rule condition assuming $convention is properly initialized in a former condition and is an instance of the Convention class shown) :
{code:java}
$comm : Commission() from $convention.getCommissions().get(ECommissionType.$1)
{code}
Compilation using kie-maven-plugin is raising an error :
{code:java}
Unable to Analyse Expression $convention.getCommissions().get(ECommissionType.RIS)):
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class : [Rule name='B_CommissionLigne_98']
{code}
(I'm sorry I'm completely unable to format correctly the code extracts on this site... more readable on stackoverflow)
> Drools condition cannot retrieve object from Map with Enum key
> --------------------------------------------------------------
>
> Key: DROOLS-1397
> URL: https://issues.jboss.org/browse/DROOLS-1397
> Project: Drools
> Issue Type: Bug
> Components: core engine, decision tables
> Affects Versions: 6.5.0.Final
> Environment: JDK 1.7, JUnit test, exact drools version is 6.5.0.Final-redhat-2
> Reporter: Patrick Mingard
> Assignee: Mario Fusco
> Priority: Minor
> Fix For: 7.0.0.CR1
>
>
> I'm migrating an application that used drools 5.3 on the newer drools 6.5 version.
> I'm using a decision table, And one of my condition is accessing a Map which has an enum class as a key. It is not compiling unless I do a strange ArrayList cast.
> Please refer to [this stackoverflow topic|http://stackoverflow.com/questions/41461468/drools-condition-cannot-retrieve-object-from-map-with-enum-key] for details.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list