log.debug("cvsResource: " + cvsResource);
log.debug("revision: " + revision);
// Get the annotations from the repository.
final AnnotateListener listener = new AnnotateListener();
fetchRevision(listener, cvsResource, revision, Policy.subMonitorFor(monitor, 80));
// for (Iterator i = listener.getCvsAnnotateBlocks().iterator(); i.hasNext();) {
// log.debug("a block: " + ((CVSAnnotateBlock) i.next()).toString());
// }
// try {
// if (hasCharset(cvsResource, listener.getContents())) {
// listener.setContents(getRemoteContents(cvsResource,
// Policy.subMonitorFor(monitor, 20)));
// }
// }
// catch (CoreException e) {
// // Log and continue, using the original fetched contents
// CVSUIPlugin.log(e);
// }
// Open the view and display it from the UI thread.
// final Display display = getPart().getSite().getShell().getDisplay();
// display.asyncExec(new Runnable() {
// public void run() {
// showView(listener);
// }
// });
monitor.done();
IWorkbench workbench = ReviewPlugin.getInstance().getWorkbench();
IWorkbenchWindow activeWindow = workbench.getWorkbenchWindows()[0];
final InputStream contents = listener.getContents();
final ICVSRemoteFile file = (ICVSRemoteFile) CVSWorkspaceRoot.getRemoteResourceFor(cvsResource);
IEditorRegistry registry = CVSUIPlugin.getPlugin().getWorkbench().getEditorRegistry();
log.debug("file name: " + file.getName());
IEditorDescriptor descriptor = registry.getDefaultEditor(file.getName());