package com.intellij.vcs.log.data;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.vcs.VcsException;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.vcs.log.VcsFullCommitDetails;
import com.intellij.vcs.log.VcsLogProvider;
import com.intellij.vcs.log.data.index.VcsLogIndex;
import com.intellij.vcs.log.impl.VcsLogUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Map;
/**
* The CommitDetailsGetter is responsible for getting {@link VcsFullCommitDetails complete commit details} from the cache or from the VCS.
*/
public class CommitDetailsGetter extends AbstractDataGetter<VcsFullCommitDetails> {
CommitDetailsGetter(@NotNull VcsLogStorage hashMap,
@NotNull Map<VirtualFile, VcsLogProvider> logProviders,
@NotNull VcsLogIndex index,
@NotNull Disposable parentDisposable) {
super(hashMap, logProviders, new VcsCommitCache<>(), index, parentDisposable);
}
@Nullable
@Override
protected VcsFullCommitDetails getFromAdditionalCache(int commitId) {
return null;
}
@NotNull
@Override
protected List<? extends VcsFullCommitDetails> readDetails(@NotNull VcsLogProvider logProvider, @NotNull VirtualFile root,
@NotNull List<String> hashes) throws VcsException {
return VcsLogUtil.getDetails(logProvider, root, hashes);
}
}