jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dirk Feufel (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-2601) NullPointerException when removing more than one version from history
Date Tue, 13 Apr 2010 06:10:49 GMT
NullPointerException when removing more than one version from history
---------------------------------------------------------------------

                 Key: JCR-2601
                 URL: https://issues.apache.org/jira/browse/JCR-2601
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.0.0
            Reporter: Dirk Feufel


When removing more than one version from the history, a NullPointerException occurres. If
I delete the version in the order the VersionIterator provides, I get:

        at org.apache.jackrabbit.core.version.InternalVersionImpl.internalDetach(InternalVersionImpl.java:280)
        at org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.removeVersion(InternalVersionHistoryImpl.java:389)
        at org.apache.jackrabbit.core.version.InternalVersionManagerBase.internalRemoveVersion(InternalVersionManagerBase.java:684)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl$5.run(InternalVersionManagerImpl.java:495)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl$DynamicESCFactory.doSourced(InternalVersionManagerImpl.java:760)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.removeVersion(InternalVersionManagerImpl.java:493)
        at org.apache.jackrabbit.core.version.InternalXAVersionManager.removeVersion(InternalXAVersionManager.java:264)
        at org.apache.jackrabbit.core.version.VersionHistoryImpl.removeVersion(VersionHistoryImpl.java:253)

If I delete in the other direction I get:

java.lang.NullPointerException
        at org.apache.jackrabbit.core.version.InternalVersionImpl.internalDetach(InternalVersionImpl.java:286)
        at org.apache.jackrabbit.core.version.InternalVersionHistoryImpl.removeVersion(InternalVersionHistoryImpl.java:389)
        at org.apache.jackrabbit.core.version.InternalVersionManagerBase.internalRemoveVersion(InternalVersionManagerBase.java:684)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl$5.run(InternalVersionManagerImpl.java:495)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl$DynamicESCFactory.doSourced(InternalVersionManagerImpl.java:760)
        at org.apache.jackrabbit.core.version.InternalVersionManagerImpl.removeVersion(InternalVersionManagerImpl.java:493)
        at org.apache.jackrabbit.core.version.InternalXAVersionManager.removeVersion(InternalXAVersionManager.java:264)
        at org.apache.jackrabbit.core.version.VersionHistoryImpl.removeVersion(VersionHistoryImpl.java:253)


The code is:

Node toDelete = session.getNode(path);
VersionHistory vh = session.getWorkspace().getVersionManager().getVersionHistory(path);
toRemove.remove();
session.save();
VersionIterator vit = vh.getAllVersions();
while (vit.hasNext()) {
	Version v = vit.nextVersion();
	if (!v.getName().equals("jcr:rootVersion")) {
		versionRemove.add(v.getName());
	}
}
for (int i=0; i<versionRemove.size(); i++) {
	vh.removeVersion(versionRemove.get(i));
}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message