@Nullable public CommittedChangeListsListener createRefresher(final boolean ignoreEnabled) { if (refreshEnabled(ignoreEnabled)) { // on awt thread final MergeinfoCached state = myMergeInfoCache.getCachedState(myRootGetter.get(), myWcPathGetter.get()); myCachedMap.put( createKey(myRootGetter.get(), myBranchGetter.get()), (state == null) ? new MergeinfoCached() : new MergeinfoCached( new HashMap<Long, SvnMergeInfoCache17.MergeCheckResult>(state.getMap()), state.getCopyRevision())); myMergeInfoCache.clear(myRootGetter.get(), myWcPathGetter.get()); return new MyRefresher(); } return null; }
public MergeInfoHolder( final Project project, final DecoratorManager manager, final Getter<WCInfoWithBranches> rootGetter, final Getter<WCInfoWithBranches.Branch> branchGetter, final Getter<String> wcPathGetter, Getter<Boolean> enabledHolder, final Consumer<Boolean> mixedRevisionsConsumer) { myRootGetter = rootGetter; myBranchGetter = branchGetter; myWcPathGetter = wcPathGetter; myEnabledHolder = enabledHolder; myManager = manager; myMixedRevisionsConsumer = mixedRevisionsConsumer; myMergeInfoCache = SvnMergeInfoCache17.getInstance(project); myCachedMap = new HashMap<Pair<String, String>, MergeinfoCached>(); myDecorator = new MyDecorator(); }
public void updateMixedRevisionsForPanel() { myMixedRevisionsConsumer.consume( myMergeInfoCache.isMixedRevisions(myRootGetter.get(), myWcPathGetter.get())); }