hi nicolas, this is probably a bug in jackrabbit. thank you for reporting it. can you please file a jira issue (http://issues.apache.org/jira/browse/JCR) for this? thanks.
regards, toby On 11/18/05, Nicolas Belisle <[EMAIL PROTECTED]> wrote: > Hi, > > I'm trying to remove a version of a Node, but the > VersionHistory.removeVersion() method throws : > "javax.jcr.ReferentialIntegrityException: Unable to remove version. At > least once referenced.". > > Secton 8.2.2.10 (Removal of Versions) of the specification indicates that > the version graph should be automatically repaired upon removal. Then, > VersionHistory.removeVersion() should take care of references. In fact, a > user cannot alter the references (jcr:predecessors and jcr:successors), > since they are protected properties. > > Here's the example : > > Node root1 = session.getRootNode() ; > Node test1 = root1.addNode("test") ; > test1.addMixin("mix:versionable"); > test1.setProperty("test", "1"); > session.save(); > test1.checkin(); > > test1.checkout(); > test1.setProperty("test", "2"); > session.save(); > test1.checkin(); > > test1.checkout(); > test1.setProperty("test", "3"); > session.save(); > test1.checkin(); > > VersionHistory vh = test1.getVersionHistory(); > for (VersionIterator vi = vh.getAllVersions(); vi.hasNext(); ) { > Version currenVersion = vi.nextVersion(); > String versionName = currenVersion.getName(); > if (!versionName.equals("jcr:rootVersion")) { > String propertyValue = > currenVersion.getNode("jcr:frozenNode").getProperty("test").getString(); > System.out.println("Removing version : " + versionName + " > with value: " + propertyValue); > vh.removeVersion(versionName); > } > } > > Something I do wrong ? > > > Many thanks, > > > Nicolas > > -- -----------------------------------------< [EMAIL PROTECTED] >--- Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel T +41 61 226 98 98, F +41 61 226 98 97 -----------------------------------------------< http://www.day.com >---