]
Toshiya Kobayashi commented on DROOLS-4292:
-------------------------------------------
I'm not sure if having Query*Def.java per query argument number is the only solution.
If we cannot make it dynamic, the customer requests that at least 10 arguments are
acceptable and the limitation is documented.
executable-model fails with more than 5 arguments query
-------------------------------------------------------
Key: DROOLS-4292
URL:
https://issues.jboss.org/browse/DROOLS-4292
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.23.0.Final
Reporter: Toshiya Kobayashi
Assignee: Luca Molteni
Priority: Major
Labels: support
executable-model build fails when a query defined with more than 5 arguments.
for example)
{noformat}
query peeps( String name, int age, long ageLong, int id, String likes )
Person( name := name, age := age, ageLong := ageLong, id := id, likes := likes )
end
{noformat}
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 5
at org.drools.model.QueryDef.getQueryClassByArity(QueryDef.java:30)
at
org.drools.modelcompiler.builder.generator.QueryGenerator.getQueryType(QueryGenerator.java:120)
at
org.drools.modelcompiler.builder.generator.QueryGenerator.processQueryDef(QueryGenerator.java:42)
at
org.drools.modelcompiler.builder.generator.ModelGenerator.generateModel(ModelGenerator.java:143)
at
org.drools.modelcompiler.builder.ModelBuilderImpl.compileKnowledgePackages(ModelBuilderImpl.java:147)
at
org.drools.modelcompiler.builder.ModelBuilderImpl.buildRules(ModelBuilderImpl.java:97)
at
org.drools.modelcompiler.builder.ModelBuilderImpl.buildPackages(ModelBuilderImpl.java:66)
at
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:108)
at
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:100)
at
org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:261)
at
org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:75)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:271)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:239)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:208)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:196)
at org.drools.modelcompiler.BaseModelTest.createKieBuilder(BaseModelTest.java:144)
at org.drools.modelcompiler.BaseModelTest.createKieBuilder(BaseModelTest.java:125)
at org.drools.modelcompiler.BaseModelTest.getKieContainer(BaseModelTest.java:114)
at org.drools.modelcompiler.BaseModelTest.getKieContainer(BaseModelTest.java:107)
at org.drools.modelcompiler.BaseModelTest.getKieSession(BaseModelTest.java:103)
at org.drools.modelcompiler.BaseModelTest.getKieSession(BaseModelTest.java:99)
at org.drools.modelcompiler.QueryTest.testQuery5Args(QueryTest.java:884)
{noformat}