[jira] Updated: (JCR-1131) JCR2SPI NodeEntryImpl throws NPE during reorderNodes

2007-11-21 Thread Jukka Zitting (JIRA)

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

Jukka Zitting updated JCR-1131:
---

Fix Version/s: 1.4

> JCR2SPI NodeEntryImpl throws NPE during reorderNodes
> 
>
> Key: JCR-1131
> URL: https://issues.apache.org/jira/browse/JCR-1131
> Project: Jackrabbit
>  Issue Type: Bug
>  Components: SPI
>Reporter: David Rauschenbach
> Fix For: 1.4
>
>
> Two folder nodes are created below root. From the root node, the 2nd folder 
> is ordered before the first node. The request is batched up correctly, but 
> upon save, NodeEntryImpl throws a NullPointerException in the first line of 
> the completeTransientChanges method, because revertInfo.oldParent is null.
> Test code:
>   final String FOLDER1 = "folder1", FOLDER2 = "folder2";
>   
>   // Create folder 1 on server in root
>   Session serverSession = login(repository, creds);
>   Node serverRootNode = serverSession.getRootNode();
>   Node serverFolder1 = serverRootNode.addNode(FOLDER1, 
> "nt:folder");
>   
>   // Create folder 2 on server in root
>   Node serverFolder2 = serverRootNode.addNode(FOLDER2, 
> "nt:folder");
>   serverSession.save();
>   
>   // Validate order (TODO)
>   
>   // Perform reorder via client
>   Session clientSession = login(clientRepository, creds);
>   Node clientRootNode = clientSession.getRootNode();
>   clientRootNode.orderBefore(FOLDER2, FOLDER1);
>   clientSession.save(); <== Throws NPE
> Call Stack:
> [junit] java.lang.NullPointerException
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.completeTransientChanges(NodeEntryImpl.java:1354)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.access$1100(NodeEntryImpl.java:60)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl$RevertInfo.statusChanged(NodeEntryImpl.java:1465)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.ItemState.setStatus(ItemState.java:257)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.NodeState.adjustNodeState(NodeState.java:554)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.NodeState.persisted(NodeState.java:276)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.ChangeLog.persisted(ChangeLog.java:135)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:479)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:149)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:239)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:317)
> [junit] at 
> TestWsNodeReorder.testReorderNodes(TestWsNodeReorder.java:72)
> I'm using an SPI I implemented, in conjunction with the jcr2spi and spi2jcr 
> bridges, coupled with a back-end Jackrabbit in-memory filesystem. So there's 
> always the possibility that node or property SPI calls inject errors and 
> cause this downstream problem.

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



[jira] Updated: (JCR-1131) JCR2SPI NodeEntryImpl throws NPE during reorderNodes

2007-09-17 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger updated JCR-1131:
--

Affects Version/s: (was: 1.4)

> JCR2SPI NodeEntryImpl throws NPE during reorderNodes
> 
>
> Key: JCR-1131
> URL: https://issues.apache.org/jira/browse/JCR-1131
> Project: Jackrabbit
>  Issue Type: Bug
>  Components: SPI
>Reporter: David Rauschenbach
>
> Two folder nodes are created below root. From the root node, the 2nd folder 
> is ordered before the first node. The request is batched up correctly, but 
> upon save, NodeEntryImpl throws a NullPointerException in the first line of 
> the completeTransientChanges method, because revertInfo.oldParent is null.
> Test code:
>   final String FOLDER1 = "folder1", FOLDER2 = "folder2";
>   
>   // Create folder 1 on server in root
>   Session serverSession = login(repository, creds);
>   Node serverRootNode = serverSession.getRootNode();
>   Node serverFolder1 = serverRootNode.addNode(FOLDER1, 
> "nt:folder");
>   
>   // Create folder 2 on server in root
>   Node serverFolder2 = serverRootNode.addNode(FOLDER2, 
> "nt:folder");
>   serverSession.save();
>   
>   // Validate order (TODO)
>   
>   // Perform reorder via client
>   Session clientSession = login(clientRepository, creds);
>   Node clientRootNode = clientSession.getRootNode();
>   clientRootNode.orderBefore(FOLDER2, FOLDER1);
>   clientSession.save(); <== Throws NPE
> Call Stack:
> [junit] java.lang.NullPointerException
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.completeTransientChanges(NodeEntryImpl.java:1354)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.access$1100(NodeEntryImpl.java:60)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl$RevertInfo.statusChanged(NodeEntryImpl.java:1465)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.ItemState.setStatus(ItemState.java:257)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.NodeState.adjustNodeState(NodeState.java:554)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.NodeState.persisted(NodeState.java:276)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.ChangeLog.persisted(ChangeLog.java:135)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:479)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:149)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:239)
> [junit] at 
> org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:317)
> [junit] at 
> TestWsNodeReorder.testReorderNodes(TestWsNodeReorder.java:72)
> I'm using an SPI I implemented, in conjunction with the jcr2spi and spi2jcr 
> bridges, coupled with a back-end Jackrabbit in-memory filesystem. So there's 
> always the possibility that node or property SPI calls inject errors and 
> cause this downstream problem.

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