/** * Since version is set "only revert" always return true. */ @Override public boolean isInvalidMaxVersions() { return VersionConfig.getInstance().getMaxVersionAllowed() < 1; }
/** * Set version history to max version possible. * * @throws RepositoryException if failed to get VersionHistory or fail to remove */ @Override public void setMaxVersionHistory(Node node) throws RepositoryException { VersionHistory history = node.getVersionHistory(); VersionIterator versions = history.getAllVersions(); // size - 2 to skip root version long indexToRemove = (versions.getSize() - 2) - VersionConfig.getInstance().getMaxVersionAllowed(); if (indexToRemove > 0) { // skip root version versions.nextVersion(); // remove the version after rootVersion for (; indexToRemove > 0; indexToRemove--) { final String versionName = versions.nextVersion().getName(); if (!versionName.equals(NodeTypes.Activatable.getLastActivatedVersion(node))) { history.removeVersion(versionName); } } } }