001package org.nuxeo.ecm.platform.rendition.version; 002 003import java.util.Collections; 004import java.util.List; 005 006import org.nuxeo.ecm.core.api.CoreSession; 007import org.nuxeo.ecm.core.event.impl.ShallowDocumentModel; 008import org.nuxeo.ecm.core.versioning.OrphanVersionRemovalFilter; 009import org.nuxeo.ecm.platform.rendition.Constants; 010 011public class RenditionAwareVersionRemovalPolicy implements OrphanVersionRemovalFilter { 012 013 @Override 014 public List<String> getRemovableVersionIds(CoreSession session, ShallowDocumentModel deletedLiveDoc, 015 List<String> versionUUIDs) { 016 017 if (deletedLiveDoc.hasFacet(Constants.RENDITION_FACET)) { 018 // don't remove orphan rendition versions 019 return Collections.emptyList(); 020 } 021 return versionUUIDs; 022 } 023}