| | |
| | | package de.micromata.borgbutler.cache; |
| | | |
| | | import de.micromata.borgbutler.json.borg.ArchiveList; |
| | | import de.micromata.borgbutler.BorgCommands; |
| | | import de.micromata.borgbutler.config.BorgRepoConfig; |
| | | import de.micromata.borgbutler.json.borg.ArchiveInfo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import java.io.File; |
| | | |
| | | public class ArchiveListCache extends AbstractCache<ArchiveList> { |
| | | public class ArchiveListCache extends AbstractCache<ArchiveInfo> { |
| | | private static Logger log = LoggerFactory.getLogger(ArchiveListCache.class); |
| | | public static final String CACHE_ARCHIVE_LISTS_BASENAME = "archive-lists"; |
| | | |
| | | @Override |
| | | protected ArchiveInfo load(BorgRepoConfig repoConfig, String identifier) { |
| | | ArchiveInfo archiveInfo = BorgCommands.info(repoConfig, identifier); |
| | | this.elements.put(getIdentifier(archiveInfo), archiveInfo); |
| | | return archiveInfo; |
| | | } |
| | | |
| | | @Override |
| | | public boolean matches(ArchiveInfo element, String identifier) { |
| | | return element.matches(identifier); |
| | | } |
| | | |
| | | @Override |
| | | public String getIdentifier(ArchiveInfo element) { |
| | | return element.getRepository().getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFrom(ArchiveInfo dest, ArchiveInfo source) { |
| | | dest.updateFrom(source); |
| | | } |
| | | |
| | | /** |
| | | * Needed by jackson for deserialization. |
| | | */ |