[
https://issues.jboss.org/browse/DROOLS-1400?page=com.atlassian.jira.plugi...
]
Matteo Mortari commented on DROOLS-1400:
----------------------------------------
Reproducer:
{code:java}
@Test
public void testKJarUpgradeWithDRLComment() throws Exception {
// DROOLS-1400
String drl_Rx_1 = "// Build ID# 001 \n"+
"package org.drools.compiler\n" +
"rule Rx when\n" +
" $m : Message( message == \"Hello World\" )\n" +
"then\n" +
"end\n";
String drl_Rx_2 = "// Build ID# 002 \n"+
"package org.drools.compiler\n" +
"rule Rx when\n" +
" $m : Message( message == \"Hello World\" )\n" +
"then\n" +
"end\n";
String drl_Rnew_2 = "// Build ID# 002 \n"+
"package org.drools.compiler\n" +
"rule Rnew when\n" +
" $s : String()\n" +
"then\n" +
"end\n";
KieServices ks = KieServices.Factory.get();
ReleaseId releaseId1 = ks.newReleaseId( "org.kie",
"test-upgrade", "1.0.0" );
KieModule km = createAndDeployJar( ks, releaseId1, drl_Rx_1 );
KieContainer kc = ks.newKieContainer( km.getReleaseId() );
KieSession ksession = kc.newKieSession();
ksession.insert( new Message( "Hello World" ) );
assertEquals( 1, ksession.fireAllRules() );
ReleaseId releaseId2 = ks.newReleaseId( "org.kie",
"test-upgrade", "1.1.0" );
km = createAndDeployJar( ks, releaseId2, drl_Rx_2, drl_Rnew_2 );
kc.updateToVersion( releaseId2 );
// rule Rx is UNchanged and should NOT fire again
// rule Rnew is new but there is no match
assertEquals( 0, ksession.fireAllRules() );
}
{code}
Comparison of DRL changes should not consider comments during
incremental compilation
-------------------------------------------------------------------------------------
Key: DROOLS-1400
URL:
https://issues.jboss.org/browse/DROOLS-1400
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.0.0.Beta5
Reporter: Matteo Mortari
Assignee: Matteo Mortari
Priority: Minor
Same as [DROOLS-1399] but concerning comments; in full below:
During incremental compilation the equivalent DRL file contains only a modification
+within a comment+. Currently, this triggers the incremental compilation to rebuild all
the resources associated in that DRL file anyway. Consequently, a rule in that DRL file
might be actually UNchanged; but following the explanation above, it will match and fire
again, like it's a new/modified rule.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)