[jira] [Commented] (OAK-999) Version creates frozenNode children with orignial NoteType instead of frozenNode

2013-09-06 Thread angela (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13760051#comment-13760051
 ] 

angela commented on OAK-999:


ok... in this case the mandatory flag is probably correct but we should rather 
read the
jcr:frozenUUID to be the frozen identifier of the node, which apart from 
referenceable nodes is a implementation detail. that way round it actually 
makes sense.

 Version creates frozenNode children with orignial NoteType instead of 
 frozenNode
 

 Key: OAK-999
 URL: https://issues.apache.org/jira/browse/OAK-999
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: jcr
Affects Versions: 0.8
Reporter: Christan Keller

 For a Version the the children of a the Versions FrozenNode have the the 
 NodeType of their origin if they are not rferenceable. Expected is 
 nt:frozenNode.
 The JCR Spec is not explicit on the node-type for this Nodes but it is not 
 Compatible with JR2
 Dummy Test Case that just starts a Oak Repository
 {code}
 public class Issue extends RepositoryBaseTest {
 @Test
 public void testVersionChild() throws RepositoryException {
 Session admin = getAdminSession();
 Node parent = 
 admin.getRootNode().addNode(getClass().getSimpleName()+System.currentTimeMillis(),
  JcrConstants.NT_UNSTRUCTURED);
 Node child = parent.addNode(child);
 parent.addMixin(JcrConstants.MIX_VERSIONABLE);
 admin.save();
 VersionManager vm = admin.getWorkspace().getVersionManager();
 Version v = vm.checkin(parent.getPath());
 Node frozenChild = v.getFrozenNode().getNode(child.getName());
 Assert.assertEquals(JcrConstants.NT_FROZENNODE, 
 frozenChild.getPrimaryNodeType().getName());
 }
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (OAK-999) Version creates frozenNode children with orignial NoteType instead of frozenNode

2013-09-05 Thread Marcel Reutegger (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13758850#comment-13758850
 ] 

Marcel Reutegger commented on OAK-999:
--

This was done on purpose. See 
https://issues.apache.org/jira/browse/OAK-168?focusedCommentId=13651910page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13651910

In my view the spec is rather clear on what is expected. E.g. in the 
Versionable State section of the spec 
(http://www.day.com/specs/jcr/2.0/3_Repository_Model.html#3.13.9%20Versionable%20State)
 it says:

For each child node C of N where

C has an OPV of COPY,

a copy of the entire subgraph rooted at C ...

Similarly for OPV of VERSION. There is also the problem with the nt:frozenNode 
node type. It contains a jcr:frozenUuid property. In Jackrabbit 2.x every node 
had an internal UUID even if it isn't referenceable, and this UUID was then 
used for jcr:frozenUuid. But Oak doesn't assign a UUID to a non-referenceable 
node. To me it seems nt:frozenNode only make sense for referenceable nodes.

What kind of backward compatibility issue did you face with this? Is it query 
related? E.g. you get more results because nodes from the version storage 
match, which previously wouldn't?

 Version creates frozenNode children with orignial NoteType instead of 
 frozenNode
 

 Key: OAK-999
 URL: https://issues.apache.org/jira/browse/OAK-999
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: jcr
Affects Versions: 0.8
Reporter: Christan Keller

 For a Version the the children of a the Versions FrozenNode have the the 
 NodeType of their origin if they are not rferenceable. Expected is 
 nt:frozenNode.
 The JCR Spec is not explicit on the node-type for this Nodes but it is not 
 Compatible with JR2
 Dummy Test Case that just starts a Oak Repository
 {code}
 public class Issue extends RepositoryBaseTest {
 @Test
 public void testVersionChild() throws RepositoryException {
 Session admin = getAdminSession();
 Node parent = 
 admin.getRootNode().addNode(getClass().getSimpleName()+System.currentTimeMillis(),
  JcrConstants.NT_UNSTRUCTURED);
 Node child = parent.addNode(child);
 parent.addMixin(JcrConstants.MIX_VERSIONABLE);
 admin.save();
 VersionManager vm = admin.getWorkspace().getVersionManager();
 Version v = vm.checkin(parent.getPath());
 Node frozenChild = v.getFrozenNode().getNode(child.getName());
 Assert.assertEquals(JcrConstants.NT_FROZENNODE, 
 frozenChild.getPrimaryNodeType().getName());
 }
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (OAK-999) Version creates frozenNode children with orignial NoteType instead of frozenNode

2013-09-05 Thread Marcel Reutegger (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13758933#comment-13758933
 ] 

Marcel Reutegger commented on OAK-999:
--

bq. differnt interpretation for the word copy in case it is a 
mix:referenceable Node or not

I agree, that's not really consistent.

What if we changed it use nt:frozenNode even for copied nodes, but set the 
jcr:frozenUuid to a dummy value for non-referenceable nodes? E.g. an empty 
string. Would this be a problem for your use case?

 Version creates frozenNode children with orignial NoteType instead of 
 frozenNode
 

 Key: OAK-999
 URL: https://issues.apache.org/jira/browse/OAK-999
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: jcr
Affects Versions: 0.8
Reporter: Christan Keller

 For a Version the the children of a the Versions FrozenNode have the the 
 NodeType of their origin if they are not rferenceable. Expected is 
 nt:frozenNode.
 The JCR Spec is not explicit on the node-type for this Nodes but it is not 
 Compatible with JR2
 Dummy Test Case that just starts a Oak Repository
 {code}
 public class Issue extends RepositoryBaseTest {
 @Test
 public void testVersionChild() throws RepositoryException {
 Session admin = getAdminSession();
 Node parent = 
 admin.getRootNode().addNode(getClass().getSimpleName()+System.currentTimeMillis(),
  JcrConstants.NT_UNSTRUCTURED);
 Node child = parent.addNode(child);
 parent.addMixin(JcrConstants.MIX_VERSIONABLE);
 admin.save();
 VersionManager vm = admin.getWorkspace().getVersionManager();
 Version v = vm.checkin(parent.getPath());
 Node frozenChild = v.getFrozenNode().getNode(child.getName());
 Assert.assertEquals(JcrConstants.NT_FROZENNODE, 
 frozenChild.getPrimaryNodeType().getName());
 }
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (OAK-999) Version creates frozenNode children with orignial NoteType instead of frozenNode

2013-09-05 Thread angela (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13759027#comment-13759027
 ] 

angela commented on OAK-999:


maybe the definition of the nt:frozenNode is simply wrong by defining the 
jcr:frozenUuid property as mandatory? in jackrabbit-core nobody would have 
noticed since the all nodes had a uuid anyway...

 Version creates frozenNode children with orignial NoteType instead of 
 frozenNode
 

 Key: OAK-999
 URL: https://issues.apache.org/jira/browse/OAK-999
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: jcr
Affects Versions: 0.8
Reporter: Christan Keller

 For a Version the the children of a the Versions FrozenNode have the the 
 NodeType of their origin if they are not rferenceable. Expected is 
 nt:frozenNode.
 The JCR Spec is not explicit on the node-type for this Nodes but it is not 
 Compatible with JR2
 Dummy Test Case that just starts a Oak Repository
 {code}
 public class Issue extends RepositoryBaseTest {
 @Test
 public void testVersionChild() throws RepositoryException {
 Session admin = getAdminSession();
 Node parent = 
 admin.getRootNode().addNode(getClass().getSimpleName()+System.currentTimeMillis(),
  JcrConstants.NT_UNSTRUCTURED);
 Node child = parent.addNode(child);
 parent.addMixin(JcrConstants.MIX_VERSIONABLE);
 admin.save();
 VersionManager vm = admin.getWorkspace().getVersionManager();
 Version v = vm.checkin(parent.getPath());
 Node frozenChild = v.getFrozenNode().getNode(child.getName());
 Assert.assertEquals(JcrConstants.NT_FROZENNODE, 
 frozenChild.getPrimaryNodeType().getName());
 }
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (OAK-999) Version creates frozenNode children with orignial NoteType instead of frozenNode

2013-09-05 Thread Christan Keller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13759116#comment-13759116
 ] 

Christan Keller commented on OAK-999:
-

[~mreutegg]
My case would be fixed with the consistent nt:frozenNodes for the version graph 
with dummy frozenUUID values for non-referenceable Nodes.

If I am right the Jackrabbits UUID /NodeId for non-referenceable Nodes has only 
been accessable by use of jackrabbit.core classes and Implementaion classes.
Its usage in the field should therefor be very restricted. Bugs where people 
use the frozenUUID to access the normal (unversioned) Node should be rare.

Apart from that this retundant value may cause other issues.

(http://www.day.com/specs/jcr/2.0/3_Repository_Model.html#3.13.4.4%20Frozen%20Identifier)
May open a solution to give a value that may allow to enter a value for 
non-referencable Nodes without risk, like use the Path?

 Version creates frozenNode children with orignial NoteType instead of 
 frozenNode
 

 Key: OAK-999
 URL: https://issues.apache.org/jira/browse/OAK-999
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: jcr
Affects Versions: 0.8
Reporter: Christan Keller

 For a Version the the children of a the Versions FrozenNode have the the 
 NodeType of their origin if they are not rferenceable. Expected is 
 nt:frozenNode.
 The JCR Spec is not explicit on the node-type for this Nodes but it is not 
 Compatible with JR2
 Dummy Test Case that just starts a Oak Repository
 {code}
 public class Issue extends RepositoryBaseTest {
 @Test
 public void testVersionChild() throws RepositoryException {
 Session admin = getAdminSession();
 Node parent = 
 admin.getRootNode().addNode(getClass().getSimpleName()+System.currentTimeMillis(),
  JcrConstants.NT_UNSTRUCTURED);
 Node child = parent.addNode(child);
 parent.addMixin(JcrConstants.MIX_VERSIONABLE);
 admin.save();
 VersionManager vm = admin.getWorkspace().getVersionManager();
 Version v = vm.checkin(parent.getPath());
 Node frozenChild = v.getFrozenNode().getNode(child.getName());
 Assert.assertEquals(JcrConstants.NT_FROZENNODE, 
 frozenChild.getPrimaryNodeType().getName());
 }
 }
 {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira