[rules-dev] Possible drools bug when using metadata @key

Edson Tirelli tirelli at post.com
Thu Feb 26 19:57:06 EST 2009


   Fixed and committed to revision #25447.

https://jira.jboss.org/jira/browse/JBRULES-1985

   Thanks for reporting and providing test case.

   []s
   Edson




2009/2/26 Zoltan Farkas <zoly at daxtechnologies.com>

>  The exception:
>
> java.lang.reflect.InvocationTargetException
>
>         at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
>
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>         at java.lang.reflect.Method.invoke(Method.java:597)
>
>         at
> org.drools.lang.RuleParserTest.execTreeParser(RuleParserTest.java:4071)
>
>         at
> org.drools.lang.RuleParserTest.newParser(RuleParserTest.java:4038)
>
>         at org.drools.lang.RuleParserTest.parse(RuleParserTest.java:3996)
>
>         at
> org.drools.lang.RuleParserTest.parseResource(RuleParserTest.java:4025)
>
>         at
> org.drools.lang.RuleParserTest.testTypeDeclaration1(RuleParserTest.java:3762)
>
> Caused by: java.lang.NullPointerException
>
>         at
> org.drools.lang.descr.DescrFactory.createTypeField(DescrFactory.java:401)
>
>         at
> org.drools.lang.DescrBuilderTree.decl_field(DescrBuilderTree.java:1758)
>
>         at
> org.drools.lang.DescrBuilderTree.type_declaration(DescrBuilderTree.java:1592)
>
>         at
> org.drools.lang.DescrBuilderTree.statement(DescrBuilderTree.java:575)
>
>         at
> org.drools.lang.DescrBuilderTree.compilation_unit(DescrBuilderTree.java:222)
>
>         ... 34 more
>
>
>
>
>
> Here is the drl that causes it:
>
>
>
> [declare_type_1.drl]
>
>
>
> package org.drools;
>
> declare NetworkNode
>
>             locElevation: java.math.BigDecimal
>
>             name: String @key
>
>             nodeClass: String
>
>             locLongitude: java.math.BigDecimal
>
>             nodeType: String
>
>             locLatitude: java.math.BigDecimal
>
> end
>
> declare NetworkConnection
>
>             id: String @key
>
>             node1: NetworkNode
>
>             node2: NetworkNode
>
>             hops: Integer
>
> end
>
> declare NetworkEvent
>
>             @role( event )
>
>             @timestamp( creationTime )
>
>             id: String @key
>
>             locElevation: java.math.BigDecimal
>
>             description: String
>
>             sourceComponent: NetworkNode
>
>             locLongitude: java.math.BigDecimal
>
>             severity: Integer
>
>             creationTime: java.util.Date
>
>             locLatitude: java.math.BigDecimal
>
> end
>
>
>
> the test function in RuleParserTest.java you can use to replicate:
>
>
>
>     public void testTypeDeclaration1() throws Exception {
>
>         parseResource( "compilation_unit",
>
>                        "compilation_unit",
>
>                        "declare_type_1.drl" );
>
>         final PackageDescr pack = walker.getPackageDescr();
>
>
>
>         final List<TypeDeclarationDescr> declarations =
> pack.getTypeDeclarations();
>
>
>
>         assertEquals( 3,
>
>                       declarations.size() );
>
>     }
>
>
>
> I believe @key is the cause, I based my code on the example from the
> documentation:
>
>
>
> declare Person
>
>     @author( Bob )
>
>     @dateOfCreation( 01-Feb-2009 )
>
>
>
>     name : String @key @maxLength( 30 )
>
>     dateOfBirth : Date
>
>     address : Address
>
> end
>
>
>
> Regards
>
>
>
> --zoly
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>


-- 
 Edson Tirelli
 JBoss Drools Core Development
 JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20090226/b494627e/attachment.html 


More information about the rules-dev mailing list