hey wolfgang,
thanks a lot for your valuable and prompt help. it worked for me and i'm
able to run the rule engine with a spread sheet rule.
for this, i'll be grateful to you.
event resolved:
actually "event" is imported and declared in the rule. the problem is,
in the then part when i referred the event object i forgot to mention it
with a preceding "$" symbol. and that was the culprit. when i was going
through the documentation, it said the "$" symbol is not mandatory and
it's optional.
now i've found that, using the "$" symbol is optional. buf if you use it
on a variable declaration, it's mandatory that you've to specify on
further reference of that variable. today's findings... :-)
spreadsheet dependency:
actually it worked for me without implementing any dependency in the
spreadsheet. probably i should educate myself in spreadsheet stuffs.
thanks once again.
_ _ _ _ |.
| | ||_|| (_||| \/
On 01/11/2011 05:21 PM, Wolfgang Laun wrote:
2011/1/11 Murali Venugopal <murali.venugopal(a)sifycorp.com
<mailto:murali.venugopal@sifycorp.com>>
Hi Wolffgang,
Thanks for your quick response. I did as you say. now my rule file
when generated from excel sheet and printed in console looks like
this.
package alertRouting;
#generated from Decision Table
import com.sify.beacon.events.RouteEvent;
import com.sify.beacon.events.trapevent.Varbind;
#From row number: 10
rule "210.210.122.100 GroupA"
when
$event : RouteEvent(nodeIp == "210.210.122.100")
$varbind : Varbind(oid == "1.3.6.1.2.1.2.2.1.1" && value
== "5")
from $event.varbindings
then
event.setGroup("GroupA");
System.out.println("set to Group A");
end
it seems that the "from" clause is in the next line as a separate
condition. so, drools have considered it as a separate condition.
DRL is free form, so line breaks don't matter.
the error message is
error java.lang.RuntimeException: Rule Compilation error : [Rule
name='210.210.122.100 GroupA']
alertRouting/Rule_210_210_122_100_GroupA_0.java (7:397) :
event cannot be resolved
"event" is the culprit. Now where is this "event"? Has it been
declared? Where? Perhaps a typo?...
also, i don't understand about implementing the dependency to the
cell in left. i tried logical, mathematical dependency conditions.
sorry for my ignorance.
This requires spreadsheet functions, e.g.
=IF( D12="","","X" )
would be in E12. The cell reference is relative, so copying it dowm
automatically changes D12 to D13, etc.
-W
please help me resolve this issue.
_ _ _ _ |.
| | ||_|| (_||| \/
On 01/11/2011 01:56 PM, Wolfgang Laun wrote:
> There is a limit to what can be implemented using decision
> tables. Some constructs are possible with hacks.
>
> In your case, you cannot have constraints with parameters and
> "from" in the same column. You need 2 adjacent columns.
>
> CONDITION
> $varbind : Varbind
> oid == $1 && value == $2
> the pattern and constraints
> ".1.3.6.1.2.1.2.2.1.1.0","5"
> ----------------------------------------------------------------
> CONDITION
>
> from $event.varbindings
> the from clause
> x
> ------------------------------------------------------------------
>
> Note the blank cell below CONDITION. The 'x' triggers the
> insertion of the from clause. (It should be possible to implement
> the dependency on the cell to the left by a simple spreadsheet
> formula.)
>
> -W
>
>
>
>
> 2011/1/11 Murali Venugopal <murali.venugopal(a)sifycorp.com
> <mailto:murali.venugopal@sifycorp.com>>
> >
> > hi,
> >
> > i'm facing a problem with decision tables. i've got a .drl
> working file. but when i happen to take that into a .xls file (
> decision table ) it throws some errors.
> >
> > my actual rule in .drl file has got something like this.
> >
> > when
> >
> > $event : RouteEvent( nodeIp == "192.168.1.12 )
> > $varbind : Varbind ( oid == ".1.3.6.1.2.1.2.2.1.1.0"
&&
> value == "5" ) from $event.varbindings
> >
> > then
> >
> > System.out.println("some text")
> >
> > here in my decision table, my first cell would have the first
> condition
> >
> > $event : RouteEvent
> > nodeIp == "$param"
> > that is, i've to omit my "(" and ")" braces.
> >
> > so now, my second condition is
> >
> > $varbind : Varbind
> > ( oid == "$1" && value == "$2" ) from
$event.varbindings
> >
> > here i don't know how to omit the "(" and ")"
braces. or should
> i add and other layer of those braces.
> >
> > anyway, the decision table is not working, where as my rule
> file does.
> >
> > the error message is
> >
> > error java.lang.RuntimeException: [10,55]: [ERR 102] Line
> 10:55 mismatched input 'FROM' expecting ')' in rule
> "210.210.122.100 GroupA" in pattern Varbind[10,77]: [ERR 102]
> Line 10:77 mismatched input ')' expecting 'then' in rule
> "210.210.122.100 GroupA"
> >
> > my doubt is,
> > in the first case all my condition expression is contained with
> in braces. where as in second case, it's not. so how do i've to
> handle this. do i've have to omit the braces in the second case
> or not.
> >
> > please help me. i've been struggling to solve this error. also,
> i couldn't find references in the documentation.
> > thanks in advace.
> >
> > _ _ _ _ |.
> > | | ||_|| (_||| \/
> >
> > Whoever wants to be happy, let him be so: of tomorrow there's
> no knowing
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
> >
https://lists.jboss.org/mailman/listinfo/rules-users
> >
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Get your world in your inbox!
Mail, widgets, documents, spreadsheets, organizer and much more with your Sifymail WIYI
id!
Log on to
http://www.sify.com
********** DISCLAIMER **********
Information contained and transmitted by this E-MAIL is proprietary to
Sify Limited and is intended for use only by the individual or entity to
which it is addressed, and may contain information that is privileged,
confidential or exempt from disclosure under applicable law. If this is a
forwarded message, the content of this E-MAIL may not have been sent with
the authority of the Company. If you are not the intended recipient, an
agent of the intended recipient or a person responsible for delivering the
information to the named recipient, you are notified that any use,
distribution, transmission, printing, copying or dissemination of this
information in any way or in any manner is strictly prohibited. If you have
received this communication in error, please delete this mail & notify us
immediately at admin(a)sifycorp.com