You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Jim.Tully" <Ji...@target.com> on 2015/06/01 17:46:25 UTC

Path property type

I am working with Oak version 1.2.2, and have recently encountered unexpected behavior.

I have a custom node type that includes a PATH property, not required.   In previous versions, it was legal to specify either an empty path (“”) or a default (“.”).  In the current version, the default is no longer accepted on node creation.  Oddly enough, it seems to be accepted when updating the node, and when retrieving the node, the value of the path is “.”.

Definition:

[tgt:slot] > mix:versionable orderable

- height (LONG) COPY

- order (LONG) COPY

- columns (LONG) COPY

- row (LONG) COPY

- componentPath (PATH) COPY

Create (JSON format):
{
      "row": 2,
      "columns": 12,
      "height": 300,
      "order": 2,
       "component_path":""
}

Read (JSON format):
{
      "row": 2,
      "columns": 12,
      "height": 300,
      "order": 2,
       "component_path”:"."
}

If I use this to create a new node at a different location, it fails with javax.jcr.RepositoryException: OakName0003: Invalid name: .

Granted, it is better to omit the property than have an empty value, but it seems like the behavior should be consistent.  If “.” is valid as a return value, it should be valid as an input value.

Thanks,

Jim