You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2012/10/10 08:03:37 UTC

svn commit: r1396479 - in /incubator/ambari/branches/AMBARI-666: ./ ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/ ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/

Author: mahadev
Date: Wed Oct 10 06:03:37 2012
New Revision: 1396479

URL: http://svn.apache.org/viewvc?rev=1396479&view=rev
Log:
AMBARI-841. Fix comparison predicates in case where resource does not have property value. (Tom Beerbower via mahadev)

Modified:
    incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt
    incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/EqualsPredicate.java
    incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterEqualsPredicate.java
    incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterPredicate.java
    incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessEqualsPredicate.java
    incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessPredicate.java
    incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/EqualsPredicateTest.java

Modified: incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt (original)
+++ incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt Wed Oct 10 06:03:37 2012
@@ -12,6 +12,9 @@ AMBARI-666 branch (unreleased changes)
 
   NEW FEATURES
 
+  AMBARI-841. Fix comparison predicates in case where resource does not have
+  property value. (Tom Beerbower via mahadev)
+
   AMBARI-833. Add missing Path annotation to rest services for
   put/post/delete. (John Speidel via mahadev)
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/EqualsPredicate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/EqualsPredicate.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/EqualsPredicate.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/EqualsPredicate.java Wed Oct 10 06:03:37 2012
@@ -33,7 +33,8 @@ public class EqualsPredicate extends Com
 
   @Override
   public boolean evaluate(Resource resource) {
-    return getValue().compareTo(resource.getPropertyValue(getPropertyId())) == 0;
+    String propertyValue = resource.getPropertyValue(getPropertyId());
+    return propertyValue == null ? false : getValue().compareTo(propertyValue) == 0;
   }
 
   @Override

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterEqualsPredicate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterEqualsPredicate.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterEqualsPredicate.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterEqualsPredicate.java Wed Oct 10 06:03:37 2012
@@ -32,7 +32,8 @@ public class GreaterEqualsPredicate exte
 
   @Override
   public boolean evaluate(Resource resource) {
-    return getValue().compareTo(resource.getPropertyValue(getPropertyId())) <= 0;
+    String propertyValue = resource.getPropertyValue(getPropertyId());
+    return propertyValue == null ? false : getValue().compareTo(resource.getPropertyValue(getPropertyId())) <= 0;
   }
 
   @Override

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterPredicate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterPredicate.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterPredicate.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/GreaterPredicate.java Wed Oct 10 06:03:37 2012
@@ -31,7 +31,8 @@ public class GreaterPredicate extends Co
 
   @Override
   public boolean evaluate(Resource resource) {
-    return getValue().compareTo(resource.getPropertyValue(getPropertyId())) < 0;
+    String propertyValue = resource.getPropertyValue(getPropertyId());
+    return propertyValue == null ? false : getValue().compareTo(resource.getPropertyValue(getPropertyId())) < 0;
   }
 
   @Override

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessEqualsPredicate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessEqualsPredicate.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessEqualsPredicate.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessEqualsPredicate.java Wed Oct 10 06:03:37 2012
@@ -32,7 +32,8 @@ public class LessEqualsPredicate extends
 
   @Override
   public boolean evaluate(Resource resource) {
-    return getValue().compareTo(resource.getPropertyValue(getPropertyId())) >= 0;
+    String propertyValue = resource.getPropertyValue(getPropertyId());
+    return propertyValue == null ? false : getValue().compareTo(resource.getPropertyValue(getPropertyId())) >= 0;
   }
 
   @Override

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessPredicate.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessPredicate.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessPredicate.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/controller/predicate/LessPredicate.java Wed Oct 10 06:03:37 2012
@@ -31,7 +31,8 @@ public class LessPredicate extends Compa
 
   @Override
   public boolean evaluate(Resource resource) {
-    return getValue().compareTo(resource.getPropertyValue(getPropertyId())) > 0;
+    String propertyValue = resource.getPropertyValue(getPropertyId());
+    return propertyValue == null ? false : getValue().compareTo(resource.getPropertyValue(getPropertyId())) > 0;
   }
 
   @Override

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/EqualsPredicateTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/EqualsPredicateTest.java?rev=1396479&r1=1396478&r2=1396479&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/EqualsPredicateTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/predicate/EqualsPredicateTest.java Wed Oct 10 06:03:37 2012
@@ -41,6 +41,12 @@ public class EqualsPredicateTest {
 
     resource.setProperty(propertyId, "bar");
     Assert.assertTrue(predicate.evaluate(resource));
+
+
+    propertyId = new PropertyIdImpl("fun", "category1", false);
+    predicate = new EqualsPredicate(propertyId, "bar");
+
+    Assert.assertFalse(predicate.evaluate(resource));
   }
 
   @Test