jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Abhinav Atul (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (JCR-3695) Jcr2spi same name siblings: Path not provided along with unique id in NodeId when calling org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId). Path needed to maintain SNS index
Date Fri, 29 Nov 2013 07:38:35 GMT

     [ https://issues.apache.org/jira/browse/JCR-3695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Abhinav Atul updated JCR-3695:
------------------------------

    Description: 
 the path index set up when populating the parent folder with child node info(unique id +
path with index for same name sibling) is needed to maintain the indexing order during previous
iteration.
For example, a folder node ‘F’ has been populated with two child entries 
C(uid:”abcd”,path:/F/C) and C[2](uid:”mnop”,path:/F/C[2])
When retrieving child nodes of F, NodeId only contains uid(“mnop”) and no path which is
needed to setup path for the entry


Here is some runtime for clarity,
 Stack for parent node – creating node state
org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId)
org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(NodeId nodeId,
NodeEntry entry)
this creates a NodeInfo of the parent with a list of childinfo containing uid + path of children,
note that path contains
sns index of the child.
Now when trying to createNodeState for children of above parent node, stack is same

org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId)
org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(NodeId nodeId,
NodeEntry entry)
*But the NodeId which should also contain path information when parent node state was constructed
is missing*. This path is needed to maintain SNS indexing calculated while populating parent
node.


  was:
 the path index set up when populating the parent folder with child node info(unique id +
path with index for same name sibling) is needed to maintain the indexing order during previous
iteration.
For example, a folder node ‘F’ has been populated with two child entries 
C(uid:”abcd”,path:/F/C) and C[2](uid:”mnop”,path:/F/C[2])
When retrieving child nodes of F, NodeId only contains uid(“mnop”) and no path which is
needed to setup path for the entry



> Jcr2spi same name siblings: Path not provided along with unique id in NodeId when calling
org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId). Path needed
to maintain SNS index
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-3695
>                 URL: https://issues.apache.org/jira/browse/JCR-3695
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr2spi
>    Affects Versions: 2.1
>            Reporter: Abhinav Atul
>         Attachments: diff.diff
>
>
>  the path index set up when populating the parent folder with child node info(unique
id + path with index for same name sibling) is needed to maintain the indexing order during
previous iteration.
> For example, a folder node ‘F’ has been populated with two child entries 
> C(uid:”abcd”,path:/F/C) and C[2](uid:”mnop”,path:/F/C[2])
> When retrieving child nodes of F, NodeId only contains uid(“mnop”) and no path which
is needed to setup path for the entry
> Here is some runtime for clarity,
>  Stack for parent node – creating node state
> org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId)
> org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(NodeId
nodeId, NodeEntry entry)
> this creates a NodeInfo of the parent with a list of childinfo containing uid + path
of children, note that path contains
> sns index of the child.
> Now when trying to createNodeState for children of above parent node, stack is same
> org.apache.jackrabbit.spi.RepositoryService.getItemInfos(SessionInfo, NodeId)
> org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(NodeId
nodeId, NodeEntry entry)
> *But the NodeId which should also contain path information when parent node state was
constructed is missing*. This path is needed to maintain SNS indexing calculated while populating
parent node.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message