jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Reschke <julian.resc...@gmx.de>
Subject SPI: ClassCastException in jcr2spi's NodeState
Date Tue, 31 Oct 2006 16:45:35 GMT
Hi,

I did mention that I'm working on an SPI implementation for an existing 
store, and trying to get it up with jcr2spi, right?

Anyway, in the meantime I can login to my store, and get the root node; 
so far, so good.

If I now try hasNodes(), I'm getting the ClassCastException below...:

java.lang.ClassCastException
	at 
org.apache.jackrabbit.jcr2spi.state.NodeState$ChildNodeEntries.get(NodeState.java:1509)
	at 
org.apache.jackrabbit.jcr2spi.state.NodeState$ChildNodeEntries.access$1(NodeState.java:1507)
	at 
org.apache.jackrabbit.jcr2spi.state.NodeState.assertAvailability(NodeState.java:196)
	at org.apache.jackrabbit.jcr2spi.state.NodeState.<init>(NodeState.java:131)
	at 
org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(WorkspaceItemStateFactory.java:155)
	at 
org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(WorkspaceItemStateFactory.java:121)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.UUIDReference.doResolve(UUIDReference.java:83)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.ChildItemReference.resolve(ChildItemReference.java:110)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.ChildNodeReference.getNodeState(ChildNodeReference.java:120)
	at 
org.apache.jackrabbit.jcr2spi.state.WorkspaceItemStateFactory.createNodeState(WorkspaceItemStateFactory.java:99)
	at 
org.apache.jackrabbit.jcr2spi.state.CachingItemStateManager.resolve(CachingItemStateManager.java:168)
	at 
org.apache.jackrabbit.jcr2spi.state.CachingItemStateManager.getItemState(CachingItemStateManager.java:94)
	at 
org.apache.jackrabbit.jcr2spi.WorkspaceManager.getItemState(WorkspaceManager.java:328)
	at 
org.apache.jackrabbit.jcr2spi.state.TransientISFactory.createNodeState(TransientISFactory.java:145)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.UUIDReference.doResolve(UUIDReference.java:83)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.ChildItemReference.resolve(ChildItemReference.java:110)
	at 
org.apache.jackrabbit.jcr2spi.state.entry.ChildNodeReference.getNodeState(ChildNodeReference.java:120)
	at 
org.apache.jackrabbit.jcr2spi.ItemManagerImpl.hasChildNodes(ItemManagerImpl.java:205)
	at org.apache.jackrabbit.jcr2spi.NodeImpl.hasNodes(NodeImpl.java:634)


This is because the code casts to "LinkedEntries.LinkNode", but what the 
iterator returns is a UUIDReference. It seems to me that this can't be 
caused by my SPI doing something wrong; just probably different from 
what the other existing implementations do.

Any idea what could be going on here?

Best regards, Julian



Mime
View raw message