[jboss-svn-commits] JBL Code SVN: r24611 - in labs/jbossrules/trunk: drools-compiler/src/test/resources/org/drools/integrationtests and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 8 16:44:26 EST 2009


Author: tirelli
Date: 2009-01-08 16:44:26 -0500 (Thu, 08 Jan 2009)
New Revision: 24611

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_DelayingNot.drl
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/ScrollingBanner.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/PseudoClockScheduler.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/Broker.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/events/EventGenerator.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/Company.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/StockTick.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/BrokerWindow.java
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/resources/stocktickstream.dat
   labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl
   labs/jbossrules/trunk/pom.xml
Log:
Improving fusion example. Starting to fix the problem on calculating delaying rules

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_DelayingNot.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_DelayingNot.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_DelayingNot.drl	2009-01-08 21:44:26 UTC (rev 24611)
@@ -0,0 +1,16 @@
+package org.drools;
+
+global java.util.List results;
+
+declare StockTick
+    @role( event )
+end
+
+rule "Delaying Not"
+when
+    $s1: StockTick( $symbol : company, $price : price )
+    not( StockTick( company == $symbol, price > $price, this after[ 1s, 10s ] $s1 ) )
+then
+    results.add( $s1 );
+end
+

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -92,6 +92,9 @@
 
     /** the calculate temporal distance matrix */
     private TemporalDependencyMatrix  temporal;
+    
+    /** rules with temporal constraints may require delaying before firing, when they contain negative patterns */
+    private long                      delay;
 
     public BuildContext(final InternalRuleBase rulebase,
                         final ReteooBuilder.IdGenerator idGenerator) {
@@ -416,4 +419,12 @@
         return this.temporal;
     }
 
+    public long getDelay() {
+        return this.delay;
+    }
+    
+    public void setDelay( final long delay ) {
+        this.delay = delay;
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -213,6 +213,7 @@
             // NOT must save some context info to restore it later
             final int currentPatternIndex = context.getCurrentPatternOffset();
             final LeftTupleSource tupleSource = context.getTupleSource();
+            final long delay = context.getDelay();
 
             // get child
             final RuleConditionElement child = (RuleConditionElement) not.getChildren().get( 0 );
@@ -265,6 +266,7 @@
 
             // restore pattern index
             context.setCurrentPatternOffset( currentPatternIndex );
+            context.setDelay( Math.max( context.getDelay(), delay ) );
         }
 
         public boolean requiresLeftActivation(final BuildUtils utils,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -125,6 +125,10 @@
         // last thing to do is increment the offset, since if the pattern has a source,
         // offset must be overriden
         context.incrementCurrentPatternOffset();
+        
+//        if( pattern.getObjectType().isEvent() ) {
+//            long delay = context.getTemporalDistance().getExpirationOffset( pattern );
+//        }
     }
 
     private void createConstraints(BuildContext context,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -51,4 +51,9 @@
 	 */
 	public boolean removeJob(JobHandle jobHandle);
 	
+	/**
+	 * Shuts the service down
+	 */
+    public void shutdown();
+	
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -56,6 +56,10 @@
     public long getCurrentTime() {
         return System.currentTimeMillis();
     }
+    
+    public void shutdown() {
+        this.scheduler.shutdown();
+    }
 
     public JobHandle scheduleJob(Job job,
                                  JobContext ctx,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/PseudoClockScheduler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/PseudoClockScheduler.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/PseudoClockScheduler.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -148,6 +148,13 @@
         this.session = session;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    public void shutdown() {
+        // nothing to do
+    }
+
     private void runCallBacks() {
         ScheduledJob item = queue.peek();
         while ( item != null && item.getTrigger().getNextFireTime().getTime() <= this.timer ) {

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/Broker.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/Broker.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/Broker.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -68,6 +68,7 @@
         this.tickStream.insert( tick );
         this.session.fireAllRules();
         window.updateCompany( company.getSymbol() );
+        window.updateTick( tick );
     }
     
     private StatefulKnowledgeSession createSession() {

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/events/EventGenerator.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/events/EventGenerator.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/events/EventGenerator.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -43,7 +43,7 @@
         // 20 minutes
         long timespam = 20 * 60 * 1000;
         // interval between events: [200ms,2s]
-        long[] interval = new long[]{ 200, 2000 };
+        long[] interval = new long[]{ 1000, 3000 };
         // price changes: +- 10%
         double[] priceChanges = new double[] { -0.1, 0.1 };
         // starting price range

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/Company.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/Company.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/Company.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -74,5 +74,9 @@
     public double getPreviousPrice() {
         return previousPrice;
     }
+    
+    public double getDelta() {
+        return ( previousPrice == 0 ) ? 0.0 : (( currentPrice / previousPrice ) - 1.0);
+    }
 
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/StockTick.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/StockTick.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/model/StockTick.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -26,6 +26,8 @@
     private final String symbol;
     private final double price;
     private final long timestamp;
+    private double delta;
+    private String str;
     
     public StockTick(String symbol,
                      double price,
@@ -34,6 +36,7 @@
         this.symbol = symbol;
         this.price = price;
         this.timestamp = timestamp;
+        this.str = createString();
     }
 
     public String getSymbol() {
@@ -49,6 +52,19 @@
     }
     
     public String toString() {
-        return symbol+"( "+price+" )";
+        return str;
     }
+
+    private String createString() {
+        return symbol+" $"+price+((delta<0)?" ":" +")+(((double)Math.round( delta*10000 ))/100)+"%";
+    }
+
+    public double getDelta() {
+        return delta;
+    }
+
+    public void setDelta(double delta) {
+        this.delta = delta;
+        this.str = createString();
+    }
 }

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/BrokerWindow.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/BrokerWindow.java	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/BrokerWindow.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -27,6 +27,7 @@
 import javax.swing.WindowConstants;
 
 import org.drools.examples.broker.model.Company;
+import org.drools.examples.broker.model.StockTick;
 
 import com.jgoodies.forms.builder.PanelBuilder;
 import com.jgoodies.forms.layout.CellConstraints;
@@ -42,16 +43,18 @@
     private final JFrame                    frame;
     private final Map<String, CompanyPanel> companies;
     private final LogPanel                  log;
+    private final ScrollingBanner           banner;
 
     public BrokerWindow(final Collection<Company> companies) {
         this.log = new LogPanel();
+        this.banner = new ScrollingBanner();
         this.companies = new HashMap<String, CompanyPanel>();
         this.frame = buildFrame( companies );
     }
 
     private JFrame buildFrame(final Collection<Company> companies) {
         FormLayout layout = new FormLayout( "10dlu, fill:max(pref;80dlu), 10dlu, fill:max(pref;80dlu), 10dlu, fill:max(pref;200dlu), 10dlu", // columns
-                                            "10dlu, fill:pref, 10dlu, fill:pref, 10dlu, fill:pref, 10dlu, fill:pref, 10dlu" ); // rows
+                                            "10dlu, fill:pref, 10dlu, fill:pref, 10dlu, fill:pref, 10dlu, fill:pref, 10dlu, fill:14dlu, 3dlu" ); // rows
 
         PanelBuilder builder = new PanelBuilder( layout );
         CellConstraints cc = new CellConstraints();
@@ -68,6 +71,7 @@
             x = (x == 2) ? 4 : 2;
         }
         builder.add( log.getPanel(), cc.xywh( 6, 2, 1, 7 ) );
+        builder.add( banner, cc.xywh( 2, 10, 5, 1 ) );
         JFrame frame = new JFrame();
         frame.getRootPane().setLayout( new BorderLayout() );
         frame.getRootPane().add( builder.getPanel(), BorderLayout.CENTER );
@@ -80,6 +84,10 @@
         Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
         frame.setLocation( (screen.width-frame.getWidth())/2, (screen.height-frame.getHeight())/2 );
         
+        Thread bannerThread = new Thread( banner );
+        bannerThread.setPriority( bannerThread.getPriority()-1 );
+        bannerThread.start();
+        
         return frame;
     }
     
@@ -94,4 +102,8 @@
     public void log( String message ) {
         this.log.log( message );
     }
+
+    public void updateTick(StockTick tick) {
+        this.banner.addTick( tick );
+    }
 }

