You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2008/09/17 10:55:44 UTC
[jira] Updated: (JCR-1690) PM - Simple vs. Bundle - mixin removal
handling
[ https://issues.apache.org/jira/browse/JCR-1690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jukka Zitting updated JCR-1690:
-------------------------------
Fix Version/s: (was: 1.5)
> PM - Simple vs. Bundle - mixin removal handling
> -----------------------------------------------
>
> Key: JCR-1690
> URL: https://issues.apache.org/jira/browse/JCR-1690
> Project: Jackrabbit
> Issue Type: Bug
> Affects Versions: core 1.4.5
> Reporter: Jan Haderka
>
> Following code (assuming node had mixin mix:versionable before):
> node.removeMixin("mix:versionable");
> node.save();
> leads to difference in stored data based on PM used.
> If you perform the operation above and restart your repository
> call to:
> node.isMixinType("mix:versionable");
> will return false after restart in both cases, but
> doing:
> hasMixin(node, "mix:versionable");
> will return true when repository is using bundled PM. The hasMixin()
> method just iterates over all values of jcr:mixinTypes property:
> public static void hasMixin(Node node, String mixin) {
> try {
> Value[] vals = node.getProperty("jcr:mixinTypes").getValues();
> for (int i = 0; i < vals.length; i++) {
> log.debug(vals[i].getString());
> if (mixin.equals(vals[i].getString())) {
> return true;
> }
> }
> } catch (PathNotFoundException e) {
> // property not found == can't contain anything
> return false;
> }
> return false;
> }
> I think the difference is caused by following code (JR 1.4.5) in
> AbstractBundledPersistenceManager (which doesn't seem to have equivalent
> in simple PM)
> 557 // skip primaryType pr mixinTypes properties
> 558 if (id.getName().equals(QName.JCR_PRIMARYTYPE)
> 559 || id.getName().equals(QName.JCR_MIXINTYPES)
> 560 || id.getName().equals(QName.JCR_UUID)) {
> 561 continue;
> 562 }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.