[jboss-svn-commits] JBL Code SVN: r18252 - in labs/jbossrules/contrib/benchmarks/src/rules/benchmarks: dispatch-ilog and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 1 10:51:12 EST 2008
Author: shabino
Date: 2008-02-01 10:51:12 -0500 (Fri, 01 Feb 2008)
New Revision: 18252
Added:
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Derivations.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/EligibilityExclusions.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Functions.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/LogicalTopTier.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Queries.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/ScoreManagement.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Scoring.irl
labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/WorkerEligibility.irl
Log:
ILog-versions of dispatch benchmark -- not correct yet!
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Derivations.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Derivations.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Derivations.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,111 @@
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+import java.util.Date;
+
+rule TimeAvailableforJobwhennotonjob {
+ when {
+ w : Worker(status != Worker.Status.DISPATCHED_FOR_JOB);
+ ds: DispatchState();
+ }
+ then {
+ DateWorkerInfo workerInfo = new DateWorkerInfo(w.getWorkerId());
+ workerInfo.setType(WorkerInfo.Type.TIME_AVAILABLE_FOR_DISPATCH);
+ //If we just use system date, workers get stamped as available in the past
+ workerInfo.setValue(ds.getCurrentTime());
+ insertLogical(workerInfo);
+ }
+}
+
+
+rule TimeAvailableforJobwhenalreadyonJob {
+ when {
+ w : Worker(status == Worker.Status.DISPATCHED_FOR_JOB);
+ }
+ then {
+ DateWorkerInfo workerInfo = new DateWorkerInfo(w.getWorkerId());
+ workerInfo.setType(WorkerInfo.Type.TIME_AVAILABLE_FOR_DISPATCH);
+ workerInfo.setValue(w.getTimeAvailable());
+ insertLogical(workerInfo);
+ }
+}
+
+
+rule PositionAvailableforjobwhennotonjob {
+ when {
+ w : Worker(status != Worker.Status.DISPATCHED_FOR_JOB);
+ wp: WorkerPosition(workerId == w.workerId);
+ }
+ then {
+ PositionWorkerInfo workerInfo = new PositionWorkerInfo(w.getWorkerId());
+ workerInfo.setType(WorkerInfo.Type.POSITION_AVAILABLE_FOR_DISPATCH);
+ workerInfo.setLatitude(wp.getLatitude());
+ workerInfo.setLongitude(wp.getLongitude());
+ insertLogical(workerInfo);
+ }
+}
+
+
+rule PositionAvailableforDispatchWhenOnLoad {
+ when {
+ w : Worker(status == Worker.Status.DISPATCHED_FOR_JOB);
+ }
+ then {
+ PositionWorkerInfo workerInfo = new PositionWorkerInfo(w.getWorkerId());
+ workerInfo.setType(WorkerInfo.Type.POSITION_AVAILABLE_FOR_DISPATCH);
+ workerInfo.setLatitude(w.getCurrentJobLatitude());
+ workerInfo.setLongitude(w.getCurrentJobLongitude());
+ insertLogical(workerInfo);
+ }
+}
+
+
+rule Distancetojob {
+ when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker();
+ dvi: PositionWorkerInfo(workerId == w.workerId && type == WorkerInfo.Type.POSITION_AVAILABLE_FOR_DISPATCH);
+ }
+ then {
+ Double dist = distanceToPickupInMiles(j, dvi.getLatitude(), dvi.getLongitude());
+ DecimalInfo i = new DecimalInfo(j, w);
+ i.setValue(dist * 1.3);
+ i.setType(Info.Type.DISTANCE_TO_JOB_MILES);
+ insert logical(i);
+ }
+}
+
+
+rule Timetogettojob {
+ when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker();
+ i: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ }
+ then {
+ DecimalInfo ti = new DecimalInfo(j, w);
+ ti.setType(Info.Type.TIME_TO_JOB_MINUTES);
+ //Presume 45 MPH
+ ti.setValue((Double)i.getValue() / 45 * 60);
+ insert logical(ti);
+ }
+}
+
+
+rule MinutesLatetoJob {
+ when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker();
+ availDate: DateWorkerInfo(workerId == w.workerId && type == WorkerInfo.Type.TIME_AVAILABLE_FOR_DISPATCH);
+ timeToJob: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.TIME_TO_JOB_MINUTES);
+ }
+ then {
+ DecimalInfo ti = new DecimalInfo(j ,w);
+ ti.setType(Info.Type.MINUTES_LATE_TO_JOB);
+ ti.setValue(minutesLateToJob(j.getStartTime(), availDate.getValue(), timeToJob.getValue()));
+ insert logical(ti);
+ }
+}
+
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Derivations.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/EligibilityExclusions.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/EligibilityExclusions.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/EligibilityExclusions.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,19 @@
+
+
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+
+
+
+rule RetractEligibilityifjobtoofarinfuture {
+ priority = 300;
+ when {
+ ds: DispatchState();
+ j : Job(startTime.getTime() > ds.startTimeCutOff.getTime());
+ }
+ then {
+ JobExclusion je = new JobExclusion();
+ je.setJobId(j.getJobId());
+ insert logical(je);
+ }
+}
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/EligibilityExclusions.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Functions.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Functions.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Functions.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,42 @@
+import java.util.Date;
+import benchmarks.dispatch.fact.independent.Job;
+
+ruleset TestCase
+{
+ property ilog.rules.engine.useJIT = true;
+ property ilog.rules.engine.useStaticAgenda = true;
+ in int intvalue;
+ out int outvalue;
+};
+
+
+ function double distanceToPickupInMiles(Job job,
+ Double workerLatitude, Double workerLongitude) {
+
+ Double jobLatitude = job.getLatitude();
+ Double jobLongitude = job.getLongitude();
+
+ jobLatitude = Math.toRadians(jobLatitude);
+ workerLatitude = Math.toRadians(workerLatitude);
+ jobLongitude = Math.toRadians(jobLongitude);
+ workerLongitude = Math.toRadians(workerLongitude);
+
+ double angle = Math.acos(Math.sin(jobLatitude)
+ * Math.sin(workerLatitude) + Math.cos(jobLatitude)
+ * Math.cos(workerLatitude)
+ * Math.cos(jobLongitude - workerLongitude));
+
+ return Math.toDegrees(angle) * 69.1105D; // miles per degree
+ }
+
+
+ function double minutesLateToJob(Date jobStartTime,
+ Date workerAvailableTime, Double minutesToJob) {
+ Date earliestArrival = new Date(workerAvailableTime.getTime() + Math.round(minutesToJob * 1000 * 60));
+ if (earliestArrival.before(jobStartTime)){
+ return 0D;
+ } else {
+ long diff = earliestArrival.getTime() - jobStartTime.getTime();
+ return diff / 1000.0D / 60.0D;
+ }
+ }
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Functions.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/LogicalTopTier.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/LogicalTopTier.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/LogicalTopTier.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,64 @@
+
+
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+import benchmarks.dispatch.DispatchParameters;
+import java.util.Date;
+
+rule ClobberInactiveWorkers {
+priority = 400;
+ when {
+ w: Worker(status == Worker.Status.INACTIVE);
+ }
+ then {
+ retract(w);
+ }
+}
+
+rule ClobberDispatchedJobs {
+ priority = 400;
+ when {
+ j: Job(status != Job.Status.PENDING);
+ }
+ then {
+ retract(j);
+ }
+}
+
+rule EstablishBeginningMaxRadius {
+ priority = 300;
+ when {
+ j: Job();
+ not MaxRadius(jobId == j.jobId);
+ }
+ then {
+ MaxRadius mr = new MaxRadius(j);
+ mr.setMaxRadius(DispatchParameters.INITIAL_SEARCH_RADIUS);
+ //Do not insert logical to avoid infinite loop
+ insert(mr);
+ }
+}
+
+rule ClobberDeadMaxRadius {
+ priority = 300;
+ when {
+ mr: MaxRadius();
+ not Job(jobId == mr.jobId);
+ }
+ then {
+ System.out.println("Clobber MR");
+ retract(mr);
+ }
+}
+
+
+rule ClobberDeadPositions {
+ priority = 200;
+ when {
+ wp: WorkerPosition();
+ not Worker(workerId == wp.workerId);
+ }
+ then {
+ retract(wp);
+ }
+}
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/LogicalTopTier.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Queries.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Queries.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Queries.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,52 @@
+package dispatch
+
+/*
+ * Copyright 2007 JBoss Inc
+ *
+ * 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.
+ */
+
+import benchmarks.dispatch.fact.derived.*
+import benchmarks.dispatch.fact.independent.*
+
+query getTopWorkersForJob (String s)
+ e: TopWorkers(jobId == s)
+end
+
+query getJobExclusion (String s)
+ e: JobExclusion(jobId == s)
+end
+
+query getWorkerInfo(String id, WorkerInfo.Type t)
+ wi: WorkerInfo(workerId == id, type == t)
+end
+
+query getInfo(String jId, String wId, Info.Type t)
+ i: Info(jobId == jId, workerId == wId, type == t)
+end
+
+query getExclusion(String jId, String wId, Exclusion.Type t)
+ i: Exclusion(jobId == jId, workerId == wId, type == t)
+end
+
+query getScoreComponent(String jId, String wId, ScoreComponent.Type t)
+ i: ScoreComponent(jobId == jId, workerId == wId, type == t)
+end
+
+query getScoreComponents(String wId, String jId)
+ s: ScoreComponent(workerId == wId, jobId == jId)
+end
+
+query getScore(String wId, String jId)
+ s: Score(workerId == wId, jobId == jId)
+end
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Queries.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/ScoreManagement.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/ScoreManagement.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/ScoreManagement.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,85 @@
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+import benchmarks.dispatch.DispatchParameters;
+import java.util.Date;
+import java.util.Set;
+
+
+
+rule DefaultScoreComponent {
+priority = -25;
+when {
+ //Force score accumulation even if no score components
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker();
+ //Don't score workers that aren't eligible
+ not Exclusion(workerId == w.workerId && jobId == j.jobId);
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ }
+then {
+ ScoreComponent sc = new ScoreComponent(j, w, ScoreComponent.Type.DEFAULT, new Double(0D));
+ insert logical(sc);
+ }
+}
+
+
+
+
+rule AccumulateScore {
+priority = -50;
+when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker();
+ not Exclusion(workerId == w.workerId && jobId == j.jobId);
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ totScore : Double()
+ from accumulate( ScoreComponent( workerId == w.workerId, jobId == j.jobId, sc:contribution ), sum(sc) );
+ }
+then {
+ Score s = new Score(j, w);
+ s.setScore(totScore);
+ insert logical(s);
+ }
+}
+
+
+
+rule AccumulateTopWorkers {
+priority = -100;
+when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ scoreList : Set()
+ from accumulate( s: Score(jobId == j.jobId), top_workers(s));
+ }
+then {
+ TopWorkers topWorkers = new TopWorkers();
+ topWorkers.setJobId(j.getJobId());
+ for (Object s: scoreList){
+ topWorkers.getTopWorkers().add(((Score)s).getWorkerId());
+ }
+ insert logical(topWorkers);
+ }
+}
+
+
+rule "Ensure Enough Workers" {
+priority = -200
+when {
+ tw: TopWorkers(size < DispatchParameters.MIN_SCORED_WORKERS);
+ mw: MaxRadius(jobId == tw.jobId, maxRadius < 4000);
+ #TODO: Ensure sufficient minimum score of Top N vehicles here
+ }
+then {
+ mw.setMaxRadius(mw.getMaxRadius() * DispatchParameters.INCREMENTAL_SEARCH_RADIUS_MULTIPLIER);
+ update(mw);
+ }
+}
+
+
+
+
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/ScoreManagement.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Scoring.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Scoring.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Scoring.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,61 @@
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+import java.util.Date;
+
+rule DistanceToJobScoreExtraLarge {
+ priority = -10;
+when {
+ j: Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker(vehicleSize == VehicleSize.EXTRA_LARGE);
+ not Exclusion(workerId == w.workerId && jobId == j.jobId);
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ i: DecimalInfo(workerId == w.workerId && jobId == j.jobId && type == Info.Type.DISTANCE_TO_JOB_MILES && value >= 100);
+ }
+then {
+ ScoreComponent sc = new ScoreComponent(j,
+ w,
+ ScoreComponent.Type.EXCESSIVE_DISTANCE_TO_JOB,
+ new Double(- 0.55 * (i.getValue() - 100)));
+ insert logical(sc);
+ }
+}
+
+
+rule DistanceToJobScoreRegular {
+ priority = -10;
+when {
+ j: Job();
+ not JobExclusion(jobId == j.jobId);
+ w: Worker(vehicleSize != VehicleSize.EXTRA_LARGE);
+ not Exclusion(workerId == w.workerId && jobId == j.jobId);
+ i: DecimalInfo(workerId == w.workerId && jobId == j.jobId && type == Info.Type.DISTANCE_TO_JOB_MILES && value >= 100);
+ }
+then {
+ ScoreComponent sc = new ScoreComponent(j,
+ w,
+ ScoreComponent.Type.EXCESSIVE_DISTANCE_TO_JOB,
+ new Double(- 0.4 * (i.getValue() - 100)));
+ insert logical(sc);
+ }
+}
+
+
+rule LateToJobScore {
+ priority = -10;
+when {
+ j : Job();
+ not JobExclusion(jobId == j.jobId);
+ w : Worker();
+ not Exclusion(workerId == w.workerId && jobId == j.jobId);
+ i: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.MINUTES_LATE_TO_JOB && value > 0);
+ }
+then {
+ ScoreComponent sc = new ScoreComponent(j,
+ w,
+ ScoreComponent.Type.LATE_TO_JOB,
+ new Double(- 400 - i.getValue() * 0.2));
+ insert logical (sc);
+ }
+}
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/Scoring.irl
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/WorkerEligibility.irl
===================================================================
--- labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/WorkerEligibility.irl (rev 0)
+++ labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/WorkerEligibility.irl 2008-02-01 15:51:12 UTC (rev 18252)
@@ -0,0 +1,65 @@
+
+
+import benchmarks.dispatch.fact.derived.*;
+import benchmarks.dispatch.fact.independent.*;
+import java.util.Date;
+
+rule VehicleSizeMustBeSufficientlyLarge {
+when {
+ j : Job(vs: vehicleSizeRequired.sizeNumber);
+ not JobExclusion(jobId == j.jobId);
+ w: Worker(vehicleSize.sizeNumber < vs);
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ }
+then {
+ Exclusion e = new Exclusion(j, w);
+ e.setType(Exclusion.Type.VEHICLE_SIZE);
+ insert logical(e);
+ }
+}
+
+rule Ifthejobrequiresawrenchtheworkermusthaveawrench {
+when {
+ j : Job(wrenchRequired == true);
+ not JobExclusion(jobId == j.jobId);
+ w : Worker(hasWrench == false);
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ }
+then {
+ Exclusion e = new Exclusion(j, w);
+ e.setType(Exclusion.Type.WRENCH_REQUIRED);
+ insert logical(e);
+ }
+}
+
+rule IfthejobrequiresXstickstheworkermusthaveXsticks {
+when {
+ j : Job(req:numberOfSticksRequired);
+ not JobExclusion(jobId == j.jobId);
+ w : Worker(numberOfSticks.intValue() < req.intValue());
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ }
+then {
+ Exclusion e = new Exclusion(j, w);
+ e.setType(Exclusion.Type.NUM_STICKS);
+ insert logical(e);
+ }
+}
+
+rule IfthejobrequiresXrockstheworkermusthaveXrocks {
+when {
+ j : Job(req:numberOfRocksRequired);
+ not JobExclusion(jobId == j.jobId);
+ w : Worker(numberOfRocks.intValue() < req.intValue());
+ dist_mr: DecimalInfo(jobId == j.jobId && workerId == w.workerId && type == Info.Type.DISTANCE_TO_JOB_MILES);
+ MaxRadius(jobId == j.jobId && maxRadius.doubleValue() >= dist_mr.value.doubleValue());
+ }
+then {
+ Exclusion e = new Exclusion(j, w);
+ e.setType(Exclusion.Type.NUM_ROCKS);
+ insert logical(e);
+ }
+}
\ No newline at end of file
Property changes on: labs/jbossrules/contrib/benchmarks/src/rules/benchmarks/dispatch-ilog/WorkerEligibility.irl
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the jboss-svn-commits
mailing list