[rules-users] Unpredicatable output with Temporal rule

PriyaSha nash.8103 at gmail.com
Thu Jul 2 09:55:08 EDT 2009


Requirement:

To identify those tickets with "critical" severity  which occurs after
2minutes but before 5minutes of a ticket with severity 'warning', provided
both are of different application name. 

This rule though not meaningful, is considered to understand the temporal
operator.

This is the rule:

declare OMNewTicket
    @role( event )
    @expires (10m)
end 

rule "Sample Temporal"
salience 10
no-loop true
when
	$ticket : OMNewTicket(severity == "warning", $appName : appName)
	$ticket1 : OMNewTicket(this after[2m, 5m] $ticket, severity == "critical",
appName != $appName)
then 
	String $s = "";
	String $s1 = "";
	if ( $ticket != null) {
		$s = formatDate($ticket.getReceivingTime());
	}
	if ( $ticket1 != null ) {
		$s1 = formatDate($ticket1.getReceivingTime());
	}
	drools.getWorkingMemory().setGlobal( "output", "found");
	drools.getWorkingMemory().setGlobal( "output1", $s);
	drools.getWorkingMemory().setGlobal( "output2", $s1);
end

function String formatDate( String inputDate ) {
    try {
        DateFormat formatter = new SimpleDateFormat("MM/dd/yy:hh:mm:aaa");
        Date date = (Date)formatter.parse(inputDate);
        return date.toString();
    } catch (ParseException e) {
        System.out.println("Exception :"+e);
        return null;
    }
}

Input:

14178		10/25/2008:9:33:AM		critical		TCS_Tibco_AMS_Email
14178		10/25/2008:9:49:AM		warning		NETLOGON
14178		10/25/2008:9:58:AM		warning		NETLOGON
14178		10/25/2008:10:00:AM		warning		crypt32
14178		10/25/2008:10:00:AM		warning		crypt32
14178		10/25/2008:10:00:AM		warning		crypt32
14178		10/25/2008:10:03:AM		warning		crypt32
14178		10/25/2008:10:04:AM		warning		Symantec
14178		10/25/2008:10:05:AM		critical		Windows SharePoint Services 3
14178		10/25/2008:10:08:AM		critical		OVIS
14178		10/25/2008:10:10:AM		critical		Office SharePoint Server
14225		12/11/2008:3:25:AM		warning		ASBDSM
14225		12/11/2008:3:25:AM		warning		WinDiskSpace
14225		12/11/2008:3:25:AM		critical		OVIS
14225		12/11/2008:3:30:AM		normal		OVIS
14225		12/11/2008:3:34:AM		critical		TCS_Tibco_AMS_Email

Output:
Status	       Time of Ticket	         Timestamp of  Ticket1	Time (Clock)	
found               Sat Oct 25 10:00:00    Sat Oct 25 10:05:00    Sat Oct 25
10:05:00 
found               Sat Oct 25 10:00:00    Sat Oct 25 10:08:00    Sat Oct 25
10:08:00 
found               Sat Oct 25 10:04:00    Sat Oct 25 10:10:00    Sat Oct 25
10:10:00 
found               Thu Dec 11 03:25:00   Thu Dec 11 03:34:00 Thu Dec 11
03:34:00 

Here Time of Ticket is output1 from rule and Timestamp of  Ticket1 is
output2 of the consequence.

Problem :

The output  'found               Thu Dec 11 03:25:00   Thu Dec 11 03:34:00
Thu Dec 11 03:34:00 ' is not satisfying the rule condition.
After first three output, there are no tuples matching the criteria
mentioned. Unable to predict the occurence of this in the output.

May I know what i miss here?

-- 
View this message in context: http://www.nabble.com/Unpredicatable-output-with-Temporal-rule-tp24307147p24307147.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list