]
Mario Fusco updated DROOLS-3402:
--------------------------------
Sprint: 2018 Week 48-50, 2019 Week 02-04 (was: 2018 Week 48-50)
Encoding set in constructor not taking effect
---------------------------------------------
Key: DROOLS-3402
URL:
https://issues.jboss.org/browse/DROOLS-3402
Project: Drools
Issue Type: Bug
Affects Versions: 7.13.0.Final
Reporter: Barnabás Kurucz
Assignee: Mario Fusco
Priority: Major
In my drl file, I'm using German characters such as Umlauts or ß. Thus, I am setting
the encoding to UTF-8 with the overloaded constructor when creating the Resource for the
Kie File System. However, after firing the rules on the inserted Fact Drools does not seem
to apply the specified encoding. I insert the fact, and if the condition is true to that
fact it should modify the Action1 (String) attribute of the fact to "Rückfrage"
and return the modified fact. However, when I look at the retrieved bean's Action1
attribute I am seeing "Rückfrage" instead of "Rückfrage". I tried
both UTF-8 and ISO-8859-1 encoding. Any ideas what's wrong?
Drools 7.13
*KieSessionGenerator*:
public KieSessionGenerator() {
KieServices kieServices = KieServices.Factory.get();
KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
kieFileSystem.write(ResourceFactory.newClassPathResource(drlFile,
"UTF-8"));
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem);
kieBuilder.buildAll();
KieModule kieModule = kieBuilder.getKieModule();
KieContainer kieContainer = kieServices.newKieContainer(kieModule.getReleaseId());
kieSession = kieContainer.newKieSession();
}
*Snippet from DRL:*
rule "813"
when
$bean : Bean(longDesc == "Infektion")
then
$bean.setAction1("Rückfrage");
end
*Inserting the fact:*
public Bean lookupBean(Bean bean) {
kieSessionGenerator.getKieSession().insert(bean);
kieSessionGenerator.getKieSession().fireAllRules();
return bean;
}