Edson,
I was finally able to get around to making a test case to determine if I
did in fact see this behavior. I can reproduce it and have opened up a
Jira for it. I have also attached my test case for easy reproduction.
For your (and other's) knowledge, here is the link:
http://jira.jboss.com/jira/browse/JBRULES-1053
Truly odd behavior for sure!
Thanks,
Eric
Edson Tirelli wrote:
Eric,
Please do! Thanks,
Edson
2007/7/26, Eric Miles <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
Edson,
That certainly makes sense. However I'm fairly certain that in
referencing the inner class in rule definition, I always qualified it
with the outer class name, ie:
DataClass.AlternativeKey()
or
AnotherClass.AlternativeKey()
I appreciate your explaination of the "merge" process. Rather than have
you spend any more time on this, I'll try to put together a test case to
ensure I was seeing the behavior I thought I was seeing. I probably
won't get around to this until tonight or the weekend.
If I was mistaken, I'll let you (and the mailing list) know. If I was
not, would you like me to open a JIRA with the attached test case? I
would assume that if the inner classes contain the qualified name that
the engine should be able to handle that?
Thanks,
Eric
Edson Tirelli wrote:
>
> Eric,
>
> Thanks, I understand now.
>
> What happens is that if both DRL files declare the same package
> name, all their contents will be merged. It means that you would
end up
> with both imports in the same namespace:
>
> import com.company.DataClass.AlternativeKey;
> import com.company.AnotherClass.AlternativeKey;
>
> And so the engine will raise an error saying that it does
not know
> which one you are refering to when you write simply:
>
> AlternativeKey
>
> I think the engine behavior is correct, since the idea of loading
> two different files with the same name space into the same package
> builder is to merge them, or even replace (update) that
eventually have
> the same name.
>
> What do you think?
>
> Edson
>
>
> 2007/7/26, Eric Miles <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>
> Edson,
>
> I have since changed my schema but here was my issue:
>
> rule1.drl:
> import com.company.DataClass.AlternativeKey;
> import com.company.DataClass;
>
> rule "Some rule"
> when
> DataClass.AlternativeKey(someParm == true)
> then
> ...
> end
>
> Different drlf file:
> rule2.drl
> import com.company.AnotherClass.AlternativeKey;
> import com.company.AnotherClass;
>
> rule "Another rule"
> when
> AnotherClass.AlternativeKey(diffParm == 1)
> then
> ...
> end
>
>
> This was the gist of what I was doing. The outer classes' names
> were different, it was the INNER class of each of these
classes that
> had the same name. I was actually getting compile errors on the
> import statements. Like I said, these rules worked fine if
loaded
> separately, but once I tried to put them all int he same rule
base,
> I was getting the import collision error. Later on this evening
> (when I'm not at work), I'll try to put together a small test
case
> and upload it. In the meantime, you can look skim over this
and let
> me know if something jumps out at you.
>
> Thanks,
> Eric
>
>
> On Thu, 2007-07-26 at 10:32 -0300, Edson Tirelli wrote:
>> Eric,
>>
>> Not sure if I understood your problem, but if you have
>> multiple classes with the same name, and the only difference is
>> that they are inner classes of different classes, I guess
what you
>> need to do is to fully qualify your class names in your rules...
>>
>> rule xxx
>> when
>> my.package.MyClass.MyInnerClass( ... )
>> ...
>> end
>>
>> If this is not your problem, can you please show us an
example
>> so we understand it better?
>>
>> Edson
>>
>>
>> 2007/7/25, Eric Miles < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
>>
>> Due to how JAXB treats anonymous inner complex types, I
ended
>> up with a public static inner classes named
AlternativeKey in
>> several of my data classes I have several rules written to
>> deal with each data class individually that all work ok.
>> However, when I attempt to put them all in the same rule
base
>> (all belong to the same package), I get an import collision
>> exception on the AlternativeKey inner class. Depending on
>> where in the builder I add the resource depends on which
>> AlternativeKey the compiler bitches about
(validity). I'm not
>> familiar with the source at all, so I'm unsure as to
where to
>> look for this. However, this sounds like a bug to
me? There
>> is an easy workaround for this as I I just don't use
anonymous
>> types and define them in my schema explicitly. Just
thought
>> I'd identify this as a possi ble issue.
>>
>> Thanks,
>> Eric
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users@lists.jboss.org
<mailto:rules-users@lists.jboss.org>
<mailto:rules-users@lists.jboss.org
<mailto:rules-users@lists.jboss.org>>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>>
>> --
>> Edson Tirelli
>> Software Engineer - JBoss Rules Core Developer
>> Office: +55 11 3529-6000
>> Mobile: +55 11 9287-5646
>> JBoss, a division of Red Hat @ www.jboss.com
<http://www.jboss.com> <http://www.jboss.com>
>
>
>
>
> --
> Edson Tirelli
> Software Engineer - JBoss Rules Core Developer
> Office: +55 11 3529-6000
> Mobile: +55 11 9287-5646
> JBoss, a division of Red Hat @ www.jboss.com
<http://www.jboss.com> <http://www.jboss.com>
>
>
>
------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org <mailto:rules-users@lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com <http://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