Matteo Mortari created DROOLS-4185:
--------------------------------------
Summary: KieBuilder incremental compilation does not return Warns, infos
Key: DROOLS-4185
URL:
https://issues.jboss.org/browse/DROOLS-4185
Project: Drools
Issue Type: Enhancement
Components: core engine
Reporter: Matteo Mortari
Assignee: Mario Fusco
Compiling with something like
{code:java}
final KieAssemblersImpl assemblers = (KieAssemblersImpl)
ServiceRegistry.getInstance().get(KieAssemblers.class);
assemblers.accept(new DMNAssemblerService());
KieServices ks = KieServices.Factory.get();
KieFileSystem kfs = ks.newKieFileSystem();
kfs.write("src/main/resources/org/acme/test_scorecard.pmml",
ks.getResources().newClassPathResource("test_scorecard.pmml",
DMNRuntimeKiePMMLTest.class));
KieBuilder kieBuilder = ks.newKieBuilder(kfs).buildAll();
assertEquals(0,
kieBuilder.getResults().getMessages(org.kie.api.builder.Message.Level.ERROR).size());
kfs.write("src/main/resources/org/acme/KiePMMLScoreCard_NOPMMLmodelName.dmn",
ks.getResources().newClassPathResource("KiePMMLScoreCard_NOPMMLmodelName.dmn",
DMNRuntimeKiePMMLTest.class));
IncrementalResults addResults = ((InternalKieBuilder)
kieBuilder).createFileSet("src/main/resources/org/acme/KiePMMLScoreCard_NOPMMLmodelName.dmn").build();
LOG.debug("getAddedMessages: {}", addResults.getAddedMessages());
assertTrue(addResults.getAddedMessages().size() > 0);
{code}
would fail on the last assertion, as the WARN message is effectively generated as part of
the build, but is not available in returned the list.
A full reproducer can be found with this PR:
https://github.com/kiegroup/drools/pull/2389
Suggestion: parametrize InternalKieBuilder#build to also return list of Warn or Info,
besides of just returning list of errors?
More suggestions here:
https://github.com/kiegroup/drools/pull/2389#discussion_r294185056
--
This message was sent by Atlassian Jira
(v7.12.1#712002)