[jboss-svn-commits] JBL Code SVN: r12476 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 11 20:41:02 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-06-11 20:41:02 -0400 (Mon, 11 Jun 2007)
New Revision: 12476

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/DepthConflictResolver.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/SalienceConflictResolver.java
Log:
JBRULES-857 salience comparison should not rely on subtraction

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/DepthConflictResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/DepthConflictResolver.java	2007-06-12 00:09:02 UTC (rev 12475)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/DepthConflictResolver.java	2007-06-12 00:41:02 UTC (rev 12476)
@@ -30,8 +30,10 @@
         final int s1 = lhs.getSalience();
         final int s2 = rhs.getSalience();
 
-        if ( s1 != s2 ) {
-            return s2 - s1;
+        if ( s1 > s2 ) {                        
+            return -1;
+        } else if ( s1 < s2 ) {
+            return 1;
         }
 
         final long p1 = lhs.getPropagationContext().getPropagationNumber();

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/SalienceConflictResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/SalienceConflictResolver.java	2007-06-12 00:09:02 UTC (rev 12475)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/conflict/SalienceConflictResolver.java	2007-06-12 00:41:02 UTC (rev 12476)
@@ -75,6 +75,15 @@
      */
     public int compare(final Activation lhs,
                        final Activation rhs) {
-        return rhs.getSalience() - lhs.getSalience();
+        final int s1 = lhs.getSalience();
+        final int s2 = rhs.getSalience();
+
+        if ( s1 > s2 ) {                        
+            return -1;
+        } else if ( s1 < s2 ) {
+            return 1;
+        } else {
+            return 0;
+        }
     }
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list