<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'">Hi Pavel<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN><BR>
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'">&nbsp;<o:p></o:p></SPAN><BR>
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'">I really don’t understand what do you mean. I guess you didn’t read complete thread carefully. Assigning endDate attribute in a variable and not using that variable in condition make no sense to me.<o:p></o:p></SPAN><BR>
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'">&nbsp;<o:p></o:p></SPAN><BR>
<SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'">Shabbir<o:p></o:p></SPAN><BR>

<P>&nbsp;<BR></P>&gt; Date: Wed, 24 Feb 2010 10:54:24 +0100<BR>&gt; From: pavel.tavoda@gmail.com<BR>&gt; To: rules-users@lists.jboss.org<BR>&gt; Subject: Re: [rules-users] Comparing Date with || OR operator<BR>&gt; <BR>&gt; What about:<BR>&gt; &nbsp;&nbsp;&nbsp; Membership ( $regDate : regDate)<BR>&gt; &nbsp;&nbsp;&nbsp; Segment ($endDate : endDate, startDate &lt; $regDate || startDate &gt; endDate )<BR>&gt; <BR>&gt; Logically startDate &gt; endDate doesn't make sense but it should work ;-)<BR>&gt; <BR>&gt; Pavel<BR>&gt; <BR>&gt; 2010/2/24 Shabbir Dhari &lt;sdhari@hotmail.com&gt;:<BR>&gt; &gt; I tried with some thing different and it worked but I don’t want this as I<BR>&gt; &gt; have many collections in my data structure.<BR>&gt; &gt;<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; //this works<BR>&gt; &gt; &nbsp; &nbsp; Membership ( $regDate : regDate)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; Segment ( $endDate : endDate )<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; Segment ( startDate &lt; $regDate || startDate &gt; $endDate )<BR>&gt; &gt;<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; //this does NOT work<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; Membership ( $regDate : regDate)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; Segment ($endDate : endDate, startDate &lt; $regDate || startDate &gt;<BR>&gt; &gt; $endDate )<BR>&gt; &gt;<BR>&gt; &gt; ________________________________<BR>&gt; &gt; From: sdhari@hotmail.com<BR>&gt; &gt; To: rules-users@lists.jboss.org<BR>&gt; &gt; Date: Tue, 23 Feb 2010 23:09:50 +0000<BR>&gt; &gt; Subject: Re: [rules-users] Comparing Date with || OR operator<BR>&gt; &gt;<BR>&gt; &gt; Segment ( $endDate : endDate, startDate &lt; $regDate || startDate &gt; $endDate )<BR>&gt; &gt; even does not work. I am using verstion 5.0.1. All dates are java.util.Date<BR>&gt; &gt; and values in sample fact are:<BR>&gt; &gt;<BR>&gt; &gt; regDate = Fri Aug 01 00:00:00 BST 2008<BR>&gt; &gt; startDate =&nbsp; Tue Sep 01 00:00:00 BST 2009<BR>&gt; &gt; endDate = Fri Jul 30 00:00:00 BST 2010<BR>&gt; &gt;<BR>&gt; &gt; Stack trace:<BR>&gt; &gt;<BR>&gt; &gt; java.lang.NullPointerException<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at org.drools.reteoo.LeftTuple.get(LeftTuple.java:265)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at org.drools.reteoo.LeftTuple.get(LeftTuple.java:300)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.rule.VariableRestriction$ObjectVariableContextEntry.updateFromTuple(VariableRestriction.java:320)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.rule.AbstractCompositeConstraint$MultiFieldConstraintContextEntry.updateFromTuple(AbstractCompositeConstraint.java:305)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:119)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:109)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; org.drools.reteoo.ReteooStatelessSession.execute(ReteooStatelessSession.java:192)<BR>&gt; &gt; &nbsp;&nbsp;&nbsp; at<BR>&gt; &gt; au.gov.nsw.osr.zena.rules.AnnualRulesTester.main(AnnualRulesTester.java:57)<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;&gt; Date: Tue, 23 Feb 2010 12:54:46 +0100<BR>&gt; &gt;&gt; From: wolfgang.laun@gmail.com<BR>&gt; &gt;&gt; To: rules-users@lists.jboss.org<BR>&gt; &gt;&gt; Subject: Re: [rules-users] Comparing Date with || OR operator<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; Please try this rewrite of the 2nd CE:<BR>&gt; &gt;&gt; Segment ( $endDate : endDate, startDate &lt; $regDate || startDate &gt; $endDate<BR>&gt; &gt;&gt; )<BR>&gt; &gt;&gt; and report the outcome to the list, together with the Dools version<BR>&gt; &gt;&gt; you are using.<BR>&gt; &gt;&gt; Thank you.<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; 2010/2/23 dhari &lt;sdhari@hotmail.com&gt;:<BR>&gt; &gt;&gt; &gt; Hi Thomas<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; Thanks your prompt reply. I am sure all three attributes are NOT null. I<BR>&gt; &gt;&gt; &gt; have tested them before sending question to mailing list. If you want,<BR>&gt; &gt;&gt; &gt; I&nbsp;can<BR>&gt; &gt;&gt; &gt; send complete sample code and you can try it at your end.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; Regards,<BR>&gt; &gt;&gt; &gt; Dhari<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt; Date: Tue, 23 Feb 2010 02:50:08 -0800<BR>&gt; &gt;&gt; &gt; From: [hidden email]<BR>&gt; &gt;&gt; &gt; To: [hidden email]<BR>&gt; &gt;&gt; &gt; Subject: Re: Comparing Date with || OR operator<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; If it works fine with an and operator then I’d imagine that startDate &lt;<BR>&gt; &gt;&gt; &gt; $regDate returns false, with an &amp;&amp; this would abort evaluation<BR>&gt; &gt;&gt; &gt; immediately<BR>&gt; &gt;&gt; &gt; but with an or it would mean that startDate &gt; endDate is evaluated and<BR>&gt; &gt;&gt; &gt; so<BR>&gt; &gt;&gt; &gt; presumably it is this bit that is throwing the NPE.&nbsp; I’d imagine that<BR>&gt; &gt;&gt; &gt; the<BR>&gt; &gt;&gt; &gt; most likely reason for this would be that endDate is null.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; Try changing it too<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; Segment ( startDate &lt; $regDate || (endDate != null &amp;&amp; startDate &gt;<BR>&gt; &gt;&gt; &gt; endDate) )<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; And see whether you loose the NPE.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; Thomas<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; From: [hidden email] [mailto:[hidden email]] On Behalf Of dhari<BR>&gt; &gt;&gt; &gt; Sent: 23 February 2010 06:15<BR>&gt; &gt;&gt; &gt; To: [hidden email]<BR>&gt; &gt;&gt; &gt; Subject: [rules-users] Comparing Date with || OR operator<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; The following code generates NPE in ReteTuple.java<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; rule<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Membership ( $regDate : regDate)<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Segment ( startDate &lt; $regDate || startDate &gt; endDate )<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; System.err.print(“Invalid start date”);<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; end<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; I am new in Drools and don’t know much about DRL scripting. It works<BR>&gt; &gt;&gt; &gt; fine I<BR>&gt; &gt;&gt; &gt; use &amp;&amp; operator instead.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; View this message in context: Comparing Date with || OR operator<BR>&gt; &gt;&gt; &gt; Sent from the Drools - User mailing list archive at Nabble.com.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; **************************************************************************************<BR>&gt; &gt;&gt; &gt; This message is confidential and intended only for the addressee. If you<BR>&gt; &gt;&gt; &gt; have received this message in error, please immediately notify the<BR>&gt; &gt;&gt; &gt; [hidden<BR>&gt; &gt;&gt; &gt; email] and delete it from your system as well as any copies. The content<BR>&gt; &gt;&gt; &gt; of<BR>&gt; &gt;&gt; &gt; e-mails as well as traffic data may be monitored by NDS for employment<BR>&gt; &gt;&gt; &gt; and<BR>&gt; &gt;&gt; &gt; security purposes. To protect the environment please do not print this<BR>&gt; &gt;&gt; &gt; e-mail unless necessary.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; NDS Limited. Registered Office: One London Road, Staines, Middlesex,<BR>&gt; &gt;&gt; &gt; TW18<BR>&gt; &gt;&gt; &gt; 4EX, United Kingdom. A company registered in England and Wales.<BR>&gt; &gt;&gt; &gt; Registered<BR>&gt; &gt;&gt; &gt; no. 3080780. VAT no. GB 603 8808 40-00<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; **************************************************************************************<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt; This message is confidential and intended only for the addressee. If you<BR>&gt; &gt;&gt; &gt; have received this message in error, please immediately notify the<BR>&gt; &gt;&gt; &gt; [hidden<BR>&gt; &gt;&gt; &gt; email] and delete it from your system as well as any copies. The content<BR>&gt; &gt;&gt; &gt; of<BR>&gt; &gt;&gt; &gt; e-mails as well as traffic data may be monitored by NDS for employment<BR>&gt; &gt;&gt; &gt; and<BR>&gt; &gt;&gt; &gt; security purposes.<BR>&gt; &gt;&gt; &gt; To protect the environment please do not print this e-mail unless<BR>&gt; &gt;&gt; &gt; necessary.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; An NDS Group Limited company. www.nds.com<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; _______________________________________________<BR>&gt; &gt;&gt; &gt; rules-users mailing list<BR>&gt; &gt;&gt; &gt; [hidden email]<BR>&gt; &gt;&gt; &gt; https://lists.jboss.org/mailman/listinfo/rules-users<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt; View message @<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; http://n3.nabble.com/Comparing-Date-with-OR-operator-tp347656p379447.html<BR>&gt; &gt;&gt; &gt; To unsubscribe from Drools - Java Rules Engine, click here.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt; Find your next place with Ninemsn&nbsp;property Looking for a place to rent,<BR>&gt; &gt;&gt; &gt; share or buy?<BR>&gt; &gt;&gt; &gt; ________________________________<BR>&gt; &gt;&gt; &gt; View this message in context: RE: Comparing Date with || OR operator<BR>&gt; &gt;&gt; &gt; Sent from the Drools - User mailing list archive at Nabble.com.<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; _______________________________________________<BR>&gt; &gt;&gt; &gt; rules-users mailing list<BR>&gt; &gt;&gt; &gt; rules-users@lists.jboss.org<BR>&gt; &gt;&gt; &gt; https://lists.jboss.org/mailman/listinfo/rules-users<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; _______________________________________________<BR>&gt; &gt;&gt; rules-users mailing list<BR>&gt; &gt;&gt; rules-users@lists.jboss.org<BR>&gt; &gt;&gt; https://lists.jboss.org/mailman/listinfo/rules-users<BR>&gt; &gt;<BR>&gt; &gt; ________________________________<BR>&gt; &gt; Browse profiles for free! View photos of singles in your area.<BR>&gt; &gt; ________________________________<BR>&gt; &gt; Get straight to the Point Find a great deal on your next car.<BR>&gt; &gt; _______________________________________________<BR>&gt; &gt; rules-users mailing list<BR>&gt; &gt; rules-users@lists.jboss.org<BR>&gt; &gt; https://lists.jboss.org/mailman/listinfo/rules-users<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; rules-users mailing list<BR>&gt; rules-users@lists.jboss.org<BR>&gt; https://lists.jboss.org/mailman/listinfo/rules-users<BR>                                               <br /><hr />Get straight to the Point <a href='http://clk.atdmt.com/NMN/go/157637060/direct/01/' target='_new'>Find a great deal on your next car.</a></body>
</html>