<div dir="ltr">thanks.. that worked :-)</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 12, 2014 at 12:20 AM, Davide Sottara <span dir="ltr">&lt;<a href="mailto:dsotty@gmail.com" target="_blank">dsotty@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>No, the combination of accumulate/count
      + over should be fine (I didn&#39;t check though).<br>
      The problem is that you are simply creating the Events, but not
      inserting them in the wm.<br>
      You need to add insert(event) to your rules<div><div class="h5"><br>
      <br>
      <br>
      On 03/11/2014 07:39 PM, grules wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      
      
      
      <div>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">I
            think you have to follow the structure of accumulate
            function. Like
            <u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><b><i><span>&lt;result pattern&gt;</span></i></b><span> from accumulate(
          </span><b><i><span>&lt;source pattern&gt;</span></i></b><span>,<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                                 
            init(
          </span><b><i><span>&lt;init code&gt;</span></i></b><span> ),<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                                 
            action(
          </span><b><i><span>&lt;action code&gt;</span></i></b><span> ),<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                                 
            reverse(
          </span><b><i><span>&lt;reverse code&gt;</span></i></b><span> ), (optional)<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                                 
            result(
          </span><b><i><span>&lt;result expression&gt;</span></i></b><span> ) )<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span><u></u> <u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>examples are:<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>when<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>    $order : Order()<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>    $total : Number( doubleValue
            &gt; 100 )
            <u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>             from accumulate(
            OrderItem( order == $order, $value : value ),<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                              init(
            double total = 0; ),<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>                             
            action( total += $value; ),<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>      
                                          result( total ) )<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>then<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>    # apply discount to $order<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>end<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span><u></u> <u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>As I understand from your code,
            <u></u><u></u></span></p>
        <p style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline">
          <span><span>1.<span style="font:7.0pt &quot;Times New Roman&quot;"> 
              </span></span></span><span>Make List for Event class, because
            accumulate will loop through the elements of
            List&lt;Event&gt;<u></u><u></u></span></p>
        <p style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline">
          <span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;"> 
              </span></span></span><span>Init (write action codes, i.e.
            initialize value so you will find how many time it got
            looped)<u></u><u></u></span></p>
        <p style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline">
          <span><span>3.<span style="font:7.0pt &quot;Times New Roman&quot;"> 
              </span></span></span><span>Write code inside the block of
            action(//code here) and
            <u></u><u></u></span></p>
        <p style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline">
          <span><span>4.<span style="font:7.0pt &quot;Times New Roman&quot;"> 
              </span></span></span><span>Update it in result block i.e.
            result(//update here);<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span><u></u> <u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span>Being said, follow the structure 1)
            init, 2) action, 3) result as above..<u></u><u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span><u></u> <u></u></span></p>
        <p class="MsoNormal" style="line-height:13.65pt;background:whitesmoke;vertical-align:baseline"><span><u></u> <u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p>
        <p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
            Sandhya Sree [via Drools] [<a href="mailto:ml-node+" target="_blank">mailto:ml-node+</a><a href="http://user/SendEmail.jtp?type=node&amp;node=4028640&amp;i=0" rel="nofollow" link="external" target="_blank">[hidden
              email]</a>]
            <br>
            <b>Sent:</b> Tuesday, March 11, 2014 1:51 PM<br>
            <b>To:</b> Gopu Shrestha<br>
            <b>Subject:</b> [rules-users] sliding window problem<u></u><u></u></span></p>
        <p class="MsoNormal"><u></u> <u></u></p>
        <div>
          <p style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;line-height:13.35pt;vertical-align:baseline"><span style="font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">i
              have a class called Event which has the following members
              { name, source, timestamp } with getters ,setters and
              constructor. i have a rule file which creates Event
              objects whenever a file is added / deleted in a particular
              folder. the rule file is as follows<u></u><u></u></span></p>
          <pre style="margin-bottom:7.5pt;line-height:13.35pt;background:#eeeeee;vertical-align:baseline;max-height:600px;word-wrap:normal;overflow:auto"><span style="font-size:10.5pt;font-family:Consolas"><u></u> <u></u></span></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">rule &quot;new file&quot;<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">when<u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">$p: RuleContext( $old : getOldContext().getContainedFiles(), $new :getNewContext().getContainedFiles())<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">RuleContext( $old != $new)<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">accumulate( $s : Object( this not memberOf $old ) from $new, $plus : collectList( $s ) )  <u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">events : Object() from $plus;<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">then<u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">Event event = new Event(&quot;new file added&quot;,$p.getOldContext().getParent(),new Date());<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">end<u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt"><u></u> <u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt"><u></u> <u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">rule &quot; file deleted&quot;<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">when<u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">$p: RuleContext( $old : getOldContext().getContainedFiles(), $new:getNewContext().getContainedFiles())<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">RuleContext( $old != $new)<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">accumulate( $t : Object( this not memberOf $new ) from $old, $mins : collectList( $t ) )<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">events : Object() from $mins; <u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">then<u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">Event event = new Event(&quot;file deleted&quot;,$p.getOldContext().getParent(),new Date());<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">end <u></u><u></u></span></code></pre>
          <p style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;line-height:13.35pt;vertical-align:baseline"><span style="font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">(do
              not confuse with RuleContext and other unknown
              identifiers.. they r just related with other classes in
              the project.. these two rules just works fine )..i need to
              use a sliding time window and create another event if the
              number of file additions are &gt; 5 over the past 1
              minute. my rule file is :<u></u><u></u></span></p>
          <pre style="margin-bottom:7.5pt;line-height:13.35pt;background:#eeeeee;vertical-align:baseline;max-height:600px;word-wrap:normal;overflow:auto"><span style="font-size:10.5pt;font-family:Consolas"><u></u> <u></u></span></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">declare Event <u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">@role( event ) <u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">end <u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt"><u></u> <u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt"><u></u> <u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">rule &quot;More than 5 additions&quot;<u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">when     <u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">Number(intValue &gt; 5) <u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">from    accumulate( $tick : Event ( name == &quot;new file added&quot; ) over window:time( 1m ),</span></code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">
