[rules-users] possible bug with event declarations

Michal Bali michalbali at gmail.com
Tue Oct 7 05:00:28 EDT 2008


Hi Edson,
Thanks for the quick reply.

In the example I've mentioned there is already such import:
import org.drools.StockTick;

BTW, it is a unit test you've written :)

I've also tried the fully qualified class name but it throws following
exception (this was tested with 5.0.0M2):
java.lang.NullPointerException
at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:420)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:381)
at
com.dds.adjudication.service.DroolsTestHelper.createRuleBase(DroolsTestHelper.java:119)
at
com.dds.adjudication.service.DroolsTestHelper.getEligibilityRuleBase(DroolsTestHelper.java:81)
at
com.dds.adjudication.service.DroolsEligibilityIntegrationTest.setUp(DroolsEligibilityIntegrationTest.java:32)
at
org.jmock.integration.junit3.VerifyingTestCase.runBare(VerifyingTestCase.java:36)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Best Regards,
Michal


On Tue, Oct 7, 2008 at 2:20 AM, Edson Tirelli <tirelli at post.com> wrote:

>
>    Oh, forgot to mention, if you don't want the import, you can also fully
> qualify the class:
>
> declare your.package.SomeClass
>     @role( event )
> end
>
>     []s
>     Edson
>
> 2008/10/6 Edson Tirelli <tirelli at post.com>
>
>
>>    Yes, but in that case you need to tell drools where to find the
>> class... i.e., add an import for it:
>>
>> import your.package.SomeClass
>>
>> declare SomeClass
>>     @role( event )
>> end
>>
>>    If it does not work, let me know plz. Since it is new feature, there
>> may still be some corners to polish.
>>
>>    []s
>>    Edson
>>
>> 2008/10/6 Michal Bali <michalbali at gmail.com>
>>
>>>  Hi,
>>>
>>> Should it be possible to declare an event role to an existing type that
>>> is outside of the current rule package?
>>>
>>> Example:
>>> In the following file:
>>>
>>> http://fisheye.jboss.org/browse/JBossRules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EntryPoint.drl?r=19705
>>>
>>> change the first line to:
>>> package org.droolsssssss;  //this makes sure that StockTick is in
>>> different package
>>>
>>> now, the test
>>> org.drools.integrationtests.StreamsTest.testEventAssertion() throws
>>> following exception:
>>>
>>> org.drools.RuntimeDroolsException: unable to resolve Type Declaration
>>> class 'StockTick'
>>>     at
>>> org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:484)
>>>     at
>>> org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:381)
>>>     at
>>> org.drools.integrationtests.StreamsTest.loadRuleBase(StreamsTest.java:93)
>>>     at
>>> org.drools.integrationtests.StreamsTest.testEventAssertion(StreamsTest.java:101)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>>>
>>> Best Regards,
>>> Michal
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>
>>
>> --
>>  Edson Tirelli
>>  JBoss Drools Core Development
>>  JBoss, a division of Red Hat @ www.jboss.com
>>
>
>
>
> --
>  Edson Tirelli
>  JBoss Drools Core Development
>  JBoss, a division of Red Hat @ www.jboss.com
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081007/84a68f25/attachment.html 


More information about the rules-users mailing list