Added REMOVE_NOT_PERMITTED to ReviewerResult

Previously, RemoveReviewer would store error details in the `name`
property of ReviewerResult because there were not specific enough error
codes.  This change lets us keep the intended seperation of argument and
error detail.

Change-Id: I3eb431a017cd39e19276f98663f7da37f0d53f43
This commit is contained in:
Conley Owens
2011-06-13 12:57:14 -07:00
parent 0fb80b5133
commit e49c9b16e5
5 changed files with 24 additions and 6 deletions

View File

@@ -56,8 +56,11 @@ public class ReviewerResult {
/** The account is not permitted to see the change. */ /** The account is not permitted to see the change. */
CHANGE_NOT_VISIBLE, CHANGE_NOT_VISIBLE,
/** Could not remove this reviewer from the change. */ /** Could not remove this reviewer from the change due to ORMException. */
COULD_NOT_REMOVE COULD_NOT_REMOVE,
/** Not permitted to remove this reviewer from the change. */
REMOVE_NOT_PERMITTED
} }
protected Type type; protected Type type;

View File

@@ -304,7 +304,18 @@ public class ApprovalTable extends Composite {
final ChangeDetail r = result.getChange(); final ChangeDetail r = result.getChange();
display(r.getChange(), r.getMissingApprovals(), r.getApprovals()); display(r.getChange(), r.getMissingApprovals(), r.getApprovals());
} else { } else {
new ErrorDialog(result.getErrors().get(0).toString()).center(); final ReviewerResult.Error resultError =
result.getErrors().get(0);
String message;
switch (resultError.getType()) {
case REMOVE_NOT_PERMITTED:
message = Util.C.approvalTableRemoveNotPermitted();
break;
case COULD_NOT_REMOVE:
default:
message = Util.C.approvalTableCouldNotRemove();
}
new ErrorDialog(message + " " + resultError.getName()).center();
} }
} }

View File

@@ -78,6 +78,8 @@ public interface ChangeConstants extends Constants {
String approvalTableReviewer(); String approvalTableReviewer();
String approvalTableAddReviewer(); String approvalTableAddReviewer();
String approvalTableRemoveNotPermitted();
String approvalTableCouldNotRemove();
String changeInfoBlockOwner(); String changeInfoBlockOwner();
String changeInfoBlockProject(); String changeInfoBlockProject();

View File

@@ -55,6 +55,8 @@ changeScreenComments = Comments
approvalTableReviewer = Reviewer approvalTableReviewer = Reviewer
approvalTableAddReviewer = Add Reviewer approvalTableAddReviewer = Add Reviewer
approvalTableRemoveNotPermitted = Not allowed to remove reviewer
approvalTableCouldNotRemove = Could not remove reviewer
changeInfoBlockOwner = Owner changeInfoBlockOwner = Owner
changeInfoBlockProject = Project changeInfoBlockProject = Project

View File

@@ -78,12 +78,12 @@ public class RemoveReviewer implements Callable<ReviewerResult> {
} catch (OrmException ex) { } catch (OrmException ex) {
result.addError(new ReviewerResult.Error( result.addError(new ReviewerResult.Error(
ReviewerResult.Error.Type.COULD_NOT_REMOVE, ReviewerResult.Error.Type.COULD_NOT_REMOVE,
"Could not remove reviewer " + reviewerId)); reviewerId.toString()));
} }
} else { } else {
result.addError(new ReviewerResult.Error( result.addError(new ReviewerResult.Error(
ReviewerResult.Error.Type.COULD_NOT_REMOVE, ReviewerResult.Error.Type.REMOVE_NOT_PERMITTED,
"Not allowed to remove reviewer " + reviewerId)); reviewerId.toString()));
} }
return result; return result;