[jboss-jira] [JBoss JIRA] (DROOLS-559) Trying to use a non-existing positional argument causes an IndexOutOfBoundsException

Mario Fusco (JIRA) issues at jboss.org
Tue Jul 22 05:35:29 EDT 2014


    [ https://issues.jboss.org/browse/DROOLS-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12986933#comment-12986933 ] 

Mario Fusco commented on DROOLS-559:
------------------------------------

Also explicitly specifying position not in a compact order like in:

{source}
declare Person
    name : String @position(4)
    age : int @position(2)
end
{source}

causes the following exception

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(ArrayList.java:635)
	at java.util.ArrayList.set(ArrayList.java:426)
	at org.drools.compiler.builder.impl.TypeDeclarationBuilder.processFieldsPosition(TypeDeclarationBuilder.java:275)
	at org.drools.compiler.builder.impl.TypeDeclarationBuilder.initTypeDeclaration(TypeDeclarationBuilder.java:216)
	at org.drools.compiler.builder.impl.TypeDeclarationBuilder.getAndRegisterTypeDeclaration(TypeDeclarationBuilder.java:137)
	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.getAndRegisterTypeDeclaration(KnowledgeBuilderImpl.java:1543)

> Trying to use a non-existing positional argument causes an IndexOutOfBoundsException
> ------------------------------------------------------------------------------------
>
>                 Key: DROOLS-559
>                 URL: https://issues.jboss.org/browse/DROOLS-559
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 6.1.0.CR2
>            Reporter: Mario Fusco
>            Assignee: Mario Fusco
>             Fix For: 6.1.0.Final
>
>
> The attempt of using a non-existing positional argument should be reported as a compile time error while at the moment it causes the following exception:
> java.lang.IndexOutOfBoundsException: Error trying to access field at position 2
>         at org.drools.core.factmodel.ClassDefinition.getField(ClassDefinition.java:185)
>         at org.drools.compiler.rule.builder.PatternBuilder.processPositional(PatternBuilder.java:609)
>         at org.drools.compiler.rule.builder.PatternBuilder.processConstraintsAndBinds(PatternBuilder.java:518)



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the jboss-jira mailing list