You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/09/07 14:55:27 UTC

svn commit: r1382001 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint: BinaryConstraint.java Constraints.java DecimalConstraint.java DoubleConstraint.java LongConstraint.java

Author: mduerig
Date: Fri Sep  7 12:55:27 2012
New Revision: 1382001

URL: http://svn.apache.org/viewvc?rev=1382001&view=rev
Log:
OAK-66: JCR Node Type Management
value constraints for Decimal

Added:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DecimalConstraint.java
      - copied, changed from r1381993, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java
Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/BinaryConstraint.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DoubleConstraint.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/BinaryConstraint.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/BinaryConstraint.java?rev=1382001&r1=1382000&r2=1382001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/BinaryConstraint.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/BinaryConstraint.java Fri Sep  7 12:55:27 2012
@@ -28,5 +28,4 @@ public class BinaryConstraint extends Lo
     protected Long getValue(Value value) throws RepositoryException {
         return value.getBinary().getSize();
     }
-
 }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java?rev=1382001&r1=1382000&r2=1382001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java Fri Sep  7 12:55:27 2012
@@ -108,6 +108,6 @@ public class Constraints {
     }
 
     private static Predicate<Value> decimalConstraint(String constraint) {
-        return Predicates.alwaysTrue(); // todo implement decimalConstraint
+        return new DecimalConstraint(constraint);
     }
 }

Copied: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DecimalConstraint.java (from r1381993, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DecimalConstraint.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DecimalConstraint.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java&r1=1381993&r2=1382001&rev=1382001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DecimalConstraint.java Fri Sep  7 12:55:27 2012
@@ -16,33 +16,35 @@
  */
 package org.apache.jackrabbit.oak.plugins.type.constraint;
 
+import java.math.BigDecimal;
+
 import javax.jcr.RepositoryException;
 import javax.jcr.Value;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class LongConstraint extends NumericConstraint<Long> {
-    private static final Logger log = LoggerFactory.getLogger(LongConstraint.class);
-
-    public LongConstraint(String definition) {
+public class DecimalConstraint extends NumericConstraint<BigDecimal> {
+    public DecimalConstraint(String definition) {
         super(definition);
     }
 
     @Override
-    protected Long getBound(String bound) {
-        return  bound == null || bound.isEmpty()
+    protected BigDecimal getBound(String bound) {
+        return bound == null || bound.isEmpty()
             ? null
-            : Long.parseLong(bound);
+            : new BigDecimal(bound);
+    }
+
+    @Override
+    protected BigDecimal getValue(Value value) throws RepositoryException {
+        return value.getDecimal();
     }
 
     @Override
-    protected Long getValue(Value value) throws RepositoryException {
-        return value.getLong();
+    protected boolean less(BigDecimal val, BigDecimal bound) {
+        return val.compareTo(bound) < 0;
     }
 
     @Override
-    protected boolean less(Long val, Long bound) {
-        return val < bound;
+    protected boolean equals(BigDecimal val, BigDecimal bound) {
+        return val.compareTo(bound) == 0;
     }
 }

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DoubleConstraint.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DoubleConstraint.java?rev=1382001&r1=1382000&r2=1382001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DoubleConstraint.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/DoubleConstraint.java Fri Sep  7 12:55:27 2012
@@ -25,8 +25,8 @@ import org.slf4j.LoggerFactory;
 public class DoubleConstraint extends NumericConstraint<Double> {
     private static final Logger log = LoggerFactory.getLogger(DoubleConstraint.class);
 
-    public DoubleConstraint(String constraint) {
-        super(constraint);
+    public DoubleConstraint(String definition) {
+        super(definition);
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java?rev=1382001&r1=1382000&r2=1382001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/LongConstraint.java Fri Sep  7 12:55:27 2012
@@ -31,7 +31,7 @@ public class LongConstraint extends Nume
 
     @Override
     protected Long getBound(String bound) {
-        return  bound == null || bound.isEmpty()
+        return bound == null || bound.isEmpty()
             ? null
             : Long.parseLong(bound);
     }