@Override
public void perform () {
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_LoadingDiff")); //NOI18N
if (revision1 == null) {
try {
revision1 = event2.getLogInfoHeader().getAncestorCommit(event2.getOriginalFile(), getClient(), GitUtils.NULL_PROGRESS_MONITOR);
file1 = event2.getOriginalFile();
baseFile1 = event2.getFile();
} catch (GitException ex) {
LOG.log(Level.INFO, null, ex);
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_LoadingDiff")); //NOI18N
return;
}
}
if (isCanceled()) {
return;
}
String title1, title2;
title1 = revision1 == null ? null : revision1.substring(0, 7);
title2 = event2.getLogInfoHeader().getLog().getRevision() == null ? null : event2.getLogInfoHeader().getLog().getRevision().substring(0, 7);
s1 = new DiffStreamSource(file1, baseFile1, revision1, file1.getName() + (title1 == null ? "" : (" (" + title1 + ")"))); //NOI18N
s2 = new DiffStreamSource(event2.getFile(), event2.getFile(), event2.getLogInfoHeader().getLog().getRevision(),
event2.getFile().getName() + (title2 == null ? "" : (" (" + title2 + ")"))); //NOI18N
// it's enqueued at ClientRuntime queue and does not return until previous request handled
s1.getMIMEType(); // triggers s1.init()
if (isCanceled()) {
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_NoRevisions")); // NOI18N
return;
}
s2.getMIMEType(); // triggers s2.init()
if (isCanceled()) {
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_NoRevisions")); // NOI18N
return;
}
if (currentTask != this) return;
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
if (isCanceled()) {
showDiffError(NbBundle.getMessage(DiffResultsView.class, "MSG_DiffPanel_NoRevisions")); // NOI18N
return;
}
final DiffController view = DiffController.createEnhanced(s1, s2);
if (currentTask == ShowDiffTask.this) {
currentDiff = view;
setBottomComponent(currentDiff.getJComponent());
final int dl = diffView.getDividerLocation();
if (!setLocation(view)) {
view.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
view.removePropertyChangeListener(this);
setLocation(view);
parent.updateActions();
}
});
}
parent.refreshComponents(false);
EventQueue.invokeLater(new Runnable () {
@Override
public void run() {
diffView.setDividerLocation(dl);
}
});
}
} catch (IOException e) {
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e);
}
}
});
}
DiffResultsView.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:incubator-netbeans
作者:
评论列表
文章目录