[jboss-jira] [JBoss JIRA] Closed: (JBRULES-570) Problem compiling package from xml

Fernando Meyer (JIRA) jira-events at lists.jboss.org
Thu Jul 5 01:10:51 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBRULES-570?page=all ]

Fernando Meyer closed JBRULES-570.
----------------------------------


> Problem compiling package from xml
> ----------------------------------
>
>                 Key: JBRULES-570
>                 URL: http://jira.jboss.com/jira/browse/JBRULES-570
>             Project: JBoss Rules
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: xml
>    Affects Versions: 3.0.4
>         Environment: Windows XP, Eclipse 3.2, JBoss Rules IDE 3.0.4
>            Reporter: Javier Prieto
>         Assigned To: Fernando Meyer
>             Fix For:  4.0.0.MR4
>
>         Attachments: DroolsTest.java, Sample.drl.xml
>
>
> There is a problem compiling package from an xml rule file with rules calling functions in the rhs body. This is an example of an xml rule file that fails:
> <?xml version="1.0" encoding="UTF-8"?>
>  <package name="com.sample"  
>         xmlns="http://drools.org/drools-3.0"
>         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
>         xs:schemaLocation="http://drools.org/drools-3.0 drools-3.0.xsd">
> <function return-type="void" name="manageAlert">
>         <parameter identifier="alert" type="String"/>
>         <body>System.out.println(alert);</body>
> </function>
> <function return-type="void" name="manageRuleFired">
>         <parameter identifier="ruleName" type="String"/>
>         <body>System.out.println(ruleName + " fired");</body>
> </function>
> <rule name="Impossible Rule">
> <lhs>
>         <eval>1 == 2</eval>
> </lhs>
> <rhs>manageAlert("impossibleRule!!!"); manageRuleFired("Impossible Rule");</rhs>
> </rule>
> </package>
> I've found a workaround. If you insert a blank char anywhere in the first sentence of the rhs body (manageAlert(...);), it works well:
> <rhs>manageAlert ("impossibleRule!!!"); manageRuleFired("Impossible Rule");</rhs> (blank after manageAlert)
> or, <rhs>manageAlert( "impossibleRule!!!"); manageRuleFired("Impossible Rule");</rhs> (blank after '(' )
> or, <rhs> manageAlert("impossibleRule!!!"); manageRuleFired("Impossible Rule");</rhs> (blank at the begining)
> or, <rhs>manageAlert("impossible Rule!!!"); manageRuleFired("Impossible Rule");</rhs> (blank in the string)
> ... 
> If you call a Java method just before or after 'manageAlert("impossible Rule!!!");'  with a blank between them, it works well too:
> <rhs>System.out.println("Hello"); manageAlert("impossibleRule!!!"); manageRuleFired("Impossible Rule");</rhs>
> <rhs>manageAlert("impossibleRule!!!"); System.out.println("Hello"); manageRuleFired("Impossible Rule");</rhs>
> ...
> I attach a test case with the xml rule file that cause the rule compilation error and the main class to test it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list