use of org.tigris.subversion.subclipse.graph.editors.NodeTooltipFigure in project subclipse by subclipse.
the class SetCommitPropertiesAction method run.
public void run() {
try {
IResource resource = ((RevisionGraphEditorInput) editor.getEditorInput()).getResource();
ISVNRemoteResource remoteResource = ((RevisionGraphEditorInput) editor.getEditorInput()).getRemoteResource();
ISVNInfo info = ((RevisionGraphEditorInput) editor.getEditorInput()).getInfo();
final ProjectProperties projectProperties = (resource != null) ? ProjectProperties.getProjectProperties(resource) : ProjectProperties.getProjectProperties(remoteResource);
SVNRevision.Number revision = new SVNRevision.Number(node.getRevision());
SetCommitPropertiesDialog dialog = new SetCommitPropertiesDialog(Display.getDefault().getActiveShell(), revision, resource, projectProperties);
dialog.setOldAuthor(node.getAuthor());
dialog.setOldComment(node.getMessage());
if (dialog.open() == SetCommitPropertiesDialog.OK) {
final String author;
final String commitComment;
if (node.getAuthor().equals(dialog.getAuthor()))
author = null;
else
author = dialog.getAuthor();
if (node.getMessage().equals(dialog.getComment()))
commitComment = null;
else
commitComment = dialog.getComment();
ISVNRepositoryLocation repository = SVNProviderPlugin.getPlugin().getRepository(info.getRepository().toString());
final ChangeCommitPropertiesCommand command = new ChangeCommitPropertiesCommand(repository, revision, commitComment, author);
PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException {
try {
command.run(monitor);
} catch (SVNException e) {
throw new InvocationTargetException(e);
} finally {
if (command.isAuthorChanged())
node.setAuthor(author);
if (command.isLogMessageChanged())
node.setMessage(commitComment);
if (command.isAuthorChanged() || command.isLogMessageChanged()) {
nodeFigure.setToolTip(new NodeTooltipFigure(node));
}
}
}
});
}
} catch (Exception e) {
SVNUIPlugin.openError(Display.getDefault().getActiveShell(), null, null, e, SVNUIPlugin.LOG_TEAM_EXCEPTIONS);
}
}
Aggregations