<code><span style="font-family:Consolas">        count( $tick ) ) )<u></u><u></u></span></code></span></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">then <u></u><u></u></span></code></pre>
          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">    System.out.println(&quot;too many additions&quot;); <u></u><u></u></span></code></pre>

          <pre style="line-height:13.35pt;background:#eeeeee;vertical-align:baseline"><code><span style="font-family:Consolas;padding:0in;border:none windowtext 1.0pt">end <u></u><u></u></span></code></pre>
          <p style="margin-right:0in;margin-bottom:12.0pt;margin-left:0in;line-height:13.35pt;vertical-align:baseline"><span style="font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">i
              have enabled stream mode processing too.. but it doesnt
              seem to work. what could be the problem?<u></u><u></u></span></p>
        </div>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><br>
          _______________________________________________ <br>
          rules-users mailing list <br>
          <a href="http://user/SendEmail.jtp?type=node&amp;node=4028639&amp;i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a>
          <br>
          <a href="https://lists.jboss.org/mailman/listinfo/rules-users" rel="nofollow" link="external" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a>
          <u></u><u></u></p>
        <div class="MsoNormal" style="text-align:center" align="center">
          <hr style="color:#cccccc" align="center" noshade size="1" width="100%">
        </div>
        <div>
          <div>
            <p class="MsoNormal"><b><span style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:#444444">If
                  you reply to this email, your message will be added to
                  the discussion below:<u></u><u></u></span></b></p>
          </div>
          <p class="MsoNormal"><span style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:#444444"><a href="http://drools.46999.n3.nabble.com/rules-users-sliding-window-problem-tp4028639.html" rel="nofollow" link="external" target="_blank">http://drools.46999.n3.nabble.com/rules-users-sliding-window-problem-tp4028639.html</a>
              <u></u><u></u></span></p>
        </div>
        <div style="margin-top:4.8pt">
          <p class="MsoNormal" style="line-height:18.0pt"><span style="font-size:8.5pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:#666666">To
              start a new topic under Drools: User forum, email
              <a href="http://user/SendEmail.jtp?type=node&amp;node=4028640&amp;i=1" rel="nofollow" link="external" target="_blank">[hidden
                email]</a>
              <br>
              To unsubscribe from Drools, <a rel="nofollow" link="external">
                click here</a>.<br>
              <a href="http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&amp;id=instant_html%21nabble%3Aemail.naml&amp;base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&amp;breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml" rel="nofollow" link="external" target="_blank"><span>NAML</span></a>
              <u></u><u></u></span></p>
        </div>
      </div>
      <br>
      <hr align="left" width="300">
      View this message in context: <a href="http://drools.46999.n3.nabble.com/RE-rules-users-sliding-window-problem-tp4028640.html" target="_blank">RE:
        [rules-users] sliding window problem</a><br>
      Sent from the <a href="http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html" target="_blank">Drools:
        User forum mailing list archive</a> at Nabble.com.<br>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
rules-users mailing list
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a></pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br></div>