[jboss-jira] [JBoss JIRA] (DROOLS-1318) Using java enum when setting a variable of type enum does not work
Mario Fusco (JIRA)
issues at jboss.org
Thu Oct 6 09:16:00 EDT 2016
[ https://issues.jboss.org/browse/DROOLS-1318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13303456#comment-13303456 ]
Mario Fusco commented on DROOLS-1318:
-------------------------------------
[~nheron] I also tried to define an enum in a top level class (as you can see in the following test case) but it still works for me.
{code}
@Test
public void testMvelWithEnum() {
String drl =
"import " + Address.class.getCanonicalName() + ";\n" +
"import " + AddressType.class.getCanonicalName() + ";\n" +
"rule R dialect \"mvel\" when\n" +
" $a : Address(addressType == AddressType.OFFICE)\n" +
"then\n" +
" $a.setAddressType(AddressType.HOME);\n" +
" update($a);\n" +
"end";
KieSession kieSession = new KieHelper().addContent(drl, ResourceType.DRL).build().newKieSession();
Address address = new Address();
address.setAddressType( AddressType.OFFICE );
kieSession.insert( address );
kieSession.fireAllRules();
assertEquals(AddressType.HOME, address.getAddressType());
}
{code}
> Using java enum when setting a variable of type enum does not work
> ------------------------------------------------------------------
>
> Key: DROOLS-1318
> URL: https://issues.jboss.org/browse/DROOLS-1318
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.4.0.Final
> Reporter: Nicolas Heron
> Assignee: Nicolas Heron
> Labels: OnBoarding
>
> In project https://github.com/chtiJBUG/onboarding-nautic-project
> when running the TestBirthday reduction
> TestBirthdayReduction : [Error: could not access/write property (seasonType) in: org.chtijbug.example.swimmingpool.Period] [Near :
> the source code of the rule is
> package org.training.leisure.swimmingpool;
> import java.lang.Number;
> import org.chtijbug.example.swimmingpool.CalculatedAttribute;
> import org.chtijbug.example.swimmingpool.Price;
> import org.chtijbug.example.swimmingpool.Person;
> import org.chtijbug.example.swimmingpool.Period;
> import org.chtijbug.example.swimmingpool.PriceType;
> rule "BirthdayReduction"
> dialect "mvel"
> ruleflow-group "reduction"
> when
> ccat : CalculatedAttribute( key == "IsPersonBirthday" , stringValue == "true" )
> pper : Person( calculatedAttributeList contains ccat , sprice : standardPrice > 0.0B )
> not (pprice : Price( description == "BirthdayReduction" ) and Person( priceList contains pprice , this == pper ))
> Period( seasonType == SeasonType.day )
> then
> Price nprice = new Price();
> nprice.setDescription( "BirthdayReduction" );
> nprice.setAmount( sprice.divide(new BigDecimal("10.0"),BigDecimal.ROUND_HALF_UP) );
> nprice.setPriceType( PriceType.promotion );
> insert( nprice );
> pper.addPrice( nprice );
> modify( pper ) {
> setPriceList( pper.getPriceList() )
> }
> end
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list