[jboss-jira] [JBoss JIRA] (DROOLS-1266) OOPath use with primitives does not return any match

Tibor Zimányi (JIRA) issues at jboss.org
Mon May 29 07:26:02 EDT 2017


     [ https://issues.jboss.org/browse/DROOLS-1266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tibor Zimányi updated DROOLS-1266:
----------------------------------
    Labels: oopath  (was: )


> OOPath use with primitives does not return any match
> ----------------------------------------------------
>
>                 Key: DROOLS-1266
>                 URL: https://issues.jboss.org/browse/DROOLS-1266
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>            Reporter: Matteo Mortari
>            Assignee: Mario Fusco
>              Labels: oopath
>
> Consider the following reproducer:
> {code:java}
>     @Test
>     public void testPrimitives() {
>         String drl =
>                 "import org.drools.compiler.xpath.*;\n" +
>                 "global java.util.List list\n" +
>                 "\n" +
>                 "rule R when\n" +
>                 "  Adult( $x: /children.age )\n" +
>                 "then\n" +
>                 "  list.add( $x );\n" +
>                 "end\n";
>         
>         System.out.println(drl);
>         KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL )
>                                              .build()
>                                              .newKieSession();
>         List<String> list = new ArrayList<String>();
>         ksession.setGlobal( "list", list );
>         Man bob = new Man( "Bob", 40 );
>         bob.addChild( new Child( "Charles", 12 ) );
>         bob.addChild( new Child( "Debbie", 8 ) );
>         ksession.insert( bob );
>         ksession.fireAllRules();
>         
>         assertEquals(2, list.size());
>     }
> {code}
> these reproducer/test fails. Does not provide any match of the primitive type returned by {{age}}.
> Please note if the rule was instead:
> {code:java}
> rule R when
>   Adult( $x: /children.name )
> then
>   ...
> {code}
> the test would pass.
> Hence appears OOPath is not matching on the primitive types?



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)



More information about the jboss-jira mailing list