/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.store.blob; import java.util.HashSet; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.google.common.collect.Sets; import com.enonic.cms.framework.blob.BlobKey; import com.enonic.cms.framework.blob.gc.UsedBlobKeyFinder; import com.enonic.cms.core.content.binary.BinaryDataEntity; import com.enonic.cms.store.dao.BinaryDataDao; @Component("usedBlobStoreFinder") public final class DbUsedBlobKeyFinder implements UsedBlobKeyFinder { private BinaryDataDao binaryDataDao; public Set<BlobKey> findKeys() throws Exception { final HashSet<BlobKey> keys = Sets.newHashSet(); findFromBinaryData( keys ); return keys; } private void findFromBinaryData( final Set<BlobKey> keys ) { for ( final BinaryDataEntity entity : this.binaryDataDao.findAll() ) { final String key = entity.getBlobKey(); if ( key != null ) { keys.add( new BlobKey( key ) ); } } } @Autowired public void setBinaryDataDao( final BinaryDataDao dao ) { this.binaryDataDao = dao; } }