Hi,
I'm connecting to the Jackrabbit standalone server 2.0beta4 using JCR
over WebDAV and get the exception below.
I was able to break it down to this simple test which is useless in
itself, but provokes the ISE by valid API usage. The exception does not
occur when the second setProperty call is left out. Is this a bug?
Thanks,
Ralf
public void testAddTags() throws RepositoryException {
Node node = session.getRootNode().addNode( "test" );
node.setProperty( "cms:tags", new String[] { "test1" } );
node.setProperty( "cms:tags", new String[] { "test2" } );
node.remove();
session.save();
}
java.lang.IllegalStateException: State is already in terminal status REMOVED
at
org.apache.jackrabbit.jcr2spi.state.ItemState.setStatus(ItemState.java:236)
at
org.apache.jackrabbit.jcr2spi.hierarchy.PropertyEntryImpl.complete(PropertyEntryImpl.java:130)
at
org.apache.jackrabbit.jcr2spi.operation.SetPropertyValue.persisted(SetPropertyValue.java:72)
at
org.apache.jackrabbit.jcr2spi.state.ChangeLog.persisted(ChangeLog.java:87)
at
org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:595)
at
org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:139)
at org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:246)
at org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:328)