@Override
public void run() {
try {
if (isCanceled()) {
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_NoRevisions"));
return;
}
final DiffController view = DiffController.createEnhanced(leftSource, rightSource);
int leftMaxLineNumber = getLastLineIndex(leftSource);
int rightMaxLineNumber = getLastLineIndex(rightSource);
if (currentTask == ShowDiffTask.this) {
currentDiff = view;
setBottomComponent(currentDiff.getJComponent());
if (leftMaxLineNumber != -1) {
setLocation(Math.min(leftMaxLineNumber, lineNumber), false);
}
if (rightMaxLineNumber != -1) {
setLocation(Math.min(rightMaxLineNumber, lineNumber), true);
}
parent.refreshComponents(false);
}
} catch (IOException e) {
Mercurial.LOG.log(Level.INFO, null, e);
}
}
});