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/08 12:05:02 UTC
svn commit: r1133324 - in /jackrabbit/sandbox/spi2microkernel/src:
main/java/org/apache/jackrabbit/spi2microkernel/
test/java/org/apache/jackrabbit/spi2microkernel/
Author: mduerig
Date: Wed Jun 8 10:05:02 2011
New Revision: 1133324
URL: http://svn.apache.org/viewvc?rev=1133324&view=rev
Log:
spi2microkernel prototype (WIP)
write support: setValue
Modified:
jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
Modified: jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java?rev=1133324&r1=1133323&r2=1133324&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/RepositoryServiceImpl.java Wed Jun 8 10:05:02 2011
@@ -390,13 +390,11 @@ public class RepositoryServiceImpl exten
}
public void setValue(PropertyId propertyId, QValue value) throws RepositoryException {
- // todo implement setValue
- throw new UnsupportedRepositoryOperationException("setValue");
+ addProperty(propertyId.getParentId(), propertyId.getName(), value);
}
public void setValue(PropertyId propertyId, QValue[] values) throws RepositoryException {
- // todo implement setValue
- throw new UnsupportedRepositoryOperationException("setValue");
+ addProperty(propertyId.getParentId(), propertyId.getName(), values);
}
public void remove(ItemId itemId) throws RepositoryException {
Modified: jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1133324&r1=1133323&r2=1133324&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java Wed Jun 8 10:05:02 2011
@@ -98,6 +98,31 @@ public class MicrokernelTest {
}
@Test
+ public void testAddItemsIncrementally() {
+ MicroKernel mk = getMicroKernel();
+ String head = mk.getHeadRevision();
+
+ long millis = System.currentTimeMillis();
+ String node = "n_" + millis;
+
+ head = mk.commit("/",
+ '+' + node + " : {} \r" +
+ '+' + node + "/child1 : {} \r" +
+ '+' + node + "/child2 : {} \r" +
+ '+' + node + "/child1/grandchild11 : {} \r" +
+ '^' + node + "/prop1 : 41\r" +
+ '^' + node + "/child1/prop2 : 42\r" +
+ '^' + node + "/child1/grandchild11/prop3 : 43",
+ head);
+
+ String json = mk.getNodes('/' + node, 2, head);
+ assertEquals("{\":name\":\"" + node + "\",\"prop1\":\"41\",\":childNodeCount\":2," +
+ "\"child1\":{\":name\":\"child1\",\"prop2\":\"42\",\":childNodeCount\":1," +
+ "\"grandchild11\":{\":name\":\"grandchild11\",\"prop3\":\"43\",\":childNodeCount\":0}}," +
+ "\"child2\":{\":name\":\"child2\",\":childNodeCount\":0}}", json);
+ }
+
+ @Test
public void testStringProperty() throws ParseException {
MicroKernel mk = getMicroKernel();
String head = mk.getHeadRevision();
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=1133324&r1=1133323&r2=1133324&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 Wed Jun 8 10:05:02 2011
@@ -256,7 +256,7 @@ public class RepositoryTest {
@Ignore // todo fix in microkernel
@Test
- public void setMultiValuedProperty() throws RepositoryException {
+ public void addMultiValuedProperty() throws RepositoryException {
Node parentNode = getNode("/bar");
Value[] values = new Value[2];
values[0] = getSession().getValueFactory().createValue("one");
@@ -267,7 +267,56 @@ public class RepositoryTest {
Session session2 = getRepository().login();
try {
- Property property = session2.getProperty("/bar/mv");
+ Property property = session2.getProperty("/bar/multi string");
+ assertTrue(property.isMultiple());
+ Value[] values2 = property.getValues();
+ assertEquals(2, values.length);
+ assertEquals(values[0], values2[0]);
+ assertEquals(values[1], values2[1]);
+ }
+ finally {
+ session2.logout();
+ }
+ }
+
+ @Test
+ public void setStringProperty() throws RepositoryException {
+ Node parentNode = getNode("/bar");
+ addProperty(parentNode, "string2", getSession().getValueFactory().createValue("string value"));
+
+ Property property = parentNode.getProperty("string2");
+ property.setValue("new value");
+ property.getSession().save();
+
+ Session session2 = getRepository().login();
+ try {
+ Property property2 = session2.getProperty("/bar/string2");
+ assertEquals("new value", property2.getString());
+ }
+ finally {
+ session2.logout();
+ }
+ }
+
+ @Ignore // todo fix in microkernel
+ @Test
+ public void setMultiValuedProperty() throws RepositoryException {
+ Node parentNode = getNode("/bar");
+ Value[] values = new Value[2];
+ values[0] = getSession().getValueFactory().createValue("one");
+ values[1] = getSession().getValueFactory().createValue("two");
+
+ parentNode.setProperty("multi string2", values);
+ parentNode.getSession().save();
+
+ values[0] = getSession().getValueFactory().createValue("eins");
+ values[1] = getSession().getValueFactory().createValue("zwei");
+ parentNode.setProperty("multi string2", values);
+ parentNode.getSession().save();
+
+ Session session2 = getRepository().login();
+ try {
+ Property property = session2.getProperty("/bar/multi string2");
assertTrue(property.isMultiple());
Value[] values2 = property.getValues();
assertEquals(2, values.length);