You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2012/12/12 19:02:19 UTC
[jira] [Created] (OAK-510) Multivalued properties with array size 0
forget their type
angela created OAK-510:
--------------------------
Summary: Multivalued properties with array size 0 forget their type
Key: OAK-510
URL: https://issues.apache.org/jira/browse/OAK-510
Project: Jackrabbit Oak
Issue Type: Bug
Components: core, jcr
Reporter: angela
thought i remember that i have seen a related TODO or issue before, i
couldn't find it any more... sorry for that.
while cleaning up the node type code i found that one FIXME in the
ReadOnlyNodeTypeManager related to definition generation was only needed
because the TypeValidator failed upon validation of an empty jcr:supertypes
definition. not storing the super types if none has be declared solved the
problem for the time being.
however, it seems to me that the underlying problem is in a completely
different area: namely that mv properties with an empty value array
forget their type.
this can be verified with the following test:
{code}
@Test
public void addEmptyMultiValueName() throws RepositoryException {
Node parentNode = getNode(TEST_PATH);
Value[] values = new Value[0];
parentNode.setProperty("multi name", values);
parentNode.getSession().save();
Session session2 = createAnonymousSession();
try {
Property property = session2.getProperty(TEST_PATH + "/multi name");
assertTrue(property.isMultiple());
assertEquals(PropertyType.NAME, property.getType());
Value[] values2 = property.getValues();
assertEquals(values.length, values2.length);
assertEquals(values[0], values2[0]);
assertEquals(values[1], values2[1]);
} finally {
session2.logout();
}
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira