[rules-users] DSL Build Problem

2012-02-07 Thread John Peterson
I'm looking for a little help on a problem we can't figure out with some DSL 
errors during a build.  We're working with version 5.3.0.Final on RSA 7.5.5.

The offending line of DSL is on the rule is:

Write qualifyingPoints on Result as $var01 * $var02

$var01 and $var02 are variables set in the WHEN part of this rule.

The offending line of code is translating to:

modify (Result){qualifyingPoints = $var01 * $var02};

When I execute the program that calls this rule, if fails during the build 
process with the following:

Unable to Analyse Expression @Modify with (Result){qualifyingPoints = $var01 * 
$var02 };
 [Error: java/lang/String.isEmpty()Z]
[Near : {... @Modify with (Result){qualifyingPt }]
 ^
[Line: 1, Column: 9] : [Rule name=Qualifying Points rule 1']

If I modify the code to use an assignment and update instead of modify, it will 
build without an error:

Result.setQualifyingPoints(  $var01 * $var02 );update (Result);

Note that we only see this behavior on RSA.  We do not see it on Eclipse (but 
we need to use RSA).

I didn't find anything online so I thought I'd check to see if this is 
something someone has seen before.

Thanks!


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] DSL Build Problem

2012-02-07 Thread Wolfgang Laun
The error is raised during DRL compilation - so it is not a DSL build problem.

If you use the resulting DRL line instead of the DRL phrase Write
qualifyingPoints...
by prefixing it with '' you should see the same error.

Do you have the same Drools runtime in the classpath for RSA and Eclipse,
especially the MVEL jar?

Not causing your problem, but it would be healthier to call the setter:
modify (Result){ setQualifyingPoints($var01 * $var02) };

-W

On 07/02/2012, John Peterson john.peterson.g...@statefarm.com wrote:
 I'm looking for a little help on a problem we can't figure out with some DSL
 errors during a build.  We're working with version 5.3.0.Final on RSA 7.5.5.

 The offending line of DSL is on the rule is:

 Write qualifyingPoints on Result as $var01 * $var02

 $var01 and $var02 are variables set in the WHEN part of this rule.

 The offending line of code is translating to:

 modify (Result){qualifyingPoints = $var01 * $var02};

 When I execute the program that calls this rule, if fails during the build
 process with the following:

 Unable to Analyse Expression @Modify with (Result){qualifyingPoints = $var01
 * $var02 };
  [Error: java/lang/String.isEmpty()Z]
 [Near : {... @Modify with (Result){qualifyingPt }]
  ^
 [Line: 1, Column: 9] : [Rule name=Qualifying Points rule 1']

 If I modify the code to use an assignment and update instead of modify, it
 will build without an error:

 Result.setQualifyingPoints(  $var01 * $var02 );update (Result);

 Note that we only see this behavior on RSA.  We do not see it on Eclipse
 (but we need to use RSA).

 I didn't find anything online so I thought I'd check to see if this is
 something someone has seen before.

 Thanks!



___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users