Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 67962 invoked from network); 31 Oct 2006 16:46:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 Oct 2006 16:46:06 -0000 Received: (qmail 31096 invoked by uid 500); 31 Oct 2006 16:46:16 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 31023 invoked by uid 500); 31 Oct 2006 16:46:15 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 31011 invoked by uid 99); 31 Oct 2006 16:46:15 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Oct 2006 08:46:15 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of julian.reschke@gmx.de designates 213.165.64.20 as permitted sender) Received: from [213.165.64.20] (HELO mail.gmx.net) (213.165.64.20) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 31 Oct 2006 08:46:01 -0800 Received: (qmail invoked by alias); 31 Oct 2006 16:45:40 -0000 Received: from mail.greenbytes.de (EHLO [192.168.1.61]) [217.91.35.233] by mail.gmx.net (mp040) with SMTP; 31 Oct 2006 17:45:40 +0100 X-Authenticated: #1915285 Message-ID: <45477DAF.9080200@gmx.de> Date: Tue, 31 Oct 2006 17:45:35 +0100 From: Julian Reschke User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.4) Gecko/20060516 Thunderbird/1.5.0.4 Mnenhy/0.7.4.666 MIME-Version: 1.0 To: dev@jackrabbit.apache.org Subject: SPI: ClassCastException in jcr2spi's NodeState Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Virus-Checked: Checked by ClamAV on apache.org 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.(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