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 re...@apache.org on 2015/08/31 13:15:07 UTC
svn commit: r1700231 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java
test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java
Author: reschke
Date: Mon Aug 31 11:15:07 2015
New Revision: 1700231
URL: http://svn.apache.org/r1700231
Log:
OAK-3288: clarify DocumentStore contract with respect to number formats by making the UpdateOp method signatures more specific
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java?rev=1700231&r1=1700230&r2=1700231&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UpdateOp.java Mon Aug 31 11:15:07 2015
@@ -171,14 +171,33 @@ public final class UpdateOp {
}
/**
- * Set the property to the given value.
+ * Set the property to the given long value.
*
* @param property the property name
* @param value the value
*/
- public void set(String property, Object value) {
- Operation op = new Operation(Operation.Type.SET, value);
- changes.put(new Key(property, null), op);
+ public void set(String property, long value) {
+ internalSet(property, value);
+ }
+
+ /**
+ * Set the property to the given boolean value.
+ *
+ * @param property the property name
+ * @param value the value
+ */
+ public void set(String property, boolean value) {
+ internalSet(property, value);
+ }
+
+ /**
+ * Set the property to the given String value.
+ *
+ * @param property the property name
+ * @param value the value
+ */
+ public void set(String property, String value) {
+ internalSet(property, value);
}
/**
@@ -281,6 +300,11 @@ public final class UpdateOp {
return conditions;
}
+ private void internalSet(String property, Object value) {
+ Operation op = new Operation(Operation.Type.SET, value);
+ changes.put(new Key(property, null), op);
+ }
+
/**
* A DocumentStore operation for a given key within a document.
*/
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java?rev=1700231&r1=1700230&r2=1700231&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryTest.java Mon Aug 31 11:15:07 2015
@@ -179,7 +179,13 @@ public class LastRevRecoveryTest {
op.setMapEntry(key, entry.getKey(), entry.getValue());
}
} else {
- op.set(key, obj);
+ if (obj instanceof Boolean) {
+ op.set(key, ((Boolean) obj).booleanValue());
+ } else if (obj instanceof Number) {
+ op.set(key, ((Number) obj).longValue());
+ } else {
+ op.set(key, obj.toString());
+ }
}
}
return op;