Added: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/ScrollingBanner.java
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/ScrollingBanner.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/ScrollingBanner.java	2009-01-08 21:44:26 UTC (rev 24611)
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2008 Red Hat
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.drools.examples.broker.ui;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Graphics;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import javax.swing.JComponent;
+
+import org.drools.examples.broker.model.StockTick;
+
+import com.jgoodies.looks.FontSets;
+
+/**
+ * A simple component to show the incoming stock ticks
+ * 
+ * @author etirelli
+ */
+public class ScrollingBanner extends JComponent
+    implements
+    Runnable {
+
+    private static final long serialVersionUID = 6898322194579401244L;
+    private static final long SPACE = 10;
+
+    private Queue<StockTick>  ticks;
+    private volatile boolean  shutdown         = false;
+    private AtomicInteger     headOffset       = new AtomicInteger( 0 );
+    private StockTick         headTick         = null;
+
+    public ScrollingBanner() {
+        super();
+        this.ticks = new ConcurrentLinkedQueue<StockTick>();
+        this.setBackground( Color.black );
+        this.setForeground( Color.GREEN );
+        this.setFont( FontSets.getLogicalFontSet().getTitleFont() );
+    }
+
+    public void run() {
+        shutdown = false;
+        while ( !shutdown ) {
+            repaint();
+            try {
+                Thread.sleep( 50 );
+            } catch ( InterruptedException e ) {
+                shutdown = true;
+            }
+        }
+    }
+
+    public void shutdown() {
+        shutdown = true;
+    }
+
+    public void addTick(StockTick tick) {
+        ticks.add( tick );
+    }
+
+    public void paint(Graphics g) {
+        final Dimension dim = this.getSize();
+        final int y = ((int) (dim.height - g.getFontMetrics().getHeight()) / 2) + g.getFontMetrics().getHeight() -2 ;
+        // erase previous
+        g.setColor( Color.BLACK );
+        g.fillRect( 0,
+                    0,
+                    dim.width,
+                    dim.height );
+        // redraw
+        int width = 10;
+        if ( headTick == null ) {
+            headTick = ticks.poll();
+            headOffset.set( 0 );
+        }
+        if ( headTick != null ) {
+            String toDraw = headTick.toString().substring( headOffset.get() );
+            width += SPACE + drawString( g,
+                                      y,
+                                      width,
+                                      headTick,
+                                      toDraw );
+        }
+        for ( StockTick tick : ticks ) {
+            String toDraw = tick.toString();
+            width += SPACE + drawString( g,
+                                      y,
+                                      width,
+                                      tick,
+                                      toDraw );
+            if ( width > dim.width ) {
+                if( headOffset.addAndGet(2) >= headTick.toString().length() ) {
+                    headTick = null;
+                }
+                break;
+            }
+        }
+    }
+
+    private int drawString(Graphics g,
+                           final int y,
+                           int width,
+                           StockTick tick,
+                           String toDraw) {
+        int size = g.getFontMetrics().stringWidth( toDraw );
+        if ( tick.getDelta() < 0 ) {
+            g.setColor( Color.red );
+        } else {
+            g.setColor( Color.green );
+        }
+        g.drawString( toDraw,
+                      width,
+                      y );
+        return size;
+    }
+}


