You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (Commented) (JIRA)" <ji...@apache.org> on 2012/03/23 10:21:26 UTC
[jira] [Commented] (JCR-3273) [remoting] setting/getting
jcr:mixinTypes as property
[ https://issues.apache.org/jira/browse/JCR-3273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13236475#comment-13236475 ]
angela commented on JCR-3273:
-----------------------------
> System.out.println(node.getProperty("jcr:mixinTypes").getString()); // mix:referenceable
> System.out.println(node.isNodeType("mix:referenceable")); // false
in jcr2spi that's always the case before the changes are saved (even if using Node#addMixin) and this is spec compliant
regarding
> node.setProperty("jcr:mixinTypes", "mix:referenceable");
> s.save();
well... if your node is nt:unstructured then that would most probably not result in the
"regular" jcr:mixinTypes property but one with that name (any name is allowed with nt:unstructured)
and property type STRING that was not recognized as a the protected property you are expecting
to create.... you could equally create it with a BINARY value.
so, on the client side there is no way to found out that you did something illegal.
what remains:
> // neither a normal property nor a mixin type is stored
this however is odd. could you try this out on a regular jackrabbit-core? that would
be helpful to find out where exactly that problem is located. thanks.
> [remoting] setting/getting jcr:mixinTypes as property
> -----------------------------------------------------
>
> Key: JCR-3273
> URL: https://issues.apache.org/jira/browse/JCR-3273
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jcr-client, jackrabbit-jcr-server
> Affects Versions: 2.4
> Reporter: David Buchmann
> Priority: Minor
>
> using jackrabbit 2.4 (the remoting with davex, not tested with others) i can set the property jcr:mixinTypes to a node without getting an exception. before saving, the property is there but isNodeType returns false. when i save and read the node in a new session, it loses the property completely. if i set the mixin with addMixin, i can get it as property afterwards.
> i am a bit confused by this. i guess it makes sense to not allow setting the mixin with setProperty - but then this should throw some exception to tell me i am wrong.
> Node root = s.getRootNode();
> Node node = root.getNode("my_node");
> node.setProperty("jcr:mixinTypes", "mix:referenceable");
> System.out.println(node.getProperty("jcr:mixinTypes").getString()); // mix:referenceable
> System.out.println(node.isNodeType("mix:referenceable")); // false
> s.save();
> // neither a normal property nor a mixin type is stored
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira