You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/06/07 15:31:57 UTC

svn commit: r1133005 - in /jackrabbit/sandbox/spi2microkernel/src: main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Author: mduerig
Date: Tue Jun  7 13:31:56 2011
New Revision: 1133005

URL: http://svn.apache.org/viewvc?rev=1133005&view=rev
Log:
spi2microkernel prototype (WIP)
write support: addProperty

Modified:
    jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java
    jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java?rev=1133005&r1=1133004&r2=1133005&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/util/Values.java Tue Jun  7 13:31:56 2011
@@ -88,20 +88,19 @@ public final class Values {
                 return JsonBuilder.escape(value.getString());
 
             case PropertyType.LONG:
+            case PropertyType.DOUBLE:
+            case PropertyType.BOOLEAN:
+            case PropertyType.DECIMAL:
                 return value.getString();
 
-            // todo implement other types
-            case PropertyType.BINARY:
-            case PropertyType.DOUBLE:
             case PropertyType.DATE:
-            case PropertyType.BOOLEAN:
+            case PropertyType.BINARY:
             case PropertyType.NAME:
             case PropertyType.PATH:
             case PropertyType.REFERENCE:
             case PropertyType.WEAKREFERENCE:
             case PropertyType.URI:
-            case PropertyType.DECIMAL:
-            default:
+            default:  // todo implement support for all value types
                 throw new UnsupportedRepositoryOperationException("Cannot handle value of type " +
                         PropertyType.nameFromValue(value.getType()));
         }

Modified: jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java?rev=1133005&r1=1133004&r2=1133005&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java Tue Jun  7 13:31:56 2011
@@ -36,6 +36,7 @@ import javax.jcr.RepositoryFactory;
 import javax.jcr.Session;
 import javax.jcr.Value;
 import java.io.File;
+import java.math.BigDecimal;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -225,13 +226,34 @@ public class RepositoryTest {
         addProperty(parentNode, "string", getSession().getValueFactory().createValue("string value"));
     }
 
-    @Test
     @Ignore  // todo fix in microkernel
+    @Test
     public void addLongProperty() throws RepositoryException {
         Node parentNode = getNode("/bar");
         addProperty(parentNode, "long", getSession().getValueFactory().createValue(42L));
     }
 
+    @Ignore  // todo fix in microkernel
+    @Test
+    public void addDoubleProperty() throws RepositoryException {
+        Node parentNode = getNode("/bar");
+        addProperty(parentNode, "double", getSession().getValueFactory().createValue(42.2D));
+    }
+
+    @Ignore  // todo fix in microkernel
+    @Test
+    public void addBooleanProperty() throws RepositoryException {
+        Node parentNode = getNode("/bar");
+        addProperty(parentNode, "boolean", getSession().getValueFactory().createValue(true));
+    }
+
+    @Ignore  // todo fix in microkernel
+    @Test
+    public void addDecimalProperty() throws RepositoryException {
+        Node parentNode = getNode("/bar");
+        addProperty(parentNode, "decimal", getSession().getValueFactory().createValue(BigDecimal.valueOf(21)));
+    }
+
     //------------------------------------------< private >---
 
     private void addProperty(Node parentNode, String name, Value value) throws RepositoryException {
@@ -244,7 +266,9 @@ public class RepositoryTest {
         Session session2 = getRepository().login();
         try {
             assertTrue(session2.propertyExists(propertyPath));
-            assertEquals(value, session2.getProperty(propertyPath).getValue());
+            Value value2 = session2.getProperty(propertyPath).getValue();
+            assertEquals(value.getType(), value2.getType());
+            assertEquals(value, value2);
         }
         finally {
             session2.logout();