jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Nedonosko <peter.nedono...@exoplatform.com.ua>
Subject JSR-170 value constraints case-sensitivity
Date Fri, 22 Sep 2006 08:47:16 GMT
Hi,

I see a difference in spec and API JSR-170 with property definition 
value constraints case-sensitivity in node type creation/validation.

E.g. constant has PropertyType.TYPENAME_STRING = "String" (lower case 
string with leading upper case 'S')

but nt:propertyDefinition (6.7.22.11 nt:propertyDefinition) has prop 
definition for jcr:requiredType
....
PropertyDefinition
  Name jcr:requiredType
  RequiredType STRING
  ValueConstraints ["STRING", "BINARY", "LONG", "DOUBLE", "BOOLEAN", 
"DATE", "NAME", "PATH", "REFERENCE", "UNDEFINED"]
  DefaultValue null
  AutoCreated false
  Mandatory true
  OnParentVersion COPY
  Protected false
  Multiple false
....

Where ValueConstraints "STRING" - whole string in upper case.

So, if I run next code using JCR API (must be any of implementation):

    Node root = session.getRootNode();
    Node propDef = root.addNode("propertyDefNode", "nt:propertyDefinition");
    propDef.setProperty("jcr:name", valueFactory.createValue("test", 
PropertyType.NAME));
   
    propDef.setProperty("jcr:autoCreated", false);
    propDef.setProperty("jcr:mandatory", false);
    propDef.setProperty("jcr:onParentVersion", 
OnParentVersionAction.ACTIONNAME_COPY);
    propDef.setProperty("jcr:protected", false);
    propDef.setProperty("jcr:multiple", false);
    propDef.setProperty("jcr:requiredType", 
PropertyType.TYPENAME_STRING); <<<<< !!!!!
....

I'll have a ConstraintViolationException with jcr:requiredType property 
setter.

Question: Can I use PropertyType.TYPENAME_STRING constant as for value 
of jcr:requiredType for nt:propertyDefinition type nodes?

I think - yes. But, why PropertyType contains constants differs from 
spec nt:propertyDefinition nodetype definition.

Thanks.
BR.
Peter Nedonosko,
eXo Platform UA.

Mime
View raw message