It will be included in milestone 2, but if you want to try now, just
checkout the code from trunk.
Thank you for reporting.
Edson
Edson Tirelli wrote:
Dandrea,
I see the problem.
I will investigate a bit and let you know in a couple hours.
Regards,
Edson
Dandrea Francesco wrote:
> Yes, but I don't think that the cases below apply to my test.
> All my facts have a default constructor and they doesn't use the
> final keyword.
> The native data types are used in the LHS only (boolean an integer
> types) in this way for example:
>
> $allarme : AllarmeMisura(aggregated==*false*, networkState=="Open")
>
> which i think is allowed (right?).
> The base error is a class cast exception it seems:
> __
>
> _java.lang.ClassCastException_:
> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>
> at
>
org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.getValue(Unknown
> Source)
>
> at
> org.drools.base.ClassFieldExtractor.getValue(_ClassFieldExtractor.java:79_)
>
>
> at org.drools.rule.Declaration.getValue(_Declaration.java:156_)
>
> at
>
it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Predicate0Invoker.evaluate(_Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Predicate0Invoker.java:14_)
>
>
> at
>
org.drools.rule.PredicateConstraint.isAllowedCachedRight(_PredicateConstraint.java:190_)
>
>
>
> AggregatedAlarm is the base class of AllarmeTf, and the LHS of the
> rule "Nuovo Allarme Misura No Allarme Oggetto" that gives an
> exception is this:
>
> $allarme : AllarmeMisura(aggregated==*false*, networkState=="Open")
>
> *not* AllarmeTf( $tfAllarme :referencedElement ->(
> $tfAllarme.equals($allarme.getReferencedElement().getReferencedTf())))
>
> To me it seem ok.....
>
> Am I doing something wrong?
>
>
>
>
> ------------------------------------------------------------------------
> *Da:* rules-users-bounces(a)lists.jboss.org
> [mailto:rules-users-bounces@lists.jboss.org] *Per conto di *Mark
> Proctor
> *Inviato:* mercoledì 21 febbraio 2007 15.41
> *A:* Rules Users List
> *Oggetto:* Re: [rules-users] Is 3.1 M1 backward compatible?
>
> The syntax is backwards compatible. However as the release notes
> mention we no longer autobox primitives, as you can now work
> directly with them, which will cause issues in old drls that
> assumed numbers are wrapped. Also pojos must have a default
> constructor and not use the final keyword at the class and method
> level - we are actively looking to add more flexability to this
> case.
>
> Mark
> Dandrea Francesco wrote:
>
>> Hi all, the attached example runs ok (slow but ok) on JBoss Rules 3.0.5
>> Now when I run it with 3.1M1 I have an exception (I pasted it at the
>> end
>> of the mail).
>> Is 3.1 M1 backward compatible? Is this a bug? Should I change the code
>> in some way?
>> Thanks a lot
>>
>> org.drools.RuntimeDroolsException: Exception executing predicate
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker@60bd060e
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:196)
>>
>> at
>> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
>>
>> onstraints.java:111)
>>
>> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>>
>> at
>> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
>>
>> siteObjectSinkAdapter.java:313)
>>
>> at
>> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>>
>> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>>
>> at
>> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>>
>> at
>> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
>>
>> .java:68)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
>>
>> ry.java:724)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:72)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:66)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
>>
>> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
>>
>> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
>>
>> ConsequenceInvoker.java:22)
>>
>> at
>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>>
>> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:360)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:341)
>>
>> at
>> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
>>
>> s.java:85)
>>
>> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>>
>> Caused by: java.lang.ClassCastException:
>> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>>
>> at
>> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
>>
>> etValue(Unknown Source)
>>
>> at
>> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
>>
>> )
>>
>> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
>>
>> redicate0Invoker.java:14)
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:190)
>>
>> ... 18 more
>>
>> org.drools.RuntimeDroolsException: Exception executing predicate
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker@60bd060e
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:196)
>>
>> at
>> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
>>
>> onstraints.java:111)
>>
>> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>>
>> at
>> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
>>
>> siteObjectSinkAdapter.java:313)
>>
>> at
>> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>>
>> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>>
>> at
>> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>>
>> at
>> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
>>
>> .java:68)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
>>
>> ry.java:724)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:72)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:66)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
>>
>> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
>>
>> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
>>
>> ConsequenceInvoker.java:22)
>>
>> at
>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>>
>> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemor
>>
>> y.java:384)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:366)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:341)
>>
>> at
>> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
>>
>> s.java:85)
>>
>> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>>
>> Caused by: java.lang.ClassCastException:
>> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>>
>> at
>> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
>>
>> etValue(Unknown Source)
>>
>> at
>> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
>>
>> )
>>
>> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
>>
>> redicate0Invoker.java:14)
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:190)
>>
>> ... 19 more
>>
>> org.drools.spi.ConsequenceException: org.drools.RuntimeDroolsException:
>> Exception executing predicate
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker@60bd060e
>>
>> at
>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:471)
>>
>> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemor
>>
>> y.java:384)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:366)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
>>
>> ry.java:341)
>>
>> at
>> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
>>
>> s.java:85)
>>
>> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>>
>> Caused by: org.drools.RuntimeDroolsException: Exception executing
>> predicate
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker@60bd060e
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:196)
>>
>> at
>> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
>>
>> onstraints.java:111)
>>
>> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>>
>> at
>> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
>>
>> siteObjectSinkAdapter.java:313)
>>
>> at
>> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>>
>> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>>
>> at
>> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>>
>> at
>> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
>>
>> .java:68)
>>
>> at
>> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
>>
>> ry.java:724)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:72)
>>
>> at
>> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
>>
>> er.java:66)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
>>
>> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
>>
>> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
>>
>> ConsequenceInvoker.java:22)
>>
>> at
>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>>
>> ... 6 more
>>
>> Caused by: java.lang.ClassCastException:
>> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>>
>> at
>> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
>>
>> etValue(Unknown Source)
>>
>> at
>> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
>>
>> )
>>
>> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>>
>> at
>> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
>>
>> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
>>
>> redicate0Invoker.java:14)
>>
>> at
>> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
>>
>> aint.java:190)
>>
>> ... 19 more
>> --------------------------------------------------------------------
>>
>> CONFIDENTIALITY NOTICE
>>
>> This message and its attachments are addressed solely to the persons
>> above and may contain confidential information. If you have received
>> the message in error, be informed that any use of the content hereof
>> is prohibited. Please return it immediately to the sender and delete
>> the message. Should you have any questions, please contact us by
>> replying to webmaster(a)telecomitalia.it.
>>
>> Thank you
>>
>>
www.telecomitalia.it
>>
>> --------------------------------------------------------------------
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> --------------------------------------------------------------------
> CONFIDENTIALITY NOTICE
> This message and its attachments are addressed solely to the persons
> above and may contain confidential information. If you have received
> the message in error, be informed that any use of the content hereof
> is prohibited. Please return it immediately to the sender and delete
> the message. Should you have any questions, please contact us by
> replying to webmaster(a)telecomitalia.it
> <mailto:webmaster@telecomitalia.it>.
> Thank you
>
www.telecomitalia.it
> <
http://www.telecomitalia.it>
> --------------------------------------------------------------------
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3124-6000
Mobile: +55 11 9218-4151
JBoss, a division of Red Hat @