It is definitively a bug then. Will take a look.

   Edson

2008/10/7 Michal Bali <michalbali@gmail.com>
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@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@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@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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



_______________________________________________
rules-users mailing list
rules-users@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