/** * Method to confirm that identifier can be deleted from {@link Backend} * * @param identifier * @return */ public boolean confirmDelete(DataIdentifier identifier) { if (isInUse(identifier)) { LOG.debug("identifier [{}] is inUse confirmDelete= false ", identifier); return false; } String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.debug( "identifier [{}] is asyncWriteCache map confirmDelete= false ", identifier); return false; } if (asyncTouchCache.get(identifier) != null) { LOG.debug( "identifier [{}] is asyncTouchCache confirmDelete = false ", identifier); return false; } return true; }
/** * Method to confirm that identifier can be deleted from {@link Backend} * * @param identifier * @return */ public boolean confirmDelete(DataIdentifier identifier) { if (isInUse(identifier)) { LOG.debug("identifier [{}] is inUse confirmDelete= false ", identifier); return false; } String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.debug( "identifier [{}] is asyncWriteCache map confirmDelete= false ", identifier); return false; } if (asyncTouchCache.get(identifier) != null) { LOG.debug( "identifier [{}] is asyncTouchCache confirmDelete = false ", identifier); return false; } return true; }
/** * Method to confirm that identifier can be deleted from {@link Backend} * * @param identifier * @return */ public boolean confirmDelete(DataIdentifier identifier) { if (isInUse(identifier)) { LOG.debug("identifier [{}] is inUse confirmDelete= false ", identifier); return false; } String fileName = getFileName(identifier); long lastModified = asyncWriteCache.getLastModified(fileName); if (lastModified != 0) { LOG.debug( "identifier [{}] is asyncWriteCache map confirmDelete= false ", identifier); return false; } if (asyncTouchCache.get(identifier) != null) { LOG.debug( "identifier [{}] is asyncTouchCache confirmDelete = false ", identifier); return false; } return true; }
@Override public Set<DataIdentifier> deleteAllOlderThan(final long min) throws DataStoreException { log("deleteAllOlderThan " + min); Set<DataIdentifier> tobeDeleted = new HashSet<DataIdentifier>(); for (Map.Entry<DataIdentifier, Long> entry : timeMap.entrySet()) { DataIdentifier identifier = entry.getKey(); long timestamp = entry.getValue(); if (timestamp < min && !store.isInUse(identifier) && store.confirmDelete(identifier)) { store.deleteFromCache(identifier); tobeDeleted.add(identifier); } } for (DataIdentifier identifier : tobeDeleted) { timeMap.remove(identifier); data.remove(identifier); } return tobeDeleted; }