| | |
| | | package de.micromata.borgbutler.cache; |
| | | |
| | | import de.micromata.borgbutler.BorgCommands; |
| | | import de.micromata.borgbutler.config.BorgRepoConfig; |
| | | import de.micromata.borgbutler.json.borg.RepoInfo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | |
| | | public class RepoInfoCache extends AbstractCache<RepoInfo> { |
| | | private static Logger log = LoggerFactory.getLogger(RepoInfoCache.class); |
| | | public static final String CACHE_REPOS_BASENAME = "repos"; |
| | | public static final String CACHE_REPOS_BASENAME = "repo-infos"; |
| | | |
| | | @Override |
| | | protected RepoInfo load(BorgRepoConfig repoConfig, String identifier) { |
| | | RepoInfo repoInfo = BorgCommands.info(repoConfig); |
| | | this.elements.put(getIdentifier(repoInfo), repoInfo); |
| | | return repoInfo; |
| | | } |
| | | |
| | | @Override |
| | | public boolean matches(RepoInfo element, String identifier) { |
| | | return element.matches(identifier); |
| | | } |
| | | |
| | | @Override |
| | | public String getIdentifier(RepoInfo element) { |
| | | return element.getRepository().getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFrom(RepoInfo dest, RepoInfo source) { |
| | | dest.updateFrom(source); |
| | | } |
| | | |
| | | /** |
| | | * Needed by jackson for deserialization. |