diff options
Diffstat (limited to 'gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java')
-rw-r--r-- | gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java index fa028d75..f29742ad 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/rpc/GerritCallback.java @@ -17,6 +17,7 @@ package com.google.gerrit.client.rpc; import com.google.gerrit.client.ErrorDialog; import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.NotSignedInDialog; +import com.google.gerrit.common.errors.InactiveAccountException; import com.google.gerrit.common.errors.NameAlreadyUsedException; import com.google.gerrit.common.errors.NoSuchAccountException; import com.google.gerrit.common.errors.NoSuchEntityException; @@ -37,6 +38,9 @@ public abstract class GerritCallback<T> implements AsyncCallback<T> { } else if (isNoSuchEntity(caught)) { new ErrorDialog(Gerrit.C.notFoundBody()).center(); + } else if (isInactiveAccount(caught)) { + new ErrorDialog(Gerrit.C.inactiveAccountBody()).center(); + } else if (isNoSuchAccount(caught)) { final String msg = caught.getMessage(); final String who = msg.substring(NoSuchAccountException.MESSAGE.length()); @@ -71,6 +75,11 @@ public abstract class GerritCallback<T> implements AsyncCallback<T> { && caught.getMessage().equals(NoSuchEntityException.MESSAGE); } + protected static boolean isInactiveAccount(final Throwable caught) { + return caught instanceof RemoteJsonException + && caught.getMessage().startsWith(InactiveAccountException.MESSAGE); + } + private static boolean isNoSuchAccount(final Throwable caught) { return caught instanceof RemoteJsonException && caught.getMessage().startsWith(NoSuchAccountException.MESSAGE); |