Property changes on: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/ui/ScrollingBanner.java
___________________________________________________________________
Name: svn:executable
   + *

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/resources/stocktickstream.dat
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/resources/stocktickstream.dat	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/resources/stocktickstream.dat	2009-01-08 21:44:26 UTC (rev 24611)
@@ -1,1122 +1,610 @@
-0;SAP;$74.34
-0;RHT;$77.37
-0;JAVA;$96.04
-0;IBM;$81.71
-0;GOOG;$111.59
-0;YHOO;$55.63
-0;ORCL;$112.56
-0;MSFT;$65.63
-0;JAVA;$103.45
-825;RHT;$83.09
-1463;IBM;$82.21
-2366;SAP;$70.95
-2717;YHOO;$57.89
-4100;SAP;$66.95
-4378;IBM;$74.71
-5393;JAVA;$111.59
-6248;MSFT;$69.65
-8031;SAP;$66.07
-8283;SAP;$65.45
-8627;ORCL;$110.15
-10289;MSFT;$65.52
-12097;RHT;$83.30
-12713;RHT;$82.49
-13314;RHT;$75.59
-13860;MSFT;$69.15
-15654;JAVA;$115.12
-16360;ORCL;$100.82
-18125;GOOG;$121.47
-19432;GOOG;$126.65
-20586;YHOO;$56.52
-21923;JAVA;$104.87
-22613;YHOO;$57.95
-24055;YHOO;$55.95
-25521;SAP;$60.26
-25944;RHT;$76.59
-26535;IBM;$77.03
-27544;SAP;$65.25
-27822;JAVA;$111.80
-28540;MSFT;$70.22
-30348;GOOG;$138.49
-31494;ORCL;$90.87
-33145;IBM;$79.07
-34140;IBM;$72.84
-35121;IBM;$69.09
-36111;IBM;$66.24
-37127;YHOO;$53.85
-38545;IBM;$68.97
-39452;YHOO;$56.46
-40906;RHT;$80.71
-41472;GOOG;$148.72
-42670;GOOG;$141.85
-43792;ORCL;$96.05
-45409;IBM;$63.78
-46422;ORCL;$88.89
-48003;SAP;$68.01
-48349;ORCL;$85.74
-49989;ORCL;$81.38
-51586;SAP;$63.07
-51921;YHOO;$56.24
-53305;JAVA;$112.56
-54150;SAP;$66.24
-54487;ORCL;$86.11
-56118;MSFT;$75.46
-58014;MSFT;$79.70
-59870;YHOO;$59.80
-61353;IBM;$62.92
-62358;IBM;$57.25
-63245;RHT;$84.58
-63840;SAP;$62.91
-64138;JAVA;$102.90
-64980;YHOO;$57.35
-66307;RHT;$77.09
-66933;JAVA;$105.84
-67720;RHT;$73.47
-68258;SAP;$62.71
-68644;IBM;$56.05
-69574;GOOG;$146.84
-70792;RHT;$75.42
-71313;YHOO;$62.73
-72692;ORCL;$82.84
-74249;MSFT;$72.82
-76094;SAP;$61.54
-76349;ORCL;$75.75
-78043;SAP;$55.62
-78352;GOOG;$147.80
-79591;ORCL;$75.50
-81206;MSFT;$68.07
-83147;JAVA;$110.60
-83827;SAP;$50.60
-84038;SAP;$54.50
-84300;YHOO;$68.26
-85639;ORCL;$80.93
-87411;SAP;$50.69
-87801;JAVA;$114.14
-88644;RHT;$76.44
-89280;ORCL;$77.21
-90903;JAVA;$114.60
-91632;RHT;$80.88
-92167;JAVA;$104.90
-92929;IBM;$52.05
-93923;YHOO;$62.41
-95393;RHT;$86.42
-96007;YHOO;$63.19
-97543;RHT;$80.59
-98099;ORCL;$82.93
-99683;RHT;$83.57
-100260;ORCL;$75.02
-102025;ORCL;$71.38
-103634;JAVA;$109.41
-104317;MSFT;$72.77
-106147;ORCL;$76.19
-107760;YHOO;$57.41
-109284;SAP;$54.91
-109706;SAP;$57.34
-110048;RHT;$79.02
-110477;YHOO;$62.91
-111974;YHOO;$67.15
-113454;MSFT;$68.06
-115246;JAVA;$100.14
-116026;IBM;$47.97
-117017;RHT;$71.97
-117659;RHT;$75.60
-118242;RHT;$72.00
-118687;JAVA;$93.19
-119387;IBM;$48.82
-120452;JAVA;$85.71
-121303;GOOG;$141.71
-122464;RHT;$75.37
-122982;ORCL;$75.98
-124535;IBM;$44.08
-125548;ORCL;$74.39
-127171;GOOG;$139.32
-128345;ORCL;$70.08
-130116;GOOG;$150.12
-131412;ORCL;$67.70
-133017;RHT;$72.19
-133608;ORCL;$70.33
-135277;YHOO;$63.15
-136702;IBM;$41.70
-137680;YHOO;$67.95
-139092;SAP;$58.86
-139381;MSFT;$64.44
-141163;YHOO;$66.22
-142694;ORCL;$66.08
-144295;RHT;$73.00
-144941;IBM;$45.80
-145888;SAP;$57.50
-146215;MSFT;$69.32
-147993;JAVA;$86.11
-148724;ORCL;$72.32
-150328;SAP;$58.70
-150630;MSFT;$69.03
-152519;YHOO;$69.89
-153876;ORCL;$69.88
-155426;JAVA;$85.00
-156103;RHT;$68.17
-156594;IBM;$46.55
-157665;IBM;$47.31
-158549;IBM;$45.56
-159459;YHOO;$66.53
-160897;YHOO;$67.09
-162313;ORCL;$64.07
-163971;YHOO;$68.48
-165309;YHOO;$64.46
-166767;MSFT;$63.38
-168711;YHOO;$60.02
-170258;JAVA;$77.85
-171016;YHOO;$54.47
-172394;SAP;$59.23
-172717;JAVA;$82.58
-173386;IBM;$49.15
-174318;IBM;$48.02
-175240;SAP;$53.61
-175569;RHT;$71.80
-176184;SAP;$57.51
-176417;RHT;$74.38
-177001;GOOG;$159.67
-178160;IBM;$50.33
-179233;IBM;$52.06
-180303;SAP;$55.93
-180709;RHT;$70.78
-181222;GOOG;$157.66
-182409;YHOO;$50.40
-183913;JAVA;$81.17
-184615;SAP;$61.51
-184902;YHOO;$49.20
-186451;MSFT;$68.41
-188246;IBM;$55.71
-189315;MSFT;$70.22
-191207;YHOO;$45.69
-192673;ORCL;$61.42
-194419;SAP;$59.44
-194737;RHT;$77.43
-195206;SAP;$54.60
-195518;YHOO;$45.46
-196906;SAP;$54.60
-197277;GOOG;$171.78
-198499;ORCL;$62.00
-200051;JAVA;$75.99
-200737;IBM;$51.56
-201825;GOOG;$155.26
-202961;IBM;$53.42
-203959;ORCL;$61.67
-205582;SAP;$57.52
-205806;SAP;$53.44
-206144;ORCL;$60.43
-207707;RHT;$73.33
-208164;YHOO;$41.91
-209667;SAP;$57.95
-209995;SAP;$62.98
-210237;ORCL;$56.20
-211952;RHT;$78.81
-212436;GOOG;$146.34
-213649;GOOG;$155.42
-214935;RHT;$81.42
-215428;GOOG;$162.10
-216563;ORCL;$57.65
-218329;YHOO;$41.69
-219815;YHOO;$37.80
-221248;JAVA;$72.19
-221984;SAP;$64.48
-222226;MSFT;$74.57
-224027;JAVA;$77.02
-224689;YHOO;$34.36
-226185;YHOO;$33.98
-227672;RHT;$80.83
-228246;ORCL;$57.94
-229966;GOOG;$149.09
-231268;ORCL;$55.50
-232974;ORCL;$60.18
-234710;SAP;$64.40
-234985;RHT;$75.33
-235508;MSFT;$80.15
-237357;YHOO;$30.68
-238811;YHOO;$32.06
-240309;ORCL;$65.43
-242064;RHT;$74.10
-242673;SAP;$66.37
-243042;MSFT;$83.62
-245005;MSFT;$77.95
-246814;ORCL;$65.94
-248519;SAP;$64.06
-248789;RHT;$74.03
-249306;RHT;$70.46
-249933;SAP;$66.09
-250270;MSFT;$72.20
-252100;SAP;$67.79
-252496;MSFT;$69.12
-254356;SAP;$72.31
-254652;SAP;$78.20
-254901;ORCL;$71.83
-256454;ORCL;$74.84
-258129;JAVA;$76.42
-258800;RHT;$67.54
-259328;RHT;$64.47
-259803;MSFT;$69.75
-261656;GOOG;$140.35
-262914;SAP;$77.07
-263255;SAP;$82.23
-263632;IBM;$51.93
-264725;JAVA;$78.08
-265453;RHT;$62.45
-266000;YHOO;$30.25
-267521;YHOO;$31.05
-269048;IBM;$49.53
-270123;MSFT;$62.90
-271964;SAP;$83.75
-272190;ORCL;$67.60
-273783;IBM;$46.81
-274693;MSFT;$61.82
-276689;IBM;$49.22
-277637;YHOO;$28.80
-279010;RHT;$57.33
-279589;YHOO;$26.20
-281095;MSFT;$67.51
-282892;YHOO;$26.90
-284289;JAVA;$82.77
-285082;MSFT;$69.09
-286940;JAVA;$87.50
-287660;RHT;$54.90
-288112;YHOO;$26.31
-289562;MSFT;$74.09
-291532;RHT;$54.40
-292096;JAVA;$83.58
-292862;RHT;$49.01
-293476;JAVA;$90.66
-294191;MSFT;$77.22
-295974;SAP;$87.91
-296370;YHOO;$26.30
-297708;RHT;$51.29
-298181;RHT;$47.43
-298802;IBM;$46.12
-299850;JAVA;$87.82
-300721;GOOG;$142.76
-301948;RHT;$52.17
-302504;YHOO;$24.79
-303868;GOOG;$135.93
-305069;YHOO;$23.16
-306433;MSFT;$74.71
-308416;JAVA;$94.77
-309124;IBM;$49.99
-310015;RHT;$47.02
-310652;MSFT;$70.07
-312434;SAP;$93.19
-312832;GOOG;$130.68
-313974;ORCL;$67.08
-315615;MSFT;$70.92
-317565;SAP;$93.00
-317980;GOOG;$140.20
-319268;ORCL;$64.18
-320922;IBM;$49.95
-321983;IBM;$50.15
-322933;ORCL;$61.88
-324531;MSFT;$75.25
-326309;JAVA;$92.03
-327105;JAVA;$89.78
-327889;IBM;$46.96
-328873;SAP;$99.43
-329088;RHT;$45.29
-329592;MSFT;$72.00
-331413;GOOG;$132.94
-332661;SAP;$101.85
-332924;GOOG;$121.40
-334171;ORCL;$58.72
-335835;JAVA;$82.43
-336600;YHOO;$24.92
-338053;JAVA;$78.80
-338720;MSFT;$68.32
-340709;GOOG;$122.56
-341884;YHOO;$26.63
-343298;SAP;$110.46
-343649;IBM;$42.50
-344698;GOOG;$112.96
-345984;YHOO;$26.64
-347321;RHT;$46.62
-347893;JAVA;$77.99
-348632;SAP;$100.18
-348995;ORCL;$55.73
-350573;RHT;$46.84
-351052;RHT;$42.67
-351490;SAP;$98.83
-351832;JAVA;$83.11
-352659;SAP;$92.58
-352926;JAVA;$75.92
-353685;GOOG;$118.50
-354866;YHOO;$24.77
-356206;ORCL;$60.60
-357852;YHOO;$26.00
-359356;MSFT;$66.98
-361165;JAVA;$75.15
-361842;IBM;$45.50
-362736;RHT;$44.40
-363251;SAP;$101.26
-363496;RHT;$40.39
-363937;ORCL;$65.06
-365516;MSFT;$66.65
-367305;ORCL;$59.43
-369059;IBM;$49.32
-370026;YHOO;$28.09
-371448;IBM;$49.57
-372356;ORCL;$58.93
-374028;JAVA;$82.46
-374825;YHOO;$28.92
-376356;MSFT;$66.17
-378142;YHOO;$27.01
-379552;GOOG;$113.30
-380868;JAVA;$77.88
-381721;JAVA;$73.97
-382451;JAVA;$70.85
-383115;GOOG;$118.85
-384391;IBM;$54.42
-385377;JAVA;$76.57
-386091;RHT;$36.63
-386519;SAP;$106.35
-386927;IBM;$49.76
-387873;IBM;$46.68
-388859;MSFT;$59.72
-390856;IBM;$43.53
-391953;IBM;$45.55
-392837;SAP;$108.42
-393239;MSFT;$56.21
-395054;MSFT;$51.29
-396958;ORCL;$58.64
-398688;ORCL;$63.70
-400425;YHOO;$24.34
-401762;MSFT;$47.68
-403737;RHT;$33.58
-404195;GOOG;$126.19
-405493;JAVA;$81.52
-406220;IBM;$41.95
-407298;JAVA;$88.94
-408096;RHT;$32.35
-408612;MSFT;$44.79
-410558;RHT;$30.49
-411058;SAP;$98.34
-411424;MSFT;$41.90
-413418;IBM;$38.01
-414472;SAP;$105.29
-414768;GOOG;$123.51
-415868;RHT;$32.40
-416495;MSFT;$42.42
-418400;JAVA;$90.07
-419252;GOOG;$134.54
-420436;GOOG;$143.18
-421749;RHT;$35.50
-422274;IBM;$39.77
-423156;RHT;$33.02
-423585;YHOO;$24.18
-425097;SAP;$96.02
-425331;JAVA;$83.20
-426018;YHOO;$24.33
-427442;SAP;$87.03
-427696;IBM;$37.13
-428747;RHT;$35.58
-429217;ORCL;$67.15
-430799;ORCL;$73.52
-432445;RHT;$38.43
-432905;ORCL;$80.24
-434507;IBM;$38.57
-435427;IBM;$35.93
-436421;RHT;$36.11
-437043;RHT;$32.87
-437585;SAP;$93.85
-437981;JAVA;$85.03
-438801;MSFT;$41.07
-440661;IBM;$32.79
-441559;MSFT;$44.81
-443439;ORCL;$81.58
-445127;RHT;$30.87
-445596;GOOG;$155.10
-446724;ORCL;$76.34
-448496;ORCL;$69.15
-450054;RHT;$30.12
-450636;JAVA;$83.55
-451291;ORCL;$68.32
-452949;YHOO;$26.32
-454470;YHOO;$26.02
-455867;RHT;$28.66
-456514;YHOO;$25.56
-458000;YHOO;$23.95
-459493;YHOO;$21.71
-460826;GOOG;$161.74
-462090;IBM;$33.69
-463142;GOOG;$169.30
-464269;SAP;$85.15
-464531;JAVA;$78.49
-465225;JAVA;$71.37
-465875;IBM;$36.19
-466771;GOOG;$155.83
-468085;GOOG;$152.12
-469258;ORCL;$67.15
-470916;RHT;$29.54
-471549;ORCL;$67.74
-473250;YHOO;$21.00
-474577;SAP;$91.37
-474856;ORCL;$69.73
-476514;IBM;$36.73
-477514;GOOG;$153.63
-478819;IBM;$33.19
-479854;SAP;$88.74
-480159;GOOG;$138.66
-481304;ORCL;$72.06
-482933;SAP;$89.76
-483310;JAVA;$66.19
-483994;JAVA;$60.87
-484715;GOOG;$130.37
-485918;MSFT;$40.42
-487776;SAP;$97.77
-488190;IBM;$35.28
-489277;GOOG;$130.21
-490482;RHT;$28.51
-490969;JAVA;$66.71
-491780;ORCL;$67.16
-493552;ORCL;$70.07
-495159;SAP;$95.32
-495384;IBM;$37.96
-496463;YHOO;$19.50
-497967;IBM;$39.91
-499024;MSFT;$43.39
-500908;RHT;$30.77
-501396;IBM;$43.08
-502349;GOOG;$128.10
-503457;YHOO;$18.65
-504833;YHOO;$17.27
-506198;YHOO;$16.14
-507687;ORCL;$70.04
-509438;RHT;$29.79
-509927;IBM;$44.65
-510814;GOOG;$133.04
-511984;IBM;$48.45
-512952;JAVA;$62.82
-513738;JAVA;$62.42
-514473;IBM;$45.60
-515564;MSFT;$42.27
-517486;JAVA;$57.82
-518152;YHOO;$14.73
-519620;YHOO;$16.13
-521005;SAP;$93.07
-521298;RHT;$29.13
-521734;RHT;$26.24
-522238;YHOO;$15.38
-523569;MSFT;$41.58
-525546;JAVA;$58.55
-526261;YHOO;$16.09
-527800;ORCL;$75.08
-529499;YHOO;$17.31
-531017;MSFT;$44.52
-532850;IBM;$43.88
-533893;MSFT;$40.47
-535797;MSFT;$40.72
-537782;YHOO;$18.53
-539259;RHT;$23.73
-539844;IBM;$44.61
-540874;RHT;$24.33
-541347;JAVA;$58.18
-542074;IBM;$47.75
-542982;JAVA;$53.38
-543671;GOOG;$127.55
-544975;GOOG;$138.83
-546156;SAP;$83.87
-546427;RHT;$25.97
-546999;RHT;$27.15
-547597;IBM;$50.23
-548566;MSFT;$40.65
-550363;ORCL;$77.22
-552066;GOOG;$129.70
-553239;JAVA;$48.51
-554088;SAP;$92.14
-554444;GOOG;$128.62
-555739;JAVA;$48.97
-556504;JAVA;$48.53
-557321;IBM;$48.20
-558274;RHT;$27.74
-558865;MSFT;$38.14
-560713;YHOO;$20.31
-562051;YHOO;$21.13
-563413;JAVA;$44.83
-564096;JAVA;$41.12
-564911;SAP;$100.85
-565127;SAP;$110.26
-565548;GOOG;$126.77
-566813;ORCL;$78.88
-568491;SAP;$114.86
-568719;YHOO;$21.58
-570103;RHT;$29.98
-570708;IBM;$51.53
-571683;IBM;$49.98
-572629;SAP;$115.29
-572965;ORCL;$85.49
-574528;MSFT;$35.81
-576370;RHT;$30.37
-576817;MSFT;$33.68
-578758;SAP;$126.53
-579120;ORCL;$77.82
-580865;SAP;$121.49
-581152;ORCL;$72.24
-582816;MSFT;$32.75
-584744;JAVA;$38.25
-585586;YHOO;$20.02
-586927;GOOG;$119.30
-588098;ORCL;$75.96
-589739;IBM;$47.72
-590787;GOOG;$117.29
-592097;IBM;$45.88
-593164;ORCL;$73.82
-594778;GOOG;$123.92
-595924;JAVA;$40.90
-596642;YHOO;$21.75
-598060;IBM;$42.23
-598963;SAP;$128.26
-599177;ORCL;$76.49
-600929;RHT;$30.62
-601397;IBM;$40.16
-602414;JAVA;$40.06
-603112;JAVA;$40.27
-603808;YHOO;$21.17
-605357;SAP;$134.19
-605566;YHOO;$19.73
-606933;MSFT;$34.92
-608796;MSFT;$34.78
-610590;YHOO;$18.39
-612070;JAVA;$37.35
-612738;YHOO;$19.18
-614285;ORCL;$79.14
-616039;IBM;$41.89
-617135;GOOG;$113.68
-618449;YHOO;$18.13
-619967;RHT;$28.05
-620503;SAP;$143.63
-620925;IBM;$43.20
-621855;RHT;$27.41
-622387;RHT;$25.49
-622898;JAVA;$38.37
-623715;ORCL;$74.63
-625473;GOOG;$108.32
-626727;RHT;$23.61
-627283;MSFT;$31.96
-629281;YHOO;$19.39
-630624;RHT;$22.70
-631205;JAVA;$41.24
-631886;JAVA;$37.35
-632555;YHOO;$19.76
-633957;RHT;$22.62
-634464;MSFT;$31.47
-636440;JAVA;$34.85
-637246;MSFT;$28.73
-639051;MSFT;$27.66
-640863;RHT;$22.93
-641370;MSFT;$30.36
-643226;GOOG;$100.27
-644404;SAP;$155.58
-644615;ORCL;$70.65
-646248;RHT;$23.47
-646789;ORCL;$71.05
-648377;ORCL;$65.63
-650017;SAP;$152.52
-650243;JAVA;$32.52
-650995;MSFT;$32.79
-652917;IBM;$41.87
-653948;ORCL;$71.67
-655607;GOOG;$101.58
-656815;IBM;$44.76
-657751;IBM;$45.05
-658832;JAVA;$34.31
-659695;ORCL;$71.38
-661450;RHT;$23.22
-661922;JAVA;$34.13
-662632;IBM;$41.40
-663702;IBM;$37.50
-664793;ORCL;$76.43
-666383;GOOG;$94.18
-667519;GOOG;$90.29
-668699;JAVA;$32.66
-669475;MSFT;$31.39
-671281;ORCL;$71.91
-672930;ORCL;$77.04
-674685;JAVA;$30.20
-675524;RHT;$21.93
-676076;IBM;$39.67
-676956;MSFT;$31.29
-678856;RHT;$23.44
-679382;SAP;$144.78
-679630;ORCL;$77.55
-681351;YHOO;$18.39
-682821;JAVA;$27.93
-683590;ORCL;$77.41
-685232;JAVA;$28.37
-685943;YHOO;$20.10
-687296;RHT;$22.53
-687929;GOOG;$89.68
-689126;GOOG;$94.17
-690445;JAVA;$29.64
-691240;SAP;$150.66
-691559;IBM;$39.76
-692569;RHT;$20.42
-693209;MSFT;$28.83
-695129;SAP;$153.34
-695492;JAVA;$27.08
-696258;MSFT;$31.38
-698043;IBM;$40.70
-698949;JAVA;$29.00
-699652;MSFT;$31.10
-701629;RHT;$21.18
-702269;ORCL;$75.93
-703819;GOOG;$99.67
-705004;GOOG;$107.03
-706148;ORCL;$83.42
-707865;YHOO;$19.57
-709280;MSFT;$29.98
-711140;ORCL;$89.42
-712874;SAP;$151.07
-713120;GOOG;$98.59
-714222;SAP;$139.68
-714617;SAP;$144.40
-715008;GOOG;$100.53
-716109;SAP;$143.74
-716379;YHOO;$19.58
-717742;GOOG;$97.89
-718965;IBM;$37.22
-719972;SAP;$152.77
-720194;SAP;$150.39
-720456;RHT;$23.08
-720973;RHT;$25.20
-721615;IBM;$34.61
-722651;GOOG;$92.67
-723794;RHT;$23.42
-724414;SAP;$141.13
-724711;ORCL;$81.97
-726329;IBM;$36.29
-727307;SAP;$127.95
-727720;ORCL;$76.81
-729411;MSFT;$28.91
-731203;RHT;$24.97
-731734;MSFT;$26.74
-733559;SAP;$118.82
-733880;YHOO;$18.64
-735298;YHOO;$19.13
-736839;IBM;$32.94
-737719;RHT;$25.40
-738188;RHT;$25.08
-738725;MSFT;$25.77
-740610;YHOO;$19.30
-741997;YHOO;$20.21
-743544;IBM;$30.20
-744432;IBM;$27.24
-745354;IBM;$25.49
-746421;IBM;$24.70
-747428;JAVA;$29.28
-748181;ORCL;$81.06
-749915;JAVA;$29.14
-750579;YHOO;$18.59
-752044;ORCL;$85.45
-753743;MSFT;$27.57
-755686;ORCL;$80.94
-757380;SAP;$114.06
-757667;ORCL;$83.42
-759334;ORCL;$77.86
-761096;IBM;$23.46
-762110;IBM;$23.99
-763165;RHT;$25.70
-763741;SAP;$102.75
-764062;IBM;$22.82
-765124;MSFT;$29.17
-766979;ORCL;$76.08
-768614;MSFT;$26.91
-770434;GOOG;$83.74
-771540;GOOG;$91.77
-772686;YHOO;$18.23
-774014;IBM;$24.64
-775037;IBM;$26.22
-776097;MSFT;$28.56
-778072;SAP;$101.23
-778428;YHOO;$18.08
-779796;MSFT;$30.58
-781638;IBM;$27.84
-782673;SAP;$110.20
-783046;RHT;$28.07
-783549;JAVA;$28.62
-784321;JAVA;$30.82
-785025;SAP;$105.53
-785439;RHT;$28.82
-786039;SAP;$97.02
-786455;RHT;$27.63
-787103;IBM;$29.57
-788014;JAVA;$33.79
-788734;YHOO;$18.88
-790228;YHOO;$19.02
-791768;ORCL;$73.54
-793347;MSFT;$28.03
-795327;ORCL;$79.35
-796916;MSFT;$29.88
-798742;MSFT;$32.69
-800588;SAP;$102.34
-800848;JAVA;$36.88
-801515;ORCL;$73.19
-803067;GOOG;$85.56
-804217;SAP;$99.14
-804546;RHT;$25.48
-805035;RHT;$26.49
-805578;IBM;$31.01
-806474;SAP;$105.82
-806696;JAVA;$36.76
-807537;RHT;$25.62
-808028;JAVA;$38.57
-808854;YHOO;$19.05
-810372;YHOO;$17.37
-811711;GOOG;$78.90
-812985;GOOG;$79.38
-814291;RHT;$27.64
-814862;YHOO;$16.73
-816312;SAP;$96.13
-816623;RHT;$30.10
-817103;IBM;$28.76
-818158;SAP;$100.77
-818453;MSFT;$31.17
-820329;SAP;$92.10
-820534;SAP;$92.11
-820744;GOOG;$76.67
-821849;RHT;$31.72
-822316;MSFT;$29.73
-824241;SAP;$99.56
-824593;MSFT;$29.99
-826462;ORCL;$69.42
-828118;YHOO;$15.91
-829596;ORCL;$63.81
-831276;MSFT;$28.48
-833268;SAP;$93.71
-833657;MSFT;$25.83
-835518;MSFT;$25.80
-837437;IBM;$29.17
-838359;JAVA;$40.91
-839129;YHOO;$16.59
-840634;RHT;$29.82
-841188;MSFT;$26.77
-843009;RHT;$31.09
-843590;IBM;$27.89
-844581;SAP;$94.53
-844844;RHT;$28.45
-845326;RHT;$28.53
-845844;SAP;$98.74
-846066;SAP;$101.15
-846320;RHT;$30.68
-846929;ORCL;$62.75
-848665;GOOG;$70.04
-849943;IBM;$28.90
-850851;RHT;$31.54
-851361;ORCL;$65.57
-853025;RHT;$29.15
-853523;GOOG;$75.38
-854736;JAVA;$43.47
-855574;GOOG;$76.10
-856788;ORCL;$59.89
-858515;MSFT;$29.00
-860418;IBM;$26.61
-861395;ORCL;$57.16
-863072;YHOO;$16.03
-864461;MSFT;$27.35
-866421;SAP;$110.91
-866703;YHOO;$14.56
-868220;ORCL;$57.54
-869985;RHT;$31.75
-870455;MSFT;$26.71
-872291;IBM;$24.09
-873332;MSFT;$27.53
-875163;SAP;$119.00
-875470;RHT;$34.30
-876113;SAP;$121.42
-876526;ORCL;$52.48
-878284;GOOG;$70.46
-879439;GOOG;$72.41
-880702;SAP;$123.73
-880959;ORCL;$51.21
-882519;RHT;$34.46
-883020;JAVA;$39.93
-883887;MSFT;$28.65
-885686;GOOG;$76.03
-886820;ORCL;$48.31
-888408;MSFT;$28.65
-890183;MSFT;$30.36
-892136;SAP;$123.29
-892445;MSFT;$28.08
-894264;JAVA;$38.11
-895043;MSFT;$26.76
-896965;ORCL;$49.89
-898696;YHOO;$13.25
-900143;IBM;$22.90
-901064;RHT;$36.40
-901549;RHT;$39.08
-901999;RHT;$38.14
-902556;YHOO;$14.18
-903952;SAP;$134.11
-904244;SAP;$139.06
-904628;MSFT;$28.50
-906433;JAVA;$35.99
-907111;GOOG;$80.79
-908408;YHOO;$14.03
-909918;JAVA;$37.46
-910730;RHT;$34.74
-911339;SAP;$133.20
-911653;GOOG;$75.72
-912808;MSFT;$29.61
-914727;YHOO;$14.74
-916057;GOOG;$70.70
-917306;RHT;$35.05
-917741;RHT;$34.89
-918292;MSFT;$27.75
-920098;MSFT;$26.49
-921947;YHOO;$13.59
-923431;RHT;$36.30
-923953;MSFT;$26.49
-925746;SAP;$137.78
-925998;ORCL;$48.72
-927578;IBM;$24.08
-928460;IBM;$26.19
-929534;IBM;$27.73
-930477;GOOG;$68.81
-931684;IBM;$27.14
-932676;MSFT;$29.09
-934649;MSFT;$30.48
-936484;JAVA;$38.61
-937158;IBM;$29.31
-938157;GOOG;$72.00
-939267;JAVA;$36.82
-939929;YHOO;$13.96
-941406;IBM;$29.90
-942347;MSFT;$31.02
-944226;RHT;$32.93
-944758;GOOG;$70.94
-945987;SAP;$143.57
-946247;ORCL;$48.15
-948021;YHOO;$13.82
-949506;IBM;$26.91
-950503;YHOO;$12.95
-951848;RHT;$32.06
-952459;YHOO;$11.87
-953979;JAVA;$39.82
-954757;SAP;$130.67
-955023;SAP;$119.60
-955266;RHT;$35.15
-955820;GOOG;$64.32
-956943;SAP;$127.14
-957226;ORCL;$48.63
-958853;ORCL;$47.76
-960620;ORCL;$50.50
-962194;SAP;$116.22
-962577;IBM;$25.37
-963536;IBM;$24.70
-964421;GOOG;$59.93
-965620;IBM;$27.10
-966565;MSFT;$30.76
-968431;YHOO;$11.00
-969807;RHT;$33.00
-970428;GOOG;$59.35
-971607;SAP;$110.77
-971894;JAVA;$38.97
-972697;ORCL;$50.44
-974425;ORCL;$54.54
-976182;MSFT;$28.75
-978129;YHOO;$12.07
-979492;MSFT;$28.77
-981460;GOOG;$57.57
-982694;IBM;$29.19
-983723;GOOG;$53.66
-984912;RHT;$33.07
-985560;SAP;$121.41
-985793;YHOO;$11.66
-987185;JAVA;$37.05
-988026;GOOG;$53.63
-989350;SAP;$131.65
-989572;ORCL;$50.18
-991196;YHOO;$11.08
-992597;SAP;$122.29
-992858;GOOG;$58.17
-994061;GOOG;$61.49
-995299;RHT;$30.29
-995746;RHT;$31.22
-996314;SAP;$125.17
-996691;IBM;$31.79
-997726;RHT;$32.56
-998288;JAVA;$35.13
-999008;SAP;$133.17
-999225;YHOO;$9.99
-1000704;MSFT;$26.63
-1002607;SAP;$134.16
-1002919;ORCL;$51.53
-1004586;IBM;$33.20
-1005596;IBM;$35.67
-1006684;RHT;$32.36
-1007197;JAVA;$36.12
-1007981;MSFT;$26.59
-1009966;MSFT;$27.10
-1011928;JAVA;$36.57
-1012591;RHT;$30.37
-1013079;GOOG;$57.14
-1014369;YHOO;$9.28
-1015859;SAP;$122.43
-1016236;JAVA;$33.04
-1017110;IBM;$36.21
-1018063;MSFT;$29.60
-1019845;JAVA;$33.99
-1020621;RHT;$30.74
-1021078;SAP;$134.19
-1021301;ORCL;$50.33
-1022863;IBM;$32.98
-1023775;ORCL;$48.20
-1025536;GOOG;$55.08
-1026851;MSFT;$27.20
-1028666;IBM;$32.71
-1029692;MSFT;$29.67
-1031506;JAVA;$37.13
-1032183;IBM;$32.29
-1033136;GOOG;$58.76
-1034337;JAVA;$34.41
-1035045;ORCL;$48.16
-1036785;RHT;$30.76
-1037215;RHT;$29.82
-1037764;RHT;$31.46
-1038279;JAVA;$31.55
-1039061;IBM;$34.87
-1040156;IBM;$32.77
-1041185;JAVA;$30.26
-1041996;ORCL;$50.67
-1043744;YHOO;$10.03
-1045172;GOOG;$54.19
-1046383;YHOO;$10.60
-1047830;MSFT;$30.06
-1049691;MSFT;$28.82
-1051557;JAVA;$28.83
-1052370;RHT;$29.60
-1052944;IBM;$33.00
-1053992;IBM;$32.26
-1055035;YHOO;$9.92
-1056448;RHT;$27.60
-1057017;IBM;$29.34
-1058089;JAVA;$26.75
-1058957;IBM;$31.36
-1059859;RHT;$27.76
-1060295;YHOO;$9.42
-1061771;SAP;$142.65
-1062084;IBM;$34.21
-1063039;MSFT;$29.57
-1064992;RHT;$29.73
-1065482;IBM;$35.25
-1066369;SAP;$134.74
-1066647;IBM;$38.25
-1067549;ORCL;$54.45
-1069172;SAP;$129.14
-1069377;GOOG;$51.36
-1070529;JAVA;$29.33
-1071211;MSFT;$28.96
-1073109;IBM;$34.45
-1074062;MSFT;$28.30
-1075968;GOOG;$51.83
-1077181;GOOG;$46.76
-1078496;YHOO;$10.01
-1080011;SAP;$120.29
-1080320;ORCL;$57.03
-1082067;YHOO;$10.99
-1083567;MSFT;$27.84
-1085346;GOOG;$43.50
-1086548;ORCL;$52.21
-1088284;IBM;$36.96
-1089236;JAVA;$28.77
-1089996;GOOG;$47.02
-1091268;SAP;$128.18
-1091549;ORCL;$54.33
-1093239;GOOG;$47.56
-1094393;SAP;$135.80
-1094792;ORCL;$52.55
-1096525;GOOG;$51.22
-1097673;SAP;$133.34
-1097911;SAP;$125.16
-1098264;GOOG;$50.61
-1099513;ORCL;$47.39
-1101216;YHOO;$11.81
-1102545;IBM;$33.69
-1103579;IBM;$35.24
-1104622;ORCL;$51.91
-1106378;ORCL;$54.11
-1108111;JAVA;$27.94
-1108910;SAP;$124.05
-1109268;IBM;$34.22
-1110143;JAVA;$30.70
-1110871;MSFT;$28.62
-1112651;MSFT;$26.26
-1114547;RHT;$29.62
-1115055;SAP;$112.35
-1115265;GOOG;$49.21
-1116493;ORCL;$50.24
-1118197;JAVA;$33.28
-1118871;YHOO;$11.27
-1120380;IBM;$35.07
-1121335;ORCL;$52.04
-1122903;MSFT;$25.53
-1124854;IBM;$35.85
-1125938;IBM;$34.12
-1126917;YHOO;$12.39
-1128272;GOOG;$45.77
-1129419;RHT;$26.75
-1129926;SAP;$109.73
-1130194;SAP;$108.27
-1130471;RHT;$25.66
-1130903;MSFT;$27.82
-1132889;MSFT;$29.45
-1134724;IBM;$36.87
-1135749;ORCL;$56.08
-1137359;GOOG;$42.49
-1138545;ORCL;$60.57
-1140132;IBM;$37.94
-1141151;MSFT;$30.08
-1143075;JAVA;$32.10
-1143810;GOOG;$39.91
-1144992;GOOG;$36.24
-1146287;SAP;$100.82
-1146540;RHT;$23.91
-1147085;ORCL;$61.79
-1148640;MSFT;$31.42
-1150606;RHT;$22.62
-1151126;YHOO;$11.94
-1152589;RHT;$22.28
-1153213;SAP;$93.72
-1153625;SAP;$101.47
-1153924;SAP;$107.13
-1154279;MSFT;$28.94
-1156075;MSFT;$30.26
-1158026;JAVA;$29.86
-1158816;MSFT;$31.07
-1160755;IBM;$36.54
-1161703;IBM;$33.73
-1162673;YHOO;$11.60
-1164000;GOOG;$36.75
-1165293;SAP;$107.10
-1165639;YHOO;$12.26
-1167114;MSFT;$28.04
-1168951;GOOG;$38.65
-1170243;IBM;$33.39
-1171191;MSFT;$25.34
-1173018;SAP;$108.52
-1173360;ORCL;$60.71
-1175082;MSFT;$22.91
-1177005;JAVA;$30.50
-1177833;RHT;$23.77
-1178421;GOOG;$38.24
-1179554;MSFT;$23.82
-1181522;MSFT;$21.58
-1183376;RHT;$24.20
-1183842;RHT;$25.21
-1184391;ORCL;$58.22
-1186011;GOOG;$39.76
-1187226;YHOO;$11.09
-1188713;RHT;$27.64
-1189277;YHOO;$11.60
-1190756;MSFT;$23.08
-1192733;YHOO;$11.02
-1194215;SAP;$110.24
-1194507;RHT;$27.51
-1195120;JAVA;$27.49
-1195861;MSFT;$21.40
-1197640;RHT;$28.37
-1198095;RHT;$30.97
-1198731;JAVA;$27.99
-1199583;GOOG;$37.93
+0;SAP;$89.93
+0;RHT;$118.60
+0;JAVA;$63.22
+0;IBM;$79.45
+0;GOOG;$52.06
+0;YHOO;$66.26
+0;ORCL;$90.68
+0;MSFT;$103.46
+0;GOOG;$52.20
+2140;YHOO;$68.09
+4542;MSFT;$105.93
+7502;IBM;$71.59
+9494;RHT;$121.43
+10871;SAP;$94.17
+12044;IBM;$76.39
+13885;GOOG;$52.71
+15917;SAP;$98.55
+16975;JAVA;$67.82
+18588;RHT;$116.10
+20052;YHOO;$63.73
+22326;GOOG;$56.55
+24488;MSFT;$102.51
+27256;ORCL;$85.79
+29783;GOOG;$60.87
+31921;GOOG;$65.65
+33949;YHOO;$67.41
+36230;YHOO;$66.42
+38506;IBM;$82.87
+40330;GOOG;$68.07
+42569;YHOO;$60.36
+44871;SAP;$104.15
+45882;SAP;$112.73
+47116;GOOG;$69.89
+49354;YHOO;$55.05
+51623;YHOO;$50.23
+54094;GOOG;$72.89
+56279;ORCL;$87.20
+58949;SAP;$123.61
+60125;GOOG;$72.53
+62222;MSFT;$101.00
+65120;YHOO;$52.57
+67585;MSFT;$102.55
+70445;ORCL;$84.35
+73171;ORCL;$90.01
+75875;JAVA;$62.87
+77435;SAP;$135.58
+78604;RHT;$124.18
+79963;RHT;$116.03
+81344;ORCL;$91.09
+84071;GOOG;$78.70
+86219;JAVA;$67.67
+87895;JAVA;$64.56
+89572;RHT;$106.24
+91031;JAVA;$61.09
+92750;MSFT;$94.89
+95513;MSFT;$98.08
+98486;MSFT;$97.79
+101271;JAVA;$65.70
+102880;ORCL;$87.41
+105456;ORCL;$88.54
+107996;IBM;$87.22
+109850;IBM;$86.60
+111683;MSFT;$91.84
+114530;MSFT;$83.12
+117482;YHOO;$48.88
+119850;GOOG;$78.23
+121995;SAP;$129.43
+123081;RHT;$101.64
+124560;ORCL;$80.16
+127127;GOOG;$76.84
+129304;MSFT;$75.43
+132128;SAP;$129.68
+133270;YHOO;$51.34
+135537;MSFT;$75.67
+138499;SAP;$117.91
+139620;MSFT;$82.38
+142444;SAP;$124.00
+143568;YHOO;$50.11
+145914;YHOO;$49.80
+148343;JAVA;$70.61
+150037;GOOG;$81.01
+152201;SAP;$126.18
+153214;MSFT;$77.45
+156179;YHOO;$50.24
+158486;IBM;$89.88
+160437;GOOG;$76.62
+162525;IBM;$86.11
+164378;GOOG;$79.53
+166505;YHOO;$53.13
+168970;YHOO;$56.50
+171374;GOOG;$71.58
+173526;IBM;$79.03
+175408;JAVA;$66.47
+177081;RHT;$93.96
+178437;ORCL;$75.04
+181108;MSFT;$72.86
+184008;RHT;$89.93
+185278;GOOG;$65.11
+187462;MSFT;$76.39
+190430;SAP;$131.40
+191574;ORCL;$70.75
+194270;YHOO;$59.83
+196716;RHT;$97.86
+198059;IBM;$78.34
+199879;GOOG;$66.97
+201998;SAP;$123.14
+203201;MSFT;$81.83
+206050;JAVA;$63.44
+207669;MSFT;$79.05
+210432;GOOG;$63.55
+212647;JAVA;$68.99
+214187;RHT;$101.36
+215625;SAP;$127.43
+216780;YHOO;$63.24
+219172;RHT;$105.69
+220634;SAP;$131.07
+221823;RHT;$115.25
+223076;RHT;$105.02
+224437;YHOO;$67.47
+226773;YHOO;$63.60
+229042;IBM;$77.07
+231012;JAVA;$65.13
+232716;MSFT;$77.03
+235469;ORCL;$76.23
+238199;JAVA;$71.48
+239795;SAP;$138.77
+240934;GOOG;$69.53
+243063;GOOG;$69.05
+245201;ORCL;$69.56
+247726;SAP;$151.81
+248961;IBM;$80.72
+250890;JAVA;$66.47
+252595;RHT;$100.05
+253987;RHT;$93.02
+255462;SAP;$166.44
+256512;GOOG;$70.99
+258756;RHT;$86.80
+260054;JAVA;$71.37
+261635;IBM;$86.22
+263575;IBM;$77.85
+265440;JAVA;$77.44
+266986;YHOO;$67.38
+269446;JAVA;$77.33
+271013;JAVA;$73.80
+272653;SAP;$170.05
+273706;RHT;$84.43
+275062;IBM;$73.90
+276884;YHOO;$67.41
+279378;SAP;$164.53
+280453;RHT;$78.44
+281889;GOOG;$64.08
+283908;IBM;$78.13
+285665;ORCL;$75.12
+288166;IBM;$72.05
+290154;GOOG;$67.37
+292185;ORCL;$68.93
+294899;SAP;$157.56
+295991;ORCL;$67.69
+298497;MSFT;$74.80
+301383;RHT;$80.32
+302677;ORCL;$71.48
+305193;RHT;$79.72
+306596;IBM;$78.40
+308357;GOOG;$65.36
+310568;IBM;$78.67
+312505;GOOG;$68.34
+314694;ORCL;$66.95
+317442;RHT;$81.83
+318820;ORCL;$63.68
+321363;MSFT;$77.53
+324360;GOOG;$63.87
+326535;RHT;$76.18
+328030;RHT;$81.89
+329431;GOOG;$60.38
+331572;GOOG;$60.87
+333661;SAP;$167.87
+334885;YHOO;$67.46
+337262;YHOO;$73.19
+339698;RHT;$76.53
+341156;YHOO;$72.76
+343423;JAVA;$75.56
+345003;RHT;$72.86
+346415;YHOO;$72.10
+348795;JAVA;$77.52
+350492;ORCL;$60.73
+353066;YHOO;$69.67
+355319;ORCL;$57.74
+357953;IBM;$74.47
+359773;SAP;$173.14
+360773;ORCL;$54.79
+363301;SAP;$189.07
+364479;GOOG;$57.53
+366640;RHT;$75.77
+368053;MSFT;$81.84
+370984;SAP;$199.64
+372228;ORCL;$58.67
+374757;RHT;$79.74
+376117;IBM;$78.59
+377967;RHT;$74.08
+379374;MSFT;$85.35
+382167;JAVA;$81.73
+383737;RHT;$68.31
+384994;SAP;$200.08
+386090;YHOO;$66.47
+388505;YHOO;$60.40
+390989;SAP;$220.04
+392106;YHOO;$55.17
+394519;GOOG;$52.80
+396648;RHT;$70.86
+398076;GOOG;$57.27
+400140;ORCL;$62.89
+402729;JAVA;$84.34
+404283;MSFT;$80.34
+407164;IBM;$76.65
+409021;IBM;$78.70
+410934;GOOG;$54.78
+412981;YHOO;$60.10
+415266;GOOG;$51.53
+417452;RHT;$67.13
+418823;JAVA;$79.25
+420488;ORCL;$61.68
+423200;RHT;$65.09
+424637;JAVA;$83.92
+426182;JAVA;$88.87
+427782;JAVA;$97.34
+429441;RHT;$63.91
+430870;RHT;$70.14
+432358;ORCL;$61.63
+434930;MSFT;$83.28
+437803;MSFT;$83.80
+440737;YHOO;$61.87
+443095;SAP;$226.72
+444260;YHOO;$61.65
+446608;ORCL;$65.17
+449281;ORCL;$66.84
+451852;RHT;$71.26
+453330;YHOO;$59.76
+455756;ORCL;$65.83
+458456;YHOO;$57.40
+460741;SAP;$235.77
+461963;MSFT;$91.11
+464867;IBM;$70.97
+466716;SAP;$229.42
+467828;MSFT;$92.27
+470787;ORCL;$68.97
+473454;JAVA;$103.23
+474997;RHT;$72.70
+476423;IBM;$70.79
+478177;IBM;$75.97
+480014;YHOO;$56.62
+482460;RHT;$66.92
+483900;RHT;$65.14
+485322;JAVA;$98.05
+487066;IBM;$72.06
+488837;MSFT;$83.81
+491611;ORCL;$65.45
+494321;MSFT;$89.48
+497294;YHOO;$57.34
+499755;ORCL;$64.52
+502342;RHT;$60.45
+503762;MSFT;$90.89
+506704;MSFT;$90.32
+509694;IBM;$72.15
+511624;RHT;$62.92
+512931;SAP;$220.98
+514055;YHOO;$57.67
+516320;MSFT;$86.72
+519260;ORCL;$61.17
+521889;YHOO;$58.09
+524361;ORCL;$60.79
+526900;RHT;$64.65
+528200;GOOG;$54.39
+530204;JAVA;$103.67
+531730;JAVA;$106.25
+533446;RHT;$63.13
+534743;JAVA;$115.05
+536344;MSFT;$93.93
+539307;JAVA;$116.45
+540979;YHOO;$63.42
+543260;IBM;$69.80
+545199;RHT;$67.25
+546530;GOOG;$51.81
+548569;ORCL;$58.21
+551306;RHT;$61.28
+552735;ORCL;$55.02
+555416;GOOG;$55.49
+557652;SAP;$202.94
+558681;YHOO;$64.71
+560989;MSFT;$84.85
+563839;YHOO;$69.61
+566321;ORCL;$51.45
+568915;RHT;$63.30
+570289;IBM;$67.33
+572274;YHOO;$73.94
+574740;JAVA;$120.44
+576283;ORCL;$55.50
+579029;GOOG;$59.40
+581245;JAVA;$123.17
+582814;JAVA;$121.66
+584541;SAP;$218.82
+585748;RHT;$59.69
+587240;ORCL;$59.05
+589964;GOOG;$62.85
+591969;SAP;$229.67
+593063;JAVA;$111.55
+594738;IBM;$72.03
+596630;RHT;$58.93
+597920;RHT;$62.37
+599418;SAP;$233.75
+600444;ORCL;$53.24
+603007;ORCL;$48.90
+605579;SAP;$241.42
+606690;MSFT;$78.41
+609489;IBM;$77.68
+611291;SAP;$242.50
+612512;RHT;$58.40
+613954;ORCL;$52.11
+616467;RHT;$60.83
+617777;SAP;$259.04
+618953;JAVA;$121.84
+620636;JAVA;$120.03
+622211;SAP;$253.64
+623333;IBM;$82.66
+625153;IBM;$77.62
+627065;JAVA;$121.89
+628775;JAVA;$116.32
+630294;GOOG;$63.85
+632533;MSFT;$78.76
+635369;ORCL;$47.57
+637928;SAP;$244.36
+638968;IBM;$77.17
+640894;RHT;$60.34
+642311;MSFT;$72.72
+645192;GOOG;$59.95
+647310;JAVA;$109.74
+649012;ORCL;$46.83
+651521;GOOG;$63.52
+653556;ORCL;$46.74
+656298;YHOO;$71.43
+658753;YHOO;$78.43
+661108;RHT;$55.45
+662474;IBM;$80.53
+664303;YHOO;$80.70
+666567;RHT;$57.48
+667993;JAVA;$107.51
+669505;MSFT;$67.20
+672489;YHOO;$78.17
+674853;ORCL;$43.84
+677422;RHT;$56.44
+678768;JAVA;$104.46
+680324;RHT;$53.33
+681633;JAVA;$108.27
+683279;MSFT;$61.79
+686029;IBM;$85.01
+687856;RHT;$48.55
+689308;ORCL;$44.63
+691873;GOOG;$60.37
+693954;MSFT;$56.35
+696755;ORCL;$46.96
+699409;RHT;$52.84
+700814;GOOG;$58.08
+702821;GOOG;$60.33
+704884;MSFT;$61.76
+707733;IBM;$79.96
+709696;RHT;$54.17
+711041;IBM;$86.51
+712961;IBM;$91.37
+714901;ORCL;$45.32
+717636;GOOG;$55.08
+719873;RHT;$53.43
+721337;JAVA;$115.76
+722857;IBM;$93.53
+724627;IBM;$99.97
+726536;SAP;$249.22
+727558;YHOO;$74.16
+729818;MSFT;$66.49
+732802;JAVA;$122.45
+734337;IBM;$95.21
+736267;JAVA;$130.98
+737929;IBM;$89.96
+739786;JAVA;$139.65
+741294;JAVA;$128.06
+742969;RHT;$48.21
+744434;MSFT;$71.15
+747303;YHOO;$72.05
+749616;IBM;$94.99
+751467;RHT;$47.98
+752955;JAVA;$119.81
+754656;MSFT;$67.14
+757575;SAP;$230.96
+758791;RHT;$49.78
+760242;IBM;$96.18
+762198;YHOO;$73.19
+764597;JAVA;$122.35
+766159;ORCL;$46.07
+768715;MSFT;$60.51
+771561;ORCL;$46.59
+774119;RHT;$51.70
+775568;ORCL;$48.12
+778276;JAVA;$116.89
+779859;ORCL;$48.20
+782383;ORCL;$45.59
+785007;ORCL;$47.25
+787560;IBM;$105.18
+789415;RHT;$48.17
+790704;IBM;$100.52
+792462;YHOO;$72.92
+794891;SAP;$215.47
+796054;ORCL;$45.03
+798596;IBM;$96.54
+800461;SAP;$224.45
+801682;ORCL;$45.49
+804229;GOOG;$53.60
+806251;RHT;$51.33
+807532;JAVA;$124.86
+809073;ORCL;$49.82
+811583;SAP;$213.67
+812668;ORCL;$54.46
+815262;MSFT;$62.78
+818259;GOOG;$56.19
+820490;SAP;$203.79
+821624;JAVA;$129.70
+823288;SAP;$219.22
+824466;YHOO;$67.47
+826851;YHOO;$74.00
+829225;GOOG;$50.71
+831434;MSFT;$57.34
+834279;YHOO;$80.43
+836602;ORCL;$50.94
+839321;SAP;$229.83
+840480;YHOO;$81.04
+842799;IBM;$91.09
+844633;RHT;$54.22
+846045;JAVA;$141.37
+847597;IBM;$93.96
+849349;RHT;$55.54
+850619;YHOO;$78.73
+852886;YHOO;$82.25
+855204;JAVA;$131.24
+856769;IBM;$89.05
+858767;MSFT;$54.64
+861661;MSFT;$52.47
+864447;RHT;$54.70
+865853;MSFT;$49.65
+868846;RHT;$58.46
+870319;RHT;$57.00
+871717;RHT;$57.16
+873112;GOOG;$55.27
+875240;IBM;$84.83
+877046;RHT;$59.26
+878346;JAVA;$133.60
+880042;SAP;$241.49
+881265;ORCL;$49.24
+883854;JAVA;$145.39
+885602;ORCL;$46.77
+888191;YHOO;$77.64
+890454;MSFT;$49.67
+893407;SAP;$241.18
+894647;IBM;$89.50
+896465;SAP;$218.38
+897502;MSFT;$49.47
+900475;IBM;$81.37
+902352;IBM;$89.01
+904343;ORCL;$44.83
+907020;YHOO;$75.83
+909386;JAVA;$138.82
+910974;GOOG;$51.45
+913036;JAVA;$147.53
+914707;YHOO;$69.68
+917002;JAVA;$136.21
+918726;YHOO;$72.11
+921029;ORCL;$42.70
+923620;IBM;$89.98
+925583;YHOO;$65.75
+928026;ORCL;$45.58
+930601;SAP;$198.43
+931846;YHOO;$59.85
+934102;JAVA;$144.48
+935797;GOOG;$51.82
+937957;IBM;$85.52
+939851;JAVA;$134.81
+941544;SAP;$189.66
+942644;IBM;$93.51
+944492;YHOO;$64.17
+946925;JAVA;$146.54
+948529;YHOO;$58.72
+951000;YHOO;$61.30
+953399;JAVA;$133.21
+955034;MSFT;$54.14
+957906;MSFT;$49.16
+960774;SAP;$179.68
+961791;YHOO;$59.41
+964096;JAVA;$138.78
+965826;RHT;$64.49
+967096;GOOG;$47.63
+969222;IBM;$87.42
+971152;YHOO;$61.85
+973629;GOOG;$50.81
+975804;ORCL;$48.44
+978409;JAVA;$125.97
+979981;GOOG;$55.32
+982182;YHOO;$67.86
+984477;IBM;$94.91
+986451;JAVA;$131.82
+988015;ORCL;$47.02
+990747;RHT;$58.20
+992184;IBM;$102.23
+994047;YHOO;$70.00
+996343;SAP;$175.54
+997547;RHT;$54.32
+998979;JAVA;$142.40
+1000713;GOOG;$54.18
+1002788;RHT;$51.95
+1004286;YHOO;$70.99
+1006694;RHT;$49.93
+1008178;ORCL;$48.17
+1010926;SAP;$189.92
+1012008;IBM;$103.17
+1013906;RHT;$45.53
+1015394;YHOO;$70.00
+1017764;ORCL;$46.58
+1020441;RHT;$41.70
+1021739;GOOG;$49.33
+1023865;JAVA;$135.91
+1025435;IBM;$95.65
+1027293;ORCL;$50.59
+1029829;RHT;$41.95
+1031109;GOOG;$50.79
+1033164;GOOG;$49.21
+1035321;MSFT;$52.23
+1038129;IBM;$95.36
+1040066;ORCL;$54.78
+1042687;GOOG;$46.63
+1044700;JAVA;$138.07
+1046378;YHOO;$64.73
+1048785;ORCL;$56.17
+1051339;JAVA;$143.57
+1052971;RHT;$41.12
+1054376;GOOG;$47.71
+1056433;MSFT;$47.60
+1059425;JAVA;$150.61
+1061026;SAP;$187.25
+1062172;RHT;$38.14
+1063651;MSFT;$48.98
+1066477;GOOG;$51.33
+1068550;ORCL;$56.91
+1071221;IBM;$102.33
+1073159;JAVA;$150.29
+1074705;YHOO;$62.92
+1076980;MSFT;$49.49
+1079784;ORCL;$62.55
+1082338;SAP;$172.32
+1083389;ORCL;$57.88
+1085961;RHT;$40.14
+1087308;GOOG;$46.47
+1089557;GOOG;$42.37
+1091580;IBM;$93.71
+1093344;YHOO;$66.00
+1095669;MSFT;$49.86
+1098497;MSFT;$49.23
+1101461;MSFT;$50.76
+1104292;IBM;$99.06
+1106125;GOOG;$41.69
+1108246;RHT;$38.43
+1109534;MSFT;$47.26
+1112451;RHT;$38.33
+1113803;JAVA;$137.73
+1115476;JAVA;$145.98
+1117216;ORCL;$52.81
+1119869;RHT;$39.63
+1121187;JAVA;$144.24
+1122713;JAVA;$135.86
+1124323;JAVA;$141.02
+1125897;GOOG;$43.06
+1127958;SAP;$175.58
+1129069;RHT;$43.22
+1130327;RHT;$46.25
+1131779;RHT;$45.63
+1133247;ORCL;$47.54
+1135956;IBM;$90.12
+1137923;SAP;$188.68
+1139106;RHT;$48.33
+1140398;GOOG;$43.62
+1142602;YHOO;$61.99
+1144997;SAP;$178.19
+1146029;JAVA;$140.78
+1147688;MSFT;$47.80
+1150444;RHT;$49.52
+1151824;RHT;$46.38
+1153176;MSFT;$49.27
+1156062;YHOO;$61.22
+1158391;ORCL;$45.49
+1160995;JAVA;$142.33
+1162641;SAP;$189.45
+1163738;ORCL;$47.45
+1166359;MSFT;$50.28
+1169336;YHOO;$55.80
+1171678;ORCL;$47.65
+1174294;MSFT;$52.33
+1177079;YHOO;$57.08
+1179498;ORCL;$44.98
+1182203;MSFT;$48.42
+1185076;GOOG;$44.88
+1187303;SAP;$208.24
+1188395;IBM;$96.09
+1190271;GOOG;$44.73
+1192485;MSFT;$53.11
+1195267;MSFT;$49.71
+1198066;RHT;$47.79
+1199496;IBM;$100.26

