DRY: remove method duplication

This commit is contained in:
Kirill Likhodedov
2017-08-24 18:01:37 +03:00
parent 54e7d78fd2
commit ea9364cc5c
@@ -1539,36 +1539,34 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec
} }
@Override @Override
public void modify(final BaseRevision was, final BaseRevision become) { public void modify(BaseRevision was, BaseRevision become) {
myScheduler.submit(() -> { doModify(was, become, true);
final AbstractVcs vcs = getVcs(was);
if (vcs != null) {
myRevisionsCache.plus(Pair.create(was.getPath(), vcs));
}
// maybe define modify method?
myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(become);
});
} }
@Override @Override
public void plus(final BaseRevision baseRevision) { public void plus(final BaseRevision baseRevision) {
myScheduler.submit(() -> { doModify(baseRevision, baseRevision, true);
final AbstractVcs vcs = getVcs(baseRevision);
if (vcs != null) {
myRevisionsCache.plus(Pair.create(baseRevision.getPath(), vcs));
}
myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(baseRevision);
});
} }
@Override @Override
public void minus(final BaseRevision baseRevision) { public void minus(final BaseRevision baseRevision) {
doModify(baseRevision, baseRevision, false);
}
private void doModify(BaseRevision was, BaseRevision become, boolean plus) {
myScheduler.submit(() -> { myScheduler.submit(() -> {
final AbstractVcs vcs = getVcs(baseRevision); final AbstractVcs vcs = getVcs(was);
if (vcs != null) { if (vcs != null) {
myRevisionsCache.minus(Pair.create(baseRevision.getPath(), vcs)); Pair<String, AbstractVcs> pair = Pair.create(was.getPath(), vcs);
if (plus) {
myRevisionsCache.plus(pair);
}
else {
myRevisionsCache.minus(pair);
}
} }
myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(baseRevision.getPath()); // maybe define modify method?
myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(become);
}); });
} }