[rules-users] Fully qualified name for generated classes

Davide Sottara dsotty at gmail.com
Wed Sep 4 14:03:39 EDT 2013


Interesting..  can you define a package in the global declarative model
without it
clashing with the separate rule packages?
Otherwise, I'd consider it a bug

On 09/04/2013 10:43 AM, Lance Leverich wrote:
> The issue isn't that Foo cannot be resolved, as it was imported into
> both packages from the Global Area. The packages compile just fine. I
> believe what might be happening, though, is that each package is
> creating its own version of Foo.
> For example, am I experiencing something like...
>     com.mypkg.a generates a class with a fully qualified name of
> drools.com.mypkg.a.Foo
>     com.mypkg.b generates a class with a fully qualified name of
> drools.com.mypkg.b.Foo
> ?
>
> If this is the case, is there someway within Guvnor to refer to a
> particular version? I'm beginning to think that my best option might
> be to create a POJO and import it. At least that way, I can make sure
> I know the fully qualified (i.e. canonical) class name.
>
> ~ Lance
>
>
>     Cc: 
>     Date: Wed, 4 Sep 2013 15:41:55 +0100
>     Subject: Re: [rules-users] Fully qualified name for generated classes
>     Guvnor's Global Area has no affect on fully qualified type names;
>     it's just a container for things you want to share.
>
>     If Foo could not be resolved in myRuleB the rule would fail to
>     compile.
>
>     What do you observations show if you don't have any rule flow?
>
>
>     On 4 September 2013 15:28, Lance Leverich
>     <lance.leverich at gmail.com <mailto:lance.leverich at gmail.com>> wrote:
>
>         What would be the fully qualified name for a generated class,
>         that is based upon a fact type (for example a type named
>         "Foo") that is defined inside a declarative model? 
>         How is the fully qualified name affected if the model resides
>         in the Global Area, and is imported into multiple packages?
>
>         The reason for my question is that I have the following issue:
>
>         In the Global Area, I have a declarative model (named MyModel)
>         with a definition like...
>            declare Foo
>               bar: String
>               version: String
>            end
>
>         In a package (com.mypkg.a), I have imported MyModel from the
>         Global Area. I have a rule like...
>
>            rule "myRuleA"
>            ruleflow-group "firstGroup"
>            when
>               not Foo( bar=="bar" )
>            then
>               Foo fact = new Foo();
>               fact.setBar("bar");
>               fact.setVersion("1");
>               insert(fact);
>
>         In another package (com.mypkg.b), I have also imported MyModel
>         from the Global Area. I have a rule like
>
>            rule "myRuleB"
>           ruleflow-group "secondGroup"
>           when
>              Foo()
>           then
>              System.out.println("got at least one Foo");
>
>         Looking at logs, the rule myRuleA fires as is appropriate;
>         however, the rule myRuleB does not fire, even though both
>         ruleflow groups are represented in the ruleflow. I have
>         verified that both of the ruleflow groups are activated, using
>         the logs. My best guess at this point is that the class
>         generated for fact type Foo is different for each package. So,
>         how can I make sure that I am instantiating and checking for
>         the same type across packages?
>
>
>
>         Lance Leverich
>
>         _______________________________________________
>         rules-users mailing list
>         rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>         https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> 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/20130904/592f4847/attachment.html 


More information about the rules-users mailing list