The NPE during insertion is highly suggestive of another problem. Even if
there were two Event classes (one the pojo, the other one the declared one)
there should not be a NPE; the "hello world" rule simply would not fire.
Are all fields - especially eventName - properly initialized before that
fact is inserted?

-W

2012/2/9 Joaquín Díaz Vélez <[email protected]>

> Hi guys,
>
>             we are currently working with Drools Fusion in order to build
> a complex event processing solution. We've modelled our events using and
> object (Event) and this object is shared with everyone that needs to
> publish and event.
>
>             Our scenario goes this way
>
> 1) Our shared class, located in *ar.com.fluxit.Event*
>
> 2) An example of our cep rules declared in package *rules.flux*
>
>     package *rules.flux*
>
>     import *ar.com.fluxit.Event;*
>
>     declare *Event*
> @role (event)
>  @expires(1m)
>     end
>
>     rule "hello world"
> when
>     $event:Event( eventName == "Hello World") from entry-point "*
> rules.flux*"
> then
>      System.out.println("Hello world");
>         end
>
>
> 3) When we try to insert a *ar.com.fluxit.Event *as a fact in entry point
> "rules.flux" Drools Fusion throws a NullPointerException. If you read
> Drools Expert documentation (
> http://docs.jboss.org/drools/release/5.2.0.Final/drools-expert-docs/html/ch05.html#d0e3661
>  -
> Accessing Declared Types from the Application Code) you find this
> paragraph:
> "The first important thing to realize is that a declared fact will belong
> to the package where it was declared. So, for instance, in the example
> below, Person will belong to the org.drools.examples package, and so the
> fully qualified name of the generated class will be
> org.drools.examples.Person."
>
> When we change package declaration to *package ar.com.fluxit *everything
> works like a charm. But in our cep scenario we need that our
> ar.com.fluxit.Event object to be user by all rules declared in any package.
>
> So, there goes the question. There is a workaround for this? This is a
> bug?
>
> Any help would be very appreciated
>
>
> Cheers
>
>
> --
> Joaquín Díaz Vélez
>
> Flux IT SA
> Calle 9 N° 865 - Paseo La Panadería - Planta Alta
> La Plata - Buenos Aires - Argentina
> Teléfono (+54) 221 553 2980 int 306
> Móvil (+54) 9221 5863322
>     www.fluxit.com.ar
>
>
>
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to