Changeset 79638f1fc1ab812d3a50c94d13a670f5df57a495

Show
Ignore:
Timestamp:
10/13/10 19:36:32 (4 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1286998592 +0000
git-parent:

[244a50872cfb64ae4801ce4e396fd1d899abac3c]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1286998592 +0000
Message:

fixes #320

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/java/com/omniti/reconnoiter/esper/DeriveView.java

    r244a508 r79638f1  
    2323import java.util.Iterator; 
    2424import java.util.Arrays; 
     25import java.lang.ArithmeticException; 
    2526 
    2627/** 
     
    99100                    try { 
    100101                        NoitDerivePoint sub = subtract(point,lastpoint); 
     102                        long weight = sub.X; 
     103                        double value = sub.ror(isDouble); 
     104                        // Bad things(TM) happen in Esper when value is NaN/Inf 
     105                        // and things with weight 0 have no place here. 
     106                        if(weight == 0) 
     107                          throw new ArithmeticException("future / 0"); 
     108                        if(Double.isNaN(value)) 
     109                          throw new ArithmeticException("Esper Octopus: NaN"); 
     110                        if(Double.isInfinite(value)) 
     111                          throw new ArithmeticException("Esper Octopus: Inf"); 
    101112                        lastWVBean = new WeightedValueBean(sub.X, sub.ror(isDouble)); 
    102113                        EventBean eb = statementContext.getEventAdapterService().adapterForBean(lastWVBean);