Modified: labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl
===================================================================
--- labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl	2009-01-08 21:44:26 UTC (rev 24611)
@@ -5,16 +5,17 @@
 
 dialect "mvel"
 
-declare StockTick
+/*declare StockTick
     @role( event )
-end
-
+end*/
+ 
 rule "Update price"
 when
     $st : StockTick( $sb : symbol, $pr : price ) from entry-point "StockTick stream"
     $cp : Company( symbol == $sb )
 then
     $cp.currentPrice = $pr;
+    $st.delta = $cp.delta;
 end
 
  
\ No newline at end of file

Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml	2009-01-08 21:41:57 UTC (rev 24610)
+++ labs/jbossrules/trunk/pom.xml	2009-01-08 21:44:26 UTC (rev 24611)
@@ -1116,9 +1116,13 @@
             </dependency>
             <dependency>
                 <groupId>com.jgoodies</groupId>
+                <artifactId>looks</artifactId>
+                <version>2.2.0</version>
+            </dependency>
+            <dependency>
+                <groupId>com.jgoodies</groupId>
                 <artifactId>forms</artifactId>
-                <version>1.0.7</version>
-                <!-- TODO test that the upgrade from 1.0.4 isn't a problem -->
+                <version>1.2.1</version>
             </dependency>
 
             <!-- drools-solver -->




More information about the jboss-svn-commits mailing list