jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "angela (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2267) AbstractQValueFactory throws exception for unknown auto-create properties
Date Thu, 04 Mar 2010 13:31:27 GMT

    [ https://issues.apache.org/jira/browse/JCR-2267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841240#action_12841240

angela commented on JCR-2267:

> the proposed patch supresses the exception and just logs a warning

it might be that it works in you test. but as far as i know it violates the specification:
autocreated items must
be present in the transient layer but their value may change upon save... from my point of
view returning
a null value isn't a valid option.

for the AbstractQValueFactory i find the exception appropriate. subclasses and custom qvalue
may provide a more sophisticated approach. e.g. by asking the backend for the correct value.

> AbstractQValueFactory throws exception for unknown auto-create properties
> -------------------------------------------------------------------------
>                 Key: JCR-2267
>                 URL: https://issues.apache.org/jira/browse/JCR-2267
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-spi-commons
>            Reporter: Stefan Guggisberg
>             Fix For: 2.1.0
>         Attachments: r806112.patch
> the following properties were introduced in JCR 2.0:
> jcr:createdBy
> jcr:lastModifiedBy
> they're declared as autocreated and don't specify a default.
> the following code throws on save():
>     parentFolderNode.addNode("foo", "nt:folder");
>     session.save();
> ==>
> Caused by: javax.jcr.RepositoryException: createFromDefinition not implemented for: {http://www.jcp.org/jcr/1.0}createdBy
> 	at org.apache.jackrabbit.spi2davex.QValueFactoryImpl.computeAutoValues(QValueFactoryImpl.java:257)
> 	at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.computeSystemGeneratedPropertyValues(SessionItemStateManager.java:687)
> 	at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.addNodeState(SessionItemStateManager.java:601)
> 	at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.visit(SessionItemStateManager.java:262)
> 	at org.apache.jackrabbit.jcr2spi.operation.AddNode.accept(AddNode.java:69)
> 	at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.execute(SessionItemStateManager.java:228)
> 	at org.apache.jackrabbit.jcr2spi.NodeImpl.createNode(NodeImpl.java:1294)
> 	at org.apache.jackrabbit.jcr2spi.NodeImpl.addNode(NodeImpl.java:183)
>        ...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message