Search in sources :

Example 61 with NodeId

use of org.apache.jackrabbit.spi.NodeId in project jackrabbit by apache.

the class BatchTest method testSetStringValue.

public void testSetStringValue() throws RepositoryException {
    NodeId nid = getNodeId(testPath);
    Name propName = resolver.getQName("stringProp");
    QValueFactory vf = rs.getQValueFactory();
    List<String> l = new ArrayList<String>();
    l.add("String value containing \"double quotes\" and \'single\' and \"undeterminated quote.");
    l.add("String value \ncontaining \n\rline \r\nseparators and \t tab.");
    l.add("String value containing \r\n\r\r\n\r\n multiple \r\n\r\n line separators in sequence.");
    l.add("String value containing >diff -char +act ^ters.");
    l.add("String value containing \n>line sep \r+and \r\n-diff\n\r^chars.");
    l.add("String value containing سش unicode chars.");
    for (String val : l) {
        QValue v = vf.create(val, PropertyType.STRING);
        Batch b = rs.createBatch(si, nid);
        b.addProperty(nid, propName, v);
        rs.submit(b);
        PropertyInfo pi = getPropertyInfo(nid, propName);
        assertEquals(v, pi.getValues()[0]);
        assertEquals(v.getString(), pi.getValues()[0].getString());
        assertEquals(PropertyType.STRING, pi.getType());
        pi = rs.getPropertyInfo(si, getPropertyId(nid, propName));
        assertEquals(v, pi.getValues()[0]);
        assertEquals(v.getString(), pi.getValues()[0].getString());
        assertEquals(PropertyType.STRING, pi.getType());
    }
}
Also used : QValue(org.apache.jackrabbit.spi.QValue) Batch(org.apache.jackrabbit.spi.Batch) NodeId(org.apache.jackrabbit.spi.NodeId) ArrayList(java.util.ArrayList) PropertyInfo(org.apache.jackrabbit.spi.PropertyInfo) QValueFactory(org.apache.jackrabbit.spi.QValueFactory) Name(org.apache.jackrabbit.spi.Name)

Example 62 with NodeId

use of org.apache.jackrabbit.spi.NodeId in project jackrabbit by apache.

the class BatchTest method testSetNameValue.

public void testSetNameValue() throws RepositoryException {
    NodeId nid = getNodeId(testPath);
    Name propName = resolver.getQName("nameProp");
    QValue[] vs = new QValue[] { rs.getQValueFactory().create(NameConstants.JCR_BASEVERSION), rs.getQValueFactory().create(NameConstants.JCR_DEFAULTPRIMARYTYPE), rs.getQValueFactory().create(NameConstants.MIX_LOCKABLE), rs.getQValueFactory().create(NameConstants.JCR_PRIMARYTYPE), rs.getQValueFactory().create(NameConstants.NT_VERSION) };
    Batch b = rs.createBatch(si, nid);
    b.addProperty(nid, propName, vs);
    rs.submit(b);
    PropertyInfo pi = rs.getPropertyInfo(si, getPropertyId(nid, propName));
    assertTrue(pi.isMultiValued());
    assertEquals(Arrays.asList(vs), Arrays.asList(pi.getValues()));
    assertEquals(PropertyType.NAME, pi.getType());
    pi = getPropertyInfo(nid, propName);
    assertEquals(vs[0].getName(), pi.getValues()[0].getName());
    assertEquals(Arrays.asList(vs), Arrays.asList(pi.getValues()));
    assertEquals(PropertyType.NAME, pi.getType());
}
Also used : QValue(org.apache.jackrabbit.spi.QValue) Batch(org.apache.jackrabbit.spi.Batch) NodeId(org.apache.jackrabbit.spi.NodeId) PropertyInfo(org.apache.jackrabbit.spi.PropertyInfo) Name(org.apache.jackrabbit.spi.Name)

Example 63 with NodeId

use of org.apache.jackrabbit.spi.NodeId in project jackrabbit by apache.

the class BatchTest method testSetReferenceValue.

public void testSetReferenceValue() throws RepositoryException {
    NodeId nid = getNodeId(testPath);
    NodeInfo nInfo = rs.getNodeInfo(si, nid);
    if (!Arrays.asList(nInfo.getMixins()).contains(NameConstants.MIX_REFERENCEABLE)) {
        Batch b = rs.createBatch(si, nid);
        b.setMixins(nid, new Name[] { NameConstants.MIX_REFERENCEABLE });
        rs.submit(b);
    }
    String ref = rs.getNodeInfo(si, nid).getId().getUniqueID();
    Name propName = resolver.getQName("refProp");
    QValue v = rs.getQValueFactory().create(ref, PropertyType.REFERENCE);
    Batch b = rs.createBatch(si, nid);
    b.addProperty(nid, propName, v);
    rs.submit(b);
    PropertyInfo pi = rs.getPropertyInfo(si, getPropertyId(nid, propName));
    assertFalse(pi.isMultiValued());
    assertEquals(v, pi.getValues()[0]);
    assertEquals(PropertyType.REFERENCE, pi.getType());
    pi = getPropertyInfo(nid, propName);
    assertEquals(v, pi.getValues()[0]);
    assertEquals(PropertyType.REFERENCE, pi.getType());
}
Also used : QValue(org.apache.jackrabbit.spi.QValue) Batch(org.apache.jackrabbit.spi.Batch) NodeInfo(org.apache.jackrabbit.spi.NodeInfo) NodeId(org.apache.jackrabbit.spi.NodeId) PropertyInfo(org.apache.jackrabbit.spi.PropertyInfo) Name(org.apache.jackrabbit.spi.Name)

Example 64 with NodeId

use of org.apache.jackrabbit.spi.NodeId in project jackrabbit by apache.

the class BatchTest method testRemove.

public void testRemove() throws RepositoryException {
    NodeId nid = getNodeId(testPath);
    Batch b = rs.createBatch(si, nid);
    NodeId id = getNodeId(testPath + "/aTestNode");
    b.addNode(nid, resolver.getQName("aTestNode"), NameConstants.NT_UNSTRUCTURED, null);
    b.addProperty(id, resolver.getQName("aString"), rs.getQValueFactory().create("ba", PropertyType.STRING));
    rs.submit(b);
    PropertyId pid = getPropertyId(id, resolver.getQName("aString"));
    b = rs.createBatch(si, nid);
    b.remove(pid);
    rs.submit(b);
    try {
        rs.getPropertyInfo(si, pid);
        fail();
    } catch (RepositoryException e) {
    // success
    }
}
Also used : Batch(org.apache.jackrabbit.spi.Batch) NodeId(org.apache.jackrabbit.spi.NodeId) RepositoryException(javax.jcr.RepositoryException) PropertyId(org.apache.jackrabbit.spi.PropertyId)

Example 65 with NodeId

use of org.apache.jackrabbit.spi.NodeId in project jackrabbit by apache.

the class BatchTest method testSetPropertyTwice.

public void testSetPropertyTwice() throws RepositoryException {
    NodeId nid = getNodeId(testPath);
    Name propName = resolver.getQName("nameProp");
    PropertyId pid = getPropertyId(nid, propName);
    QValue v = rs.getQValueFactory().create(NameConstants.JCR_AUTOCREATED);
    QValue v2 = rs.getQValueFactory().create(NameConstants.JCR_BASEVERSION);
    QValue v3 = rs.getQValueFactory().create(NameConstants.JCR_CONTENT);
    Batch b = rs.createBatch(si, nid);
    b.addProperty(nid, propName, v);
    b.setValue(pid, v2);
    b.setValue(pid, v3);
    rs.submit(b);
    PropertyInfo pi = rs.getPropertyInfo(si, getPropertyId(nid, propName));
    assertFalse(pi.isMultiValued());
    assertEquals(1, pi.getValues().length);
    assertEquals(v3, pi.getValues()[0]);
    assertEquals(PropertyType.NAME, pi.getType());
    pi = getPropertyInfo(nid, propName);
    assertFalse(pi.isMultiValued());
    assertEquals(1, pi.getValues().length);
    assertEquals(v3, pi.getValues()[0]);
    assertEquals(PropertyType.NAME, pi.getType());
}
Also used : QValue(org.apache.jackrabbit.spi.QValue) Batch(org.apache.jackrabbit.spi.Batch) NodeId(org.apache.jackrabbit.spi.NodeId) PropertyInfo(org.apache.jackrabbit.spi.PropertyInfo) Name(org.apache.jackrabbit.spi.Name) PropertyId(org.apache.jackrabbit.spi.PropertyId)

Aggregations

NodeId (org.apache.jackrabbit.spi.NodeId)80 Batch (org.apache.jackrabbit.spi.Batch)35 Name (org.apache.jackrabbit.spi.Name)32 PropertyInfo (org.apache.jackrabbit.spi.PropertyInfo)23 RepositoryException (javax.jcr.RepositoryException)21 QValue (org.apache.jackrabbit.spi.QValue)21 PropertyId (org.apache.jackrabbit.spi.PropertyId)13 Path (org.apache.jackrabbit.spi.Path)11 NodeInfo (org.apache.jackrabbit.spi.NodeInfo)10 ArrayList (java.util.ArrayList)9 ItemNotFoundException (javax.jcr.ItemNotFoundException)9 DavPropertyNameSet (org.apache.jackrabbit.webdav.property.DavPropertyNameSet)9 IOException (java.io.IOException)6 Node (javax.jcr.Node)5 HttpResponse (org.apache.http.HttpResponse)5 ItemId (org.apache.jackrabbit.spi.ItemId)5 DavException (org.apache.jackrabbit.webdav.DavException)5 InputStream (java.io.InputStream)4 ChildInfo (org.apache.jackrabbit.spi.ChildInfo)4 PathNotFoundException (javax.jcr.PathNotFoundException)3