[jboss-svn-commits] JBL Code SVN: r24879 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/common and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jan 22 21:06:03 EST 2009
Author: tirelli
Date: 2009-01-22 21:06:03 -0500 (Thu, 22 Jan 2009)
New Revision: 24879
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleLeftTupleSinkAdapter.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/rule/SlidingTimeWindow.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/resources/stocktickstream.dat
labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl
Log:
JBRULES-1920: fixing bugs on the example implementation
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -656,7 +656,7 @@
}
// @FIXME: we need to decide on the semantics of expiration
- public void FIXME_testSimpleTimeWindow() throws Exception {
+ public void testSimpleTimeWindow() throws Exception {
// read in the source
final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CEP_SimpleTimeWindow.drl" ) );
final RuleBaseConfiguration rbconf = new RuleBaseConfiguration();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/PropagationContextImpl.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -213,4 +213,8 @@
public void setEntryPoint(EntryPoint entryPoint) {
this.entryPoint = entryPoint;
}
+
+ public void setFactHandle(InternalFactHandle factHandle) {
+ this.factHandle = factHandle;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -23,11 +23,13 @@
import java.io.Serializable;
import java.util.Arrays;
+import org.drools.FactHandle;
import org.drools.RuleBaseConfiguration;
import org.drools.RuntimeDroolsException;
import org.drools.common.BetaConstraints;
import org.drools.common.InternalFactHandle;
import org.drools.common.InternalWorkingMemory;
+import org.drools.common.PropagationContextImpl;
import org.drools.reteoo.builder.BuildContext;
import org.drools.rule.Accumulate;
import org.drools.rule.Behavior;
@@ -226,10 +228,13 @@
}
if ( accctx.propagated ) {
- // if tuple was previously propagated, retract it
+ // if tuple was previously propagated, retract it and destroy result fact handle
this.sink.propagateRetractLeftTupleDestroyRightTuple( leftTuple,
context,
workingMemory );
+ } else {
+ // if not propagated, just destroy the result fact handle
+ workingMemory.getFactHandleFactory().destroyFactHandle( accctx.result.getFactHandle() );
}
}
@@ -307,6 +312,10 @@
final PropagationContext context,
final InternalWorkingMemory workingMemory) {
final AccumulateMemory memory = (AccumulateMemory) workingMemory.getNodeMemory( this );
+ final InternalFactHandle origin = (InternalFactHandle) context.getFactHandleOrigin();
+ if( context.getType() == PropagationContext.EXPIRATION ) {
+ ((PropagationContextImpl)context).setFactHandle( null );
+ }
behavior.retractRightTuple( memory.betaMemory.getBehaviorContext(),
rightTuple,
@@ -339,6 +348,10 @@
}
childTuple = tmp;
}
+
+ if( context.getType() == PropagationContext.EXPIRATION ) {
+ ((PropagationContextImpl)context).setFactHandle( origin );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -330,7 +330,7 @@
}
public String toString() {
- return "[ObjectTypeNode(" + this.id + ")::" + ((EntryPointNode) this.source).getEntryPoint() + " objectType=" + this.objectType + "]";
+ return "[ObjectTypeNode(" + this.id + ")::" + ((EntryPointNode) this.source).getEntryPoint() + " objectType=" + this.objectType + " expiration="+this.expirationOffset+"ms ]";
}
/**
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -287,7 +287,7 @@
}
// on fact expiration, we don't remove the activation, but let it fire
- if( context.getType() == PropagationContext.EXPIRATION ) {
+ if( context.getType() == PropagationContext.EXPIRATION && context.getFactHandleOrigin() != null ) {
EventFactHandle efh = (EventFactHandle) context.getFactHandleOrigin();
efh.increaseActivationsCount();
} else {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleLeftTupleSinkAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleLeftTupleSinkAdapter.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/SingleLeftTupleSinkAdapter.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -37,7 +37,6 @@
public void propagateRetractLeftTuple( final LeftTuple leftTuple, final PropagationContext context,
final InternalWorkingMemory workingMemory ) {
LeftTuple child = leftTuple.getBetaChildren();
- // TODO: shouldn't there be a single child tuple? so no need for iteration, right??
while( child != null ) {
LeftTuple temp = child.getLeftParentNext();
doPropagateRetractLeftTuple( context, workingMemory, child, child.getLeftTupleSink() );
@@ -50,7 +49,6 @@
public void propagateRetractLeftTupleDestroyRightTuple( final LeftTuple leftTuple, final PropagationContext context,
final InternalWorkingMemory workingMemory ) {
LeftTuple child = leftTuple.getBetaChildren();
- // TODO: shouldn't there be a single child tuple? so no need for iteration, right??
while( child != null ) {
LeftTuple temp = child.getLeftParentNext();
doPropagateRetractLeftTuple( context, workingMemory, child, child.getLeftTupleSink() );
@@ -64,7 +62,6 @@
public void propagateRetractRightTuple( final RightTuple rightTuple, final PropagationContext context,
final InternalWorkingMemory workingMemory ) {
LeftTuple child = rightTuple.getBetaChildren();
- // TODO: shouldn't there be a single child tuple? so no need for iteration, right??
while( child != null ) {
LeftTuple temp = child.getRightParentNext();
doPropagateRetractLeftTuple( context, workingMemory, child, child.getLeftTupleSink() );
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-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -22,6 +22,8 @@
import java.util.ListIterator;
import org.drools.RuntimeDroolsException;
+import org.drools.SystemEventListener;
+import org.drools.SystemEventListenerFactory;
import org.drools.RuleBaseConfiguration.EventProcessingMode;
import org.drools.base.ClassObjectType;
import org.drools.base.DroolsQuery;
@@ -57,6 +59,8 @@
public class PatternBuilder
implements
ReteooComponentBuilder {
+
+ SystemEventListener listener = SystemEventListenerFactory.getSystemEventListener();
/**
* @inheritDoc
@@ -183,6 +187,7 @@
long uplimit = ((VariableConstraint) constraint).getInterval().getUpperBound();
Duration dur = context.getRule().getDuration();
Duration newDur = new FixedDuration( uplimit );
+ listener.info( context.getRule() + " : new delay added " + uplimit + "ms" );
if( dur instanceof CompositeMaxDuration ) {
((CompositeMaxDuration)dur).addDuration( newDur );
} else {
@@ -281,7 +286,10 @@
}
if( expirationOffset == 0) {
otn.setExpirationOffset( context.getTemporalDistance().getExpirationOffset( pattern ) );
+ } else {
+ otn.setExpirationOffset( expirationOffset );
}
+ listener.info(otn + " : setting expiration offset to: " + otn.getExpirationOffset()+ "ms" );
}
context.setObjectSource( (ObjectSource) utils.attachNode( context,
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java 2009-01-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -48,6 +48,8 @@
Behavior {
private long size;
+ // stateless job
+ private final BehaviorJob job = new BehaviorJob();
public SlidingTimeWindow() {
this( 0 );
@@ -191,7 +193,6 @@
JobContext jobctx = new BehaviorJobContext( workingMemory,
this,
context );
- BehaviorJob job = new BehaviorJob();
JobHandle handle = clock.scheduleJob( job,
jobctx,
new PointInTimeTrigger( nextTimestamp ) );
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-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/Broker.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -17,7 +17,9 @@
package org.drools.examples.broker;
import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseConfiguration;
import org.drools.KnowledgeBaseFactory;
+import org.drools.RuleBaseConfiguration;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
@@ -28,6 +30,8 @@
import org.drools.examples.broker.model.StockTick;
import org.drools.examples.broker.ui.BrokerWindow;
import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLogger;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
@@ -58,6 +62,7 @@
StockTick tick = ((Event<StockTick>)event).getObject();
Company company = this.companies.getCompany( tick.getSymbol() );
this.tickStream.insert( tick );
+ this.session.getAgenda().getAgendaGroup( "evaluation" ).setFocus();
this.session.fireAllRules();
window.updateCompany( company.getSymbol() );
window.updateTick( tick );
@@ -66,10 +71,12 @@
private StatefulKnowledgeSession createSession() {
KnowledgeBase kbase = loadRuleBase();
StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
+ //KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newConsoleLogger( session );
session.setGlobal( "services", this );
for( Company company : this.companies.getCompanies() ) {
session.insert( company );
}
+ session.fireAllRules();
return session;
}
@@ -81,7 +88,10 @@
} catch ( Exception e ) {
e.printStackTrace();
}
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ KnowledgeBaseConfiguration conf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
+ conf.setProperty( "drools.eventProcessingMode", "stream" );
+ //System.out.println(((RuleBaseConfiguration)conf).getEventProcessingMode());
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase( conf );
kbase.addKnowledgePackages( builder.getKnowledgePackages() );
return kbase;
}
@@ -89,6 +99,4 @@
public void log(String message) {
window.log( message );
}
-
-
}
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-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/java/org/drools/examples/broker/events/EventGenerator.java 2009-01-23 02:06:03 UTC (rev 24879)
@@ -43,7 +43,7 @@
// 20 minutes
long timespam = 20 * 60 * 1000;
// interval between events: [200ms,2s]
- long[] interval = new long[]{ 1000, 3000 };
+ long[] interval = new long[]{ 200, 2000 };
// price changes: +- 10%
double[] priceChanges = new double[] { -0.1, 0.1 };
// starting price range
@@ -53,6 +53,8 @@
// persister helper
StockTickPersister persister = new StockTickPersister();
persister.openForSave( new FileWriter( DATA_FILE ) );
+
+ System.out.print("Generating data for 20 min...");
// initializing starting prices
for( Company company : companies ) {
@@ -74,6 +76,8 @@
companies[company].setCurrentPrice( price );
}
persister.close();
+
+ System.out.println("done.");
}
private static double nextStartingPrice(double[] startingPrices) {
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-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/resources/stocktickstream.dat 2009-01-23 02:06:03 UTC (rev 24879)
@@ -1,610 +1,1093 @@
-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
+0;SAP;$110.87
+0;RHT;$75.20
+0;JAVA;$59.90
+0;IBM;$112.11
+0;GOOG;$100.93
+0;YHOO;$90.22
+0;ORCL;$117.70
+0;MSFT;$105.19
+0;ORCL;$126.45
+1765;YHOO;$92.90
+3222;JAVA;$54.02
+4069;YHOO;$87.02
+5616;RHT;$82.53
+6070;YHOO;$84.40
+7500;MSFT;$113.51
+9297;MSFT;$107.77
+11123;YHOO;$78.65
+12632;IBM;$109.05
+13674;GOOG;$110.55
+14908;SAP;$113.46
+15328;MSFT;$102.97
+17268;RHT;$80.06
+17702;ORCL;$132.99
+19321;JAVA;$55.72
+20130;ORCL;$133.50
+21898;YHOO;$85.45
+23328;YHOO;$86.83
+24695;RHT;$82.39
+25263;SAP;$122.26
+25479;GOOG;$119.35
+26738;RHT;$77.92
+27268;YHOO;$86.59
+28720;MSFT;$110.58
+30697;MSFT;$106.29
+32581;JAVA;$52.52
+33410;YHOO;$78.98
+34777;MSFT;$106.71
+36589;RHT;$85.14
+37227;RHT;$78.73
+37872;GOOG;$123.77
+39139;RHT;$81.16
+39625;JAVA;$57.56
+40415;JAVA;$61.19
+41268;RHT;$79.82
+41847;MSFT;$104.23
+43804;SAP;$127.05
+44181;GOOG;$115.20
+45491;ORCL;$125.28
+47116;JAVA;$66.28
+47814;YHOO;$75.89
+49305;JAVA;$69.67
+50135;YHOO;$80.61
+51660;ORCL;$123.06
+53225;SAP;$138.04
+53641;YHOO;$78.99
+55024;MSFT;$111.64
+56929;GOOG;$119.81
+58063;ORCL;$129.37
+59653;MSFT;$118.62
+61530;YHOO;$78.72
+63031;GOOG;$127.52
+64276;SAP;$151.13
+64576;YHOO;$72.64
+65938;YHOO;$78.42
+67483;MSFT;$122.87
+69281;RHT;$73.62
+69812;MSFT;$122.79
+71628;RHT;$80.86
+72094;RHT;$82.33
+72705;MSFT;$115.01
+74581;IBM;$112.79
+75655;JAVA;$66.85
+76440;ORCL;$120.20
+78205;SAP;$156.40
+78562;JAVA;$62.20
+79313;ORCL;$130.79
+81049;RHT;$83.48
+81631;ORCL;$123.20
+83303;SAP;$164.43
+83612;MSFT;$119.04
+85548;GOOG;$134.28
+86683;IBM;$101.56
+87701;MSFT;$120.41
+89635;YHOO;$78.47
+91026;SAP;$157.19
+91448;GOOG;$144.66
+92682;YHOO;$72.35
+94114;SAP;$159.38
+94344;YHOO;$75.77
+95721;MSFT;$127.71
+97695;MSFT;$139.76
+99659;GOOG;$136.75
+100925;ORCL;$127.21
+102591;MSFT;$128.62
+104459;IBM;$100.08
+105410;YHOO;$71.38
+106761;IBM;$95.10
+107652;ORCL;$137.87
+109341;YHOO;$76.20
+110793;MSFT;$137.79
+112753;RHT;$79.95
+113229;IBM;$89.30
+114176;RHT;$75.69
+114722;IBM;$82.95
+115717;MSFT;$135.10
+117565;RHT;$77.02
+118209;JAVA;$63.48
+118956;SAP;$149.00
+119216;ORCL;$146.30
+120775;IBM;$86.01
+121819;ORCL;$155.83
+123479;JAVA;$61.43
+124329;IBM;$93.32
+125269;JAVA;$60.12
+125943;MSFT;$131.32
+127821;IBM;$85.45
+128806;IBM;$87.91
+129725;SAP;$145.02
+130092;ORCL;$158.88
+131831;RHT;$78.72
+132284;YHOO;$75.11
+133744;SAP;$147.74
+134137;ORCL;$151.29
+135698;ORCL;$148.32
+137296;ORCL;$140.67
+138959;IBM;$80.79
+139949;IBM;$78.39
+141018;GOOG;$137.38
+142266;ORCL;$126.74
+143944;JAVA;$62.98
+144692;MSFT;$142.45
+146645;JAVA;$59.27
+147430;SAP;$142.53
+147834;ORCL;$134.11
+149534;MSFT;$139.84
+151350;JAVA;$54.20
+152171;YHOO;$72.98
+153593;SAP;$150.10
+154003;SAP;$143.39
+154404;IBM;$78.90
+155331;IBM;$86.53
+156425;YHOO;$72.65
+157834;MSFT;$143.03
+159818;IBM;$91.90
+160811;GOOG;$147.16
+162074;SAP;$157.72
+162383;RHT;$79.52
+162912;ORCL;$143.80
+164587;YHOO;$74.23
+165995;MSFT;$140.25
+167920;JAVA;$54.88
+168655;YHOO;$70.68
+170162;RHT;$73.77
+170624;RHT;$76.90
+171221;YHOO;$69.05
+172635;RHT;$80.75
+173198;RHT;$87.29
+173672;RHT;$87.90
+174172;MSFT;$143.78
+176064;YHOO;$72.15
+177425;GOOG;$138.01
+178650;RHT;$82.52
+179089;RHT;$78.15
+179666;ORCL;$141.19
+181371;ORCL;$142.42
+182932;GOOG;$151.73
+184096;YHOO;$73.82
+185511;RHT;$83.74
+186013;ORCL;$128.24
+187589;SAP;$157.77
+187901;SAP;$159.77
+188105;GOOG;$142.10
+189256;GOOG;$133.65
+190460;ORCL;$121.25
+192211;GOOG;$124.77
+193316;IBM;$94.26
+194252;JAVA;$52.14
+194955;GOOG;$119.77
+196264;MSFT;$143.68
+198060;JAVA;$48.93
+198858;SAP;$144.35
+199256;JAVA;$53.15
+200104;GOOG;$111.89
+201329;YHOO;$73.98
+202715;YHOO;$75.29
+204239;ORCL;$120.95
+205829;ORCL;$131.18
+207474;IBM;$96.49
+208567;MSFT;$149.88
+210515;RHT;$77.21
+211034;RHT;$82.32
+211641;YHOO;$68.35
+212998;YHOO;$68.32
+214390;GOOG;$112.48
+215570;SAP;$136.57
+215952;ORCL;$127.45
+217670;IBM;$105.20
+218638;YHOO;$71.45
+220103;RHT;$77.36
+220682;YHOO;$65.34
+222070;JAVA;$56.37
+222722;YHOO;$67.25
+224247;MSFT;$139.18
+226101;ORCL;$116.17
+227870;ORCL;$118.71
+229577;MSFT;$148.08
+231399;ORCL;$112.46
+233140;MSFT;$145.16
+234938;JAVA;$53.77
+235657;IBM;$102.12
+236618;RHT;$75.21
+237168;JAVA;$56.48
+237892;RHT;$69.21
+238512;GOOG;$102.85
+239666;RHT;$73.05
+240126;GOOG;$103.61
+241285;IBM;$110.57
+242209;SAP;$148.37
+242596;GOOG;$113.26
+243854;JAVA;$57.53
+244699;GOOG;$122.79
+245984;RHT;$68.75
+246581;RHT;$74.62
+247094;YHOO;$71.52
+248571;ORCL;$122.20
+250221;YHOO;$76.30
+251705;YHOO;$80.79
+253136;JAVA;$56.55
+253950;ORCL;$133.85
+255636;SAP;$154.06
+256054;JAVA;$59.57
+256862;MSFT;$135.99
+258664;MSFT;$132.92
+260528;SAP;$143.74
+260797;IBM;$104.73
+261705;YHOO;$74.67
+263112;JAVA;$59.27
+263960;MSFT;$135.62
+265917;SAP;$141.91
+266257;GOOG;$116.27
+267398;YHOO;$67.71
+268757;IBM;$108.36
+269697;JAVA;$55.38
+270556;ORCL;$124.09
+272299;GOOG;$113.22
+273575;JAVA;$57.08
+274291;GOOG;$122.31
+275590;MSFT;$133.86
+277502;IBM;$118.41
+278473;MSFT;$145.14
+280402;GOOG;$134.36
+281670;SAP;$138.81
+281971;JAVA;$58.81
+282641;IBM;$124.25
+283658;IBM;$112.73
+284581;SAP;$141.17
+284908;RHT;$80.90
+285543;SAP;$143.20
+285896;SAP;$155.40
+286266;RHT;$82.73
+286867;JAVA;$64.64
+287699;GOOG;$135.31
+289020;GOOG;$143.57
+290161;JAVA;$69.96
+290838;SAP;$154.37
+291046;JAVA;$76.31
+291776;YHOO;$62.44
+293303;RHT;$88.98
+293835;MSFT;$146.03
+295698;JAVA;$81.62
+296393;RHT;$91.78
+296963;SAP;$151.08
+297227;JAVA;$79.44
+298009;SAP;$146.38
+298234;ORCL;$115.07
+299856;GOOG;$148.70
+301101;IBM;$118.53
+302036;IBM;$130.34
+303122;SAP;$144.85
+303451;IBM;$122.54
+304349;JAVA;$85.09
+305194;IBM;$125.76
+306235;ORCL;$126.54
+307813;GOOG;$163.45
+309008;JAVA;$91.67
+309705;RHT;$87.89
+310275;GOOG;$162.92
+311434;IBM;$121.49
+312529;MSFT;$151.11
+314498;JAVA;$87.99
+315238;IBM;$125.98
+316297;JAVA;$81.14
+316971;GOOG;$150.03
+318276;YHOO;$59.42
+319703;ORCL;$126.79
+321361;JAVA;$86.55
+322219;ORCL;$114.45
+323959;RHT;$94.79
+324449;MSFT;$161.32
+326448;ORCL;$106.16
+328132;GOOG;$151.63
+329323;MSFT;$160.62
+331242;ORCL;$111.01
+332992;RHT;$89.63
+333581;GOOG;$159.94
+334876;SAP;$141.92
+335217;IBM;$118.74
+336141;MSFT;$161.65
+338059;GOOG;$144.72
+339272;MSFT;$175.99
+341118;JAVA;$81.06
+341788;SAP;$155.04
+342208;RHT;$94.54
+342657;SAP;$146.47
+343007;YHOO;$63.93
+344488;ORCL;$100.96
+346060;IBM;$122.42
+346952;JAVA;$78.71
+347634;ORCL;$92.48
+349185;MSFT;$160.25
+351114;MSFT;$170.08
+352942;RHT;$97.90
+353535;GOOG;$141.24
+354698;JAVA;$84.77
+355556;YHOO;$59.25
+356882;YHOO;$63.49
+358291;YHOO;$68.50
+359795;SAP;$139.09
+360170;RHT;$101.58
+360710;YHOO;$63.78
+362256;RHT;$97.37
+362805;YHOO;$57.76
+364193;RHT;$91.39
+364816;MSFT;$153.80
+366624;IBM;$118.19
+367560;JAVA;$81.99
+368402;GOOG;$146.71
+369580;RHT;$90.25
+370005;MSFT;$166.81
+371999;IBM;$129.77
+373039;GOOG;$143.59
+374347;SAP;$128.65
+374555;ORCL;$91.68
+376298;YHOO;$57.30
+377817;SAP;$116.41
+378020;SAP;$122.88
+378265;GOOG;$130.91
+379367;IBM;$129.15
+380352;GOOG;$130.91
+381566;RHT;$81.84
+382180;RHT;$84.44
+382708;MSFT;$168.69
+384659;RHT;$79.35
+385223;GOOG;$136.51
+386395;RHT;$71.65
+387004;GOOG;$141.61
+388194;RHT;$77.76
+388696;JAVA;$77.69
+389409;YHOO;$53.16
+390739;YHOO;$50.75
+392122;JAVA;$77.93
+392772;IBM;$136.24
+393814;JAVA;$76.62
+394553;ORCL;$87.19
+396201;IBM;$124.23
+397294;YHOO;$54.12
+398800;RHT;$72.16
+399347;YHOO;$59.39
+400675;SAP;$134.61
+400906;IBM;$124.28
+401924;MSFT;$166.11
+403800;YHOO;$54.16
+405195;RHT;$71.50
+405702;SAP;$134.63
+406051;GOOG;$132.44
+407170;YHOO;$57.19
+408562;GOOG;$128.01
+409821;YHOO;$56.94
+411213;IBM;$120.93
+412290;RHT;$69.99
+412801;MSFT;$155.57
+414661;JAVA;$81.42
+415478;GOOG;$137.31
+416791;SAP;$134.42
+417207;YHOO;$52.50
+418695;GOOG;$130.80
+419836;SAP;$147.24
+420234;RHT;$66.34
+420807;ORCL;$93.31
+422503;GOOG;$127.14
+423802;SAP;$138.01
+424072;ORCL;$87.83
+425751;IBM;$128.45
+426846;SAP;$136.46
+427241;GOOG;$132.53
+428388;RHT;$67.94
+428919;RHT;$61.90
+429533;YHOO;$53.08
+430923;JAVA;$77.76
+431766;MSFT;$164.53
+433568;MSFT;$168.94
+435480;GOOG;$124.43
+436765;YHOO;$56.49
+438276;YHOO;$54.14
+439755;RHT;$59.43
+440311;IBM;$119.09
+441290;SAP;$123.66
+441621;JAVA;$75.17
+442450;ORCL;$86.07
+444095;IBM;$108.25
+444996;YHOO;$50.55
+446358;SAP;$116.98
+446673;RHT;$61.12
+447130;IBM;$112.03
+448090;SAP;$109.51
+448394;JAVA;$77.48
+449111;GOOG;$125.60
+450407;JAVA;$81.67
+451144;ORCL;$94.41
+452819;SAP;$113.62
+453197;RHT;$62.06
+453823;JAVA;$84.04
+454692;IBM;$114.05
+455614;SAP;$105.24
+455895;JAVA;$81.70
+456579;GOOG;$127.70
+457903;JAVA;$73.66
+458739;RHT;$65.53
+459259;JAVA;$80.40
+460108;GOOG;$136.48
+461383;ORCL;$102.36
+462937;IBM;$116.41
+463968;SAP;$111.93
+464349;YHOO;$46.04
+465705;SAP;$117.32
+466033;MSFT;$180.84
+467961;ORCL;$111.21
+469560;ORCL;$105.05
+471216;GOOG;$149.19
+472382;IBM;$106.88
+473344;MSFT;$188.10
+475188;IBM;$105.28
+476230;MSFT;$197.76
+478107;IBM;$97.26
+479140;MSFT;$185.95
+481078;JAVA;$79.35
+481789;GOOG;$141.13
+483056;SAP;$117.74
+483391;MSFT;$199.74
+485248;JAVA;$75.72
+485961;RHT;$62.57
+486531;GOOG;$135.49
+487838;MSFT;$183.61
+489706;ORCL;$107.78
+491388;ORCL;$110.26
+493060;MSFT;$193.64
+494837;MSFT;$206.95
+496716;RHT;$64.42
+497192;ORCL;$109.30
+498893;YHOO;$43.78
+500251;ORCL;$103.88
+501880;SAP;$113.60
+502087;IBM;$92.61
+503032;JAVA;$79.13
+503790;MSFT;$189.02
+505747;ORCL;$97.07
+507447;YHOO;$40.65
+508891;SAP;$121.53
+509129;ORCL;$104.78
+510711;ORCL;$101.99
+512442;RHT;$69.60
+512973;IBM;$84.44
+514012;IBM;$85.09
+514909;JAVA;$82.60
+515719;RHT;$76.02
+516216;IBM;$85.77
+517113;RHT;$68.85
+517737;RHT;$66.55
+518324;SAP;$116.61
+518742;MSFT;$171.81
+520576;IBM;$88.65
+521629;RHT;$68.39
+522191;GOOG;$123.18
+523473;ORCL;$100.32
+525086;IBM;$97.30
+526071;ORCL;$107.73
+527736;RHT;$69.55
+528357;RHT;$71.02
+528907;SAP;$116.87
+529168;ORCL;$111.68
+530728;YHOO;$43.03
+532139;ORCL;$116.19
+533813;RHT;$66.96
+534321;SAP;$124.13
+534710;RHT;$68.72
+535154;RHT;$65.81
+535704;JAVA;$87.45
+536568;SAP;$113.61
+536985;YHOO;$42.08
+538361;ORCL;$125.65
+540068;MSFT;$161.11
+541890;MSFT;$148.52
+543730;IBM;$101.50
+544712;ORCL;$113.48
+546434;MSFT;$143.92
+548368;MSFT;$140.27
+550214;MSFT;$127.50
+552072;SAP;$106.81
+552354;MSFT;$136.22
+554340;MSFT;$146.41
+556310;IBM;$93.86
+557213;JAVA;$91.22
+558010;YHOO;$45.12
+559383;RHT;$60.22
+559892;YHOO;$42.00
+561436;GOOG;$127.04
+562607;SAP;$116.28
+562872;GOOG;$116.52
+563976;GOOG;$116.10
+565229;ORCL;$106.84
+566792;MSFT;$135.06
+568649;IBM;$87.11
+569524;GOOG;$123.95
+570753;GOOG;$121.93
+572040;MSFT;$128.16
+573906;ORCL;$112.69
+575616;GOOG;$132.52
+576919;JAVA;$99.35
+577570;MSFT;$115.90
+579563;MSFT;$123.71
+581525;GOOG;$134.24
+582688;JAVA;$109.16
+583362;ORCL;$110.19
+585011;ORCL;$114.80
+586635;MSFT;$122.67
+588474;SAP;$116.12
+588866;IBM;$82.44
+589906;JAVA;$111.49
+590707;MSFT;$130.68
+592624;MSFT;$122.32
+594619;SAP;$124.70
+595018;MSFT;$132.62
+596797;MSFT;$144.20
+598577;SAP;$132.93
+598787;GOOG;$122.82
+599942;IBM;$88.52
+600928;ORCL;$104.57
+602654;YHOO;$40.78
+604172;YHOO;$41.08
+605554;RHT;$61.19
+606178;IBM;$93.74
+607086;GOOG;$131.87
+608310;JAVA;$101.97
+609169;GOOG;$143.26
+610313;JAVA;$96.94
+611132;YHOO;$37.87
+612626;RHT;$60.59
+613071;SAP;$121.00
+613460;YHOO;$36.34
+614881;GOOG;$151.27
+616001;ORCL;$102.05
+617564;SAP;$119.85
+617956;MSFT;$130.93
+619952;YHOO;$36.28
+621321;IBM;$85.64
+622327;MSFT;$122.25
+624122;RHT;$64.57
+624683;IBM;$77.14
+625670;ORCL;$108.04
+627410;YHOO;$33.40
+628870;YHOO;$30.47
+630206;IBM;$74.25
+631195;MSFT;$111.40
+633192;JAVA;$87.88
+633899;MSFT;$116.79
+635891;MSFT;$106.25
+637682;MSFT;$100.92
+639477;RHT;$63.04
+639955;JAVA;$96.46
+640673;IBM;$70.86
+641611;IBM;$67.22
+642681;SAP;$128.94
+643042;JAVA;$98.71
+643836;GOOG;$149.64
+645047;YHOO;$33.02
+646460;RHT;$66.09
+647000;JAVA;$99.63
+647739;RHT;$71.36
+648379;YHOO;$32.90
+649811;ORCL;$114.97
+651445;SAP;$141.51
+651844;ORCL;$114.44
+653615;SAP;$136.86
+654003;IBM;$66.74
+655038;JAVA;$95.44
+655701;MSFT;$101.53
+657566;GOOG;$147.40
+658683;RHT;$71.57
+659325;ORCL;$123.61
+661025;YHOO;$33.07
+662474;SAP;$127.53
+662698;JAVA;$103.80
+663407;MSFT;$92.86
+665213;SAP;$135.84
+665625;ORCL;$124.17
+667332;JAVA;$94.59
+668063;RHT;$76.69
+668510;SAP;$127.35
+668868;GOOG;$147.51
+670063;ORCL;$119.23
+671707;IBM;$65.81
+672767;ORCL;$120.28
+674479;YHOO;$34.47
+675990;GOOG;$151.64
+677214;RHT;$84.27
+677823;SAP;$126.67
+678196;ORCL;$131.29
+679789;IBM;$66.98
+680816;IBM;$64.65
+681734;SAP;$128.93
+682003;RHT;$86.04
+682585;SAP;$136.91
+682997;GOOG;$153.73
+684155;SAP;$143.61
+684363;SAP;$149.06
+684606;RHT;$91.71
+685102;MSFT;$101.47
+687000;YHOO;$34.83
+688448;RHT;$85.96
+688977;SAP;$143.87
+689241;MSFT;$93.25
+691172;GOOG;$145.59
+692272;ORCL;$125.82
+693865;YHOO;$36.71
+695322;RHT;$88.22
+695924;IBM;$61.16
+696813;MSFT;$89.02
+698596;ORCL;$137.57
+700363;SAP;$149.55
+700648;MSFT;$84.81
+702598;YHOO;$34.89
+703976;YHOO;$32.37
+705399;JAVA;$99.94
+706237;ORCL;$148.06
+707857;SAP;$143.01
+708201;MSFT;$89.97
+710137;SAP;$143.78
+710432;ORCL;$148.40
+712031;ORCL;$139.45
+713682;IBM;$62.73
+714572;YHOO;$34.36
+715991;GOOG;$136.35
+717151;IBM;$57.08
+718034;YHOO;$36.17
+719471;MSFT;$86.66
+721264;YHOO;$39.65
+722707;RHT;$84.87
+723148;YHOO;$36.06
+724622;ORCL;$131.05
+726365;ORCL;$121.71
+728048;MSFT;$91.01
+729858;MSFT;$91.15
+731711;RHT;$83.22
+732357;MSFT;$90.84
+734184;YHOO;$36.38
+735622;GOOG;$130.20
+736830;RHT;$76.30
+737310;ORCL;$120.61
+739039;JAVA;$93.01
+739766;SAP;$157.01
+739975;SAP;$166.79
+740225;MSFT;$96.00
+742010;RHT;$77.33
+742556;SAP;$182.46
+742758;SAP;$175.61
+742996;GOOG;$117.63
+744198;JAVA;$97.82
+744987;ORCL;$108.63
+746759;JAVA;$92.27
+747563;SAP;$184.76
+747914;YHOO;$36.64
+749362;GOOG;$111.06
+750529;IBM;$57.81
+751517;IBM;$59.37
+752460;MSFT;$97.55
+754321;MSFT;$90.98
+756184;MSFT;$97.79
+758165;SAP;$173.35
+758588;IBM;$54.94
+759497;SAP;$174.27
+759815;SAP;$163.48
+760238;SAP;$150.76
+760527;IBM;$55.87
+761548;ORCL;$104.85
+763259;IBM;$59.87
+764287;SAP;$136.61
+764683;SAP;$135.50
+764926;SAP;$144.19
+765307;ORCL;$109.78
+766907;RHT;$73.26
+767486;SAP;$131.41
+767790;IBM;$63.36
+768804;IBM;$59.15
+769861;SAP;$126.03
+770228;IBM;$62.63
+771327;SAP;$124.57
+771697;SAP;$120.71
+771957;JAVA;$90.60
+772637;YHOO;$36.15
+774023;IBM;$58.95
+774908;GOOG;$112.41
+776109;JAVA;$98.11
+776888;RHT;$68.44
+777445;ORCL;$103.96
+779135;YHOO;$36.41
+780620;YHOO;$39.12
+782015;SAP;$116.78
+782241;RHT;$64.16
+782841;YHOO;$36.55
+784277;YHOO;$34.07
+785623;MSFT;$95.18
+787490;SAP;$109.94
+787890;RHT;$57.85
+788518;SAP;$116.59
+788847;RHT;$62.09
+789297;YHOO;$35.32
+790800;JAVA;$93.48
+791491;ORCL;$104.59
+793071;GOOG;$119.55
+794197;JAVA;$91.91
+794885;ORCL;$104.05
+796478;YHOO;$37.13
+797869;IBM;$57.61
+798817;IBM;$56.08
+799877;JAVA;$95.48
+800536;IBM;$52.45
+801571;SAP;$114.58
+801877;RHT;$56.01
+802422;ORCL;$108.44
+804118;MSFT;$89.30
+805945;RHT;$54.30
+806397;IBM;$53.78
+807310;MSFT;$96.63
+809286;IBM;$51.27
+810177;MSFT;$92.64
+812136;SAP;$117.12
+812351;GOOG;$114.42
+813454;GOOG;$104.18
+814574;IBM;$55.48
+815536;IBM;$60.25
+816472;SAP;$118.93
+816779;JAVA;$102.55
+817645;IBM;$54.75
+818662;MSFT;$91.49
+820482;GOOG;$107.59
+821583;YHOO;$38.51
+822980;RHT;$53.07
+823496;GOOG;$110.68
+824749;ORCL;$101.15
+826353;JAVA;$97.53
+827161;JAVA;$106.22
+827959;ORCL;$108.94
+829612;IBM;$56.49
+830671;IBM;$56.84
+831707;JAVA;$111.72
+832564;RHT;$54.01
+833028;IBM;$51.81
+833937;JAVA;$115.70
+834597;RHT;$50.33
+835125;JAVA;$114.40
+835898;ORCL;$107.49
+837561;GOOG;$107.79
+838866;ORCL;$114.38
+840620;YHOO;$41.42
+842003;IBM;$47.24
+843089;ORCL;$104.42
+844791;SAP;$107.12
+845190;IBM;$44.09
+846153;JAVA;$114.35
+846826;YHOO;$37.95
+848341;MSFT;$94.85
+850299;MSFT;$101.81
+852273;RHT;$48.50
+852903;IBM;$41.16
+853805;ORCL;$108.62
+855536;JAVA;$105.02
+856265;JAVA;$103.48
+857112;JAVA;$96.62
+857829;RHT;$50.31
+858364;GOOG;$101.71
+859536;RHT;$45.95
+860107;SAP;$98.19
+860341;ORCL;$103.46
+862000;ORCL;$99.44
+863588;IBM;$39.04
+864586;RHT;$46.32
+865029;YHOO;$41.49
+866510;YHOO;$40.94
+867875;GOOG;$105.90
+869192;YHOO;$38.67
+870573;SAP;$95.83
+870872;ORCL;$100.74
+872484;GOOG;$109.54
+873682;ORCL;$96.23
+875232;JAVA;$91.17
+875927;MSFT;$99.28
+877724;ORCL;$88.49
+879342;ORCL;$81.82
+880992;YHOO;$38.60
+882333;IBM;$40.29
+883390;RHT;$48.53
+883939;ORCL;$79.65
+885647;ORCL;$78.18
+887325;YHOO;$39.16
+888710;JAVA;$84.50
+889435;YHOO;$40.61
+890967;JAVA;$82.75
+891708;IBM;$43.87
+892694;RHT;$47.52
+893137;YHOO;$42.09
+894586;SAP;$95.01
+894842;RHT;$46.44
+895475;JAVA;$89.71
+896276;YHOO;$43.99
+897802;IBM;$40.23
+898721;SAP;$98.70
+899043;SAP;$91.89
+899323;ORCL;$80.22
+900897;RHT;$43.46
+901401;RHT;$41.81
+901869;RHT;$38.89
+902483;IBM;$43.82
+903573;YHOO;$45.33
+904928;ORCL;$76.27
+906507;YHOO;$49.09
+907921;RHT;$37.10
+908444;RHT;$40.59
+908969;GOOG;$120.12
+910278;YHOO;$49.21
+911653;RHT;$42.00
+912237;GOOG;$119.19
+913421;JAVA;$82.53
+914181;ORCL;$75.63
+915767;YHOO;$52.61
+917159;MSFT;$90.13
+919131;YHOO;$54.52
+920501;YHOO;$51.16
+921938;MSFT;$81.24
+923832;GOOG;$129.77
+925071;GOOG;$124.27
+926308;YHOO;$49.24
+927669;SAP;$82.70
+927970;GOOG;$116.50
+929231;RHT;$40.97
+929806;RHT;$43.70
+930242;YHOO;$46.39
+931714;JAVA;$85.49
+932563;IBM;$47.65
+933536;GOOG;$126.56
+934786;MSFT;$75.34
+936710;SAP;$81.23
+936923;YHOO;$47.67
+938374;ORCL;$75.71
+939976;YHOO;$47.55
+941337;MSFT;$77.59
+943260;IBM;$49.46
+944344;ORCL;$74.56
+946062;JAVA;$88.60
+946870;MSFT;$82.96
+948728;RHT;$47.43
+949218;GOOG;$127.30
+950504;ORCL;$74.16
+952117;ORCL;$78.82
+953789;RHT;$45.53
+954402;SAP;$77.15
+954697;ORCL;$74.57
+956322;YHOO;$50.62
+957855;JAVA;$81.64
+958596;ORCL;$70.81
+960329;IBM;$45.43
+961294;MSFT;$81.33
+963171;YHOO;$53.80
+964690;RHT;$46.69
+965291;SAP;$82.00
+965638;MSFT;$74.09
+967576;GOOG;$119.68
+968827;SAP;$74.66
+969190;SAP;$76.40
+969500;YHOO;$54.43
+970961;IBM;$49.81
+971837;IBM;$50.77
+972801;MSFT;$78.26
+974663;ORCL;$66.83
+976224;YHOO;$56.51
+977566;SAP;$72.85
+977980;GOOG;$108.69
+979304;RHT;$44.37
+979866;GOOG;$116.30
+981001;IBM;$55.07
+981983;GOOG;$105.17
+983159;RHT;$44.08
+983773;JAVA;$88.85
+984455;GOOG;$109.76
+985587;IBM;$51.35
+986522;ORCL;$67.73
+988289;JAVA;$92.27
+989066;JAVA;$89.43
+989755;IBM;$51.69
+990680;JAVA;$91.61
+991373;IBM;$51.79
+992381;JAVA;$83.45
+993121;IBM;$56.37
+994073;SAP;$77.42
+994446;YHOO;$59.04
+995937;YHOO;$62.88
+997271;YHOO;$63.65
+998629;GOOG;$100.39
+999935;ORCL;$66.64
+1001548;ORCL;$62.40
+1003139;SAP;$70.38
+1003410;ORCL;$56.65
+1005128;YHOO;$60.63
+1006492;YHOO;$64.08
+1007858;RHT;$46.78
+1008356;IBM;$58.28
+1009377;SAP;$73.08
+1009724;JAVA;$81.17
+1010382;MSFT;$80.50
+1012159;JAVA;$87.83
+1012812;GOOG;$95.55
+1014129;JAVA;$88.60
+1014912;SAP;$71.96
+1015211;JAVA;$81.34
+1015881;MSFT;$83.38
+1017722;YHOO;$68.42
+1019226;JAVA;$87.35
+1019958;SAP;$65.29
+1020278;ORCL;$55.39
+1021951;RHT;$45.71
+1022461;MSFT;$88.77
+1024404;RHT;$45.74
+1024860;SAP;$58.86
+1025247;ORCL;$50.14
+1026975;ORCL;$50.32
+1028537;MSFT;$83.33
+1030351;MSFT;$76.87
+1032341;JAVA;$95.75
+1033200;IBM;$58.26
+1034128;MSFT;$76.70
+1035952;GOOG;$89.49
+1037187;SAP;$60.73
+1037492;RHT;$49.08
+1038140;GOOG;$81.29
+1039309;GOOG;$79.52
+1040601;YHOO;$63.39
+1042095;JAVA;$93.11
+1042878;MSFT;$77.28
+1044808;MSFT;$71.83
+1046663;GOOG;$78.31
+1047834;JAVA;$97.24
+1048487;SAP;$57.87
+1048738;ORCL;$55.16
+1050291;JAVA;$87.79
+1051089;IBM;$56.47
+1052020;JAVA;$89.79
+1052755;ORCL;$53.55
+1054315;SAP;$62.94
+1054595;IBM;$51.58
+1055623;YHOO;$60.33
+1057025;YHOO;$60.17
+1058448;YHOO;$59.02
+1059796;JAVA;$85.18
+1060610;SAP;$63.83
+1060891;MSFT;$66.74
+1062704;IBM;$47.95
+1063656;RHT;$53.07
+1064134;MSFT;$70.37
+1066112;MSFT;$71.49
+1067929;ORCL;$54.49
+1069692;MSFT;$64.72
+1071613;GOOG;$77.15
+1072865;SAP;$63.86
+1073139;GOOG;$76.83
+1074429;IBM;$44.91
+1075511;GOOG;$71.31
+1076630;SAP;$58.63
+1077050;YHOO;$63.72
+1078480;YHOO;$59.22
+1079824;ORCL;$57.49
+1081451;ORCL;$56.86
+1083144;YHOO;$57.16
+1084607;RHT;$57.15
+1085132;RHT;$51.50
+1085717;YHOO;$61.44
+1087048;ORCL;$52.37
+1088707;IBM;$45.16
+1089738;YHOO;$65.84
+1091074;ORCL;$54.00
+1092669;JAVA;$88.61
+1093388;SAP;$60.77
+1093617;ORCL;$55.85
+1095244;MSFT;$66.40
+1097037;SAP;$55.97
+1097373;YHOO;$62.77
+1098868;IBM;$41.06
+1099768;ORCL;$51.51
+1101443;MSFT;$61.58
+1103276;IBM;$43.11
+1104200;RHT;$51.29
+1104739;YHOO;$57.85
+1106178;SAP;$57.29
+1106574;MSFT;$58.70
+1108489;YHOO;$61.09
+1109978;MSFT;$62.00
+1111950;SAP;$53.49
+1112178;YHOO;$62.09
+1113543;JAVA;$95.13
+1114364;IBM;$42.07
+1115307;JAVA;$101.73
+1116178;GOOG;$68.33
+1117326;SAP;$50.39
+1117606;ORCL;$53.44
+1119364;RHT;$56.23
+1119925;SAP;$55.09
+1120181;ORCL;$58.68
+1121896;IBM;$38.52
+1122815;ORCL;$56.57
+1124587;ORCL;$52.94
+1126144;SAP;$50.47
+1126565;GOOG;$73.74
+1127733;YHOO;$56.50
+1129221;ORCL;$52.38
+1130841;ORCL;$47.55
+1132590;MSFT;$65.95
+1134525;SAP;$48.96
+1134860;MSFT;$62.21
+1136844;RHT;$57.40
+1137322;ORCL;$44.68
+1138881;YHOO;$60.50
+1140263;SAP;$52.90
+1140488;MSFT;$64.51
+1142386;MSFT;$60.48
+1144315;SAP;$56.51
+1144669;ORCL;$48.13
+1146227;IBM;$37.48
+1147294;RHT;$58.42
+1147883;RHT;$52.64
+1148456;RHT;$48.39
+1148924;SAP;$53.84
+1149326;JAVA;$91.66
+1150194;RHT;$47.23
+1150647;ORCL;$48.11
+1152343;ORCL;$48.20
+1154051;SAP;$56.98
+1154349;IBM;$36.47
+1155302;RHT;$45.58
+1155798;RHT;$46.49
+1156438;MSFT;$63.74
+1158283;ORCL;$51.45
+1159875;GOOG;$72.87
+1161086;MSFT;$66.95
+1162967;YHOO;$59.47
+1164327;MSFT;$73.51
+1166229;YHOO;$59.60
+1167769;SAP;$58.43
+1168007;RHT;$46.21
+1168641;ORCL;$55.79
+1170347;MSFT;$66.52
+1172266;GOOG;$79.50
+1173482;JAVA;$92.16
+1174183;MSFT;$72.70
+1176171;ORCL;$54.21
+1177833;IBM;$34.23
+1178733;MSFT;$68.04
+1180554;YHOO;$58.33
+1182029;SAP;$54.57
+1182358;IBM;$32.92
+1183382;JAVA;$95.84
+1184066;IBM;$32.89
+1185153;IBM;$32.57
+1186236;RHT;$47.87
+1186853;ORCL;$50.18
+1188604;GOOG;$86.06
+1189896;RHT;$47.21
+1190354;ORCL;$49.00
+1192041;GOOG;$91.55
+1193211;RHT;$50.15
+1193735;RHT;$48.96
+1194254;ORCL;$47.69
+1196018;SAP;$50.80
+1196375;MSFT;$70.86
+1198232;RHT;$44.83
+1198871;MSFT;$71.84
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-22 16:56:31 UTC (rev 24878)
+++ labs/jbossrules/trunk/drools-examples/drools-examples-fusion/src/main/rules/broker.drl 2009-01-23 02:06:03 UTC (rev 24879)
@@ -16,7 +16,7 @@
# policy will be 2 minutes
declare StockTick
@role( event )
- @expires( 1m )
+ @expires( 2m )
end
# One can even declare helper facts to make rules easier and
@@ -27,7 +27,6 @@
end
rule "Setup statistics"
- agenda-group "setup"
when
$c : Company( $s : symbol )
not( Statistics( symbol == $s ) )
@@ -42,10 +41,9 @@
# present in the working memory
rule "Update stock price"
agenda-group "evaluation"
- auto-focus true
when
- $st : StockTick( $sb : symbol, $pr : price ) from entry-point "StockTick stream"
- $cp : Company( symbol == $sb )
+ $cp : Company( $sb : symbol )
+ $st : StockTick( symbol == $sb, $pr : price ) from entry-point "StockTick stream"
then
// This shows an update on working memory facts with data from joined events
$cp.currentPrice = $pr;
@@ -59,7 +57,6 @@
rule "average over last minute"
agenda-group "evaluation"
- auto-focus true
lock-on-active
when
$stat : Statistics( $symbol : symbol )
@@ -68,18 +65,29 @@
from entry-point "StockTick stream",
average( $p ) )
then
- System.out.println($symbol +": $"+$av );
+ //System.out.println($symbol +": $"+$av );
modify( $stat ) {
average = $av
}
end
+rule "evaluation done"
+ agenda-group "evaluation"
+ salience -10
+when
+ StockTick( ) from entry-point "StockTick stream"
+then
+ drools.setFocus( "report" );
+end
+
rule "sudden drop"
+ agenda-group "report"
when
$st : StockTick( $sb : symbol, $ts : timestamp, $pr : price ) from entry-point "StockTick stream"
not( StockTick( symbol == $sb, timestamp > $ts ) from entry-point "StockTick stream" )
- Statistics( symbol == $sb, $av : average > ( $pr * 1.02 ) )
+ Statistics( symbol == $sb, $av : average > ( $pr * 1.05 ) )
then
+ System.out.println( "Drop +5%: "+$sb+" avg: $"+$av+" price: $"+$pr );
services.log( "Drop +5%: "+$sb+" avg: $"+$av+" price: $"+$pr );
end
More information about the jboss-svn-commits
mailing list