Merge "Fix generic handling of NameAlreadyUsedException in GerritCallback"

This commit is contained in:
Shawn Pearce 2013-02-20 01:08:31 +00:00 committed by Gerrit Code Review
commit 3db935b0a7
6 changed files with 8 additions and 10 deletions

View File

@ -18,13 +18,9 @@ package com.google.gerrit.common.errors;
public class NameAlreadyUsedException extends Exception {
private static final long serialVersionUID = 1L;
public static final String MESSAGE = "Name Already Used";
public NameAlreadyUsedException() {
super(MESSAGE);
}
public static final String MESSAGE = "Name Already Used: ";
public NameAlreadyUsedException(String name) {
super(MESSAGE + ": " + name);
super(MESSAGE + name);
}
}

View File

@ -44,7 +44,6 @@ public interface GerritConstants extends Constants {
String notFoundTitle();
String notFoundBody();
String nameAlreadyUsedBody();
String noSuchAccountTitle();
String noSuchGroupTitle();

View File

@ -27,7 +27,6 @@ notSignedInBody = <b>Session Expired</b>\
notFoundTitle = Not Found
notFoundBody = The page you requested was not found, or you do not have permission to view this page.
nameAlreadyUsedBody = The name is already in use.
noSuchAccountTitle = Code Review - Unknown User
noSuchGroupTitle = Code Review - Unknown Group

View File

@ -23,6 +23,7 @@ public interface GerritMessages extends Messages {
String noSuchAccountMessage(String who);
String noSuchGroupMessage(String who);
String nameAlreadyUsedBody(String alreadyUsedName);
String branchCreationFailed(String branchName, String error);
String invalidBranchName(String branchName);

View File

@ -4,6 +4,7 @@ poweredBy = Powered by <a href="http://code.google.com/p/gerrit/" target="_blank
noSuchAccountMessage = {0} is not a registered user.
noSuchGroupMessage = Group {0} does not exist or is not visible to you.
nameAlreadyUsedBody = The name {0} is already in use.
branchCreationFailed = Creating branch {0} failed. Error: {1}
invalidBranchName = The branch name {0} is not valid.

View File

@ -54,7 +54,9 @@ public abstract class GerritCallback<T> implements
d.center();
} else if (isNameAlreadyUsed(caught)) {
new ErrorDialog(Gerrit.C.nameAlreadyUsedBody()).center();
final String msg = caught.getMessage();
final String alreadyUsedName = msg.substring(NameAlreadyUsedException.MESSAGE.length());
new ErrorDialog(Gerrit.M.nameAlreadyUsedBody(alreadyUsedName)).center();
} else if (isNoSuchGroup(caught)) {
final String msg = caught.getMessage();
@ -101,7 +103,7 @@ public abstract class GerritCallback<T> implements
private static boolean isNameAlreadyUsed(final Throwable caught) {
return caught instanceof RemoteJsonException
&& caught.getMessage().equals(NameAlreadyUsedException.MESSAGE);
&& caught.getMessage().startsWith(NameAlreadyUsedException.MESSAGE);
}
private static boolean isNoSuchGroup(final Throwable caught) {