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());
}
}
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());
}
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());
}
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
}
}
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());
}
Aggregations