Merge changes from topic 'missing-switch-cases'

* changes:
  SubmitStrategyListener: Add missing switch case CANNOT_REBASE_ROOT
  Add missing switch cases for Patch.ChangeType.REWRITE
  MergeOp: Add missing cases for switch on SubmitRecord.Status
  Eclipse: Warn on incomplete switch cases even when default exists
This commit is contained in:
Dave Borowitz
2016-01-25 20:08:07 +00:00
committed by Gerrit Code Review
42 changed files with 200 additions and 5 deletions

View File

@@ -38,7 +38,7 @@ org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=enabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled

View File

@@ -151,6 +151,7 @@ public class PageLinks {
return "status:abandoned"; return "status:abandoned";
case MERGED: case MERGED:
return "status:merged"; return "status:merged";
case DRAFT:
case NEW: case NEW:
default: default:
return "status:open"; return "status:open";

View File

@@ -139,6 +139,10 @@ public class PermissionRule implements Comparable<PermissionRule> {
switch (a.getAction()) { switch (a.getAction()) {
case DENY: case DENY:
return 0; return 0;
case ALLOW:
case BATCH:
case BLOCK:
case INTERACTIVE:
default: default:
return 1 + a.getAction().ordinal(); return 1 + a.getAction().ordinal();
} }

View File

@@ -32,6 +32,10 @@ public enum Theme {
case NIGHT: case NIGHT:
case TWILIGHT: case TWILIGHT:
return true; return true;
case DEFAULT:
case ECLIPSE:
case ELEGANT:
case NEAT:
default: default:
return false; return false;
} }

View File

@@ -340,6 +340,13 @@ public class PublicKeyStore implements AutoCloseable {
toAdd.clear(); toAdd.clear();
toRemove.clear(); toRemove.clear();
break; break;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
break; break;
} }

View File

@@ -80,6 +80,14 @@ public class DeleteGpgKey implements RestModifyView<GpgKey, Input> {
case NO_CHANGE: case NO_CHANGE:
case FAST_FORWARD: case FAST_FORWARD:
break; break;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NEW:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new ResourceConflictException( throw new ResourceConflictException(
"Failed to delete public key: " + saveResult); "Failed to delete public key: " + saveResult);

View File

@@ -232,6 +232,12 @@ public class PostGpgKeys implements RestModifyView<AccountResource, Input> {
break; break;
case NO_CHANGE: case NO_CHANGE:
break; break;
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
// TODO(dborowitz): Backoff and retry on LOCK_FAILURE. // TODO(dborowitz): Backoff and retry on LOCK_FAILURE.
throw new ResourceConflictException( throw new ResourceConflictException(

View File

@@ -339,6 +339,13 @@ public class PublicKeyCheckerTest {
case FAST_FORWARD: case FAST_FORWARD:
case FORCED: case FORCED:
break; break;
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new AssertionError(result); throw new AssertionError(result);
} }

View File

@@ -124,6 +124,7 @@ public class ProjectListScreen extends PaginatedProjectScreen {
state.setTitle(Util.toLongString(k.state())); state.setTitle(Util.toLongString(k.state()));
table.setWidget(row, ProjectsTable.C_STATE, state); table.setWidget(row, ProjectsTable.C_STATE, state);
break; break;
case ACTIVE:
default: default:
// Intentionally left blank, do not show an icon when active. // Intentionally left blank, do not show an icon when active.
break; break;

View File

@@ -1141,6 +1141,8 @@ public class ChangeScreen extends Screen {
canSubmit = false; canSubmit = false;
} }
break; break;
case MAY:
case OK:
default: default:
break; break;
} }

View File

@@ -350,6 +350,7 @@ public class ChangeTable extends NavigationTable<ChangeInfo> {
return accountInfo.username(); return accountInfo.username();
case ABBREV: case ABBREV:
return getAbbreviation(accountInfo.name(), " "); return getAbbreviation(accountInfo.name(), " ");
case NONE:
default: default:
return null; return null;
} }

View File

@@ -391,6 +391,8 @@ public class SideBySide extends Screen {
case OK: case OK:
toggleShowIntraline(); toggleShowIntraline();
break; break;
case FAILURE:
case TIMEOUT:
default: default:
break; break;
} }

View File

@@ -253,6 +253,7 @@ public class UnifiedDiffTable extends AbstractPatchContentTable {
case INSERT: case INSERT:
n = Gerrit.RESOURCES.css().diffTextINSERT(); n = Gerrit.RESOURCES.css().diffTextINSERT();
break; break;
case REPLACE:
default: default:
continue; continue;
} }

View File

@@ -450,6 +450,7 @@ class OpenIdServiceImpl {
case SIGN_IN: case SIGN_IN:
case REGISTER: case REGISTER:
return true; return true;
case LINK_IDENTIY:
default: default:
return false; return false;
} }

View File

@@ -185,6 +185,13 @@ public class AllProjectsConfig extends VersionedMetaData {
case NEW: case NEW:
case NO_CHANGE: case NO_CHANGE:
break; break;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException("Failed to update " + getRefName() + " of " throw new IOException("Failed to update " + getRefName() + " of "
+ project + ": " + r.name()); + project + ": " + r.name());

View File

@@ -99,6 +99,15 @@ public class StarredChangesUtil {
switch (result) { switch (result) {
case NEW: case NEW:
return; return;
case FAST_FORWARD:
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new OrmException( throw new OrmException(
String.format("Star change %d for account %d failed: %s", String.format("Star change %d for account %d failed: %s",
@@ -138,6 +147,15 @@ public class StarredChangesUtil {
switch (result) { switch (result) {
case FORCED: case FORCED:
return; return;
case FAST_FORWARD:
case IO_FAILURE:
case LOCK_FAILURE:
case NEW:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new OrmException( throw new OrmException(
String.format("Unstar change %d for account %d failed: %s", String.format("Unstar change %d for account %d failed: %s",

View File

@@ -57,6 +57,8 @@ public class DefaultRealm extends AbstractRealm {
switch (field) { switch (field) {
case REGISTER_NEW_EMAIL: case REGISTER_NEW_EMAIL:
return authConfig.isAllowRegisterNewEmail(); return authConfig.isAllowRegisterNewEmail();
case FULL_NAME:
case USER_NAME:
default: default:
return true; return true;
} }

View File

@@ -65,6 +65,13 @@ public class AccountIdHandler extends OptionHandler<Account.Id> {
case LDAP: case LDAP:
accountId = createAccountByLdap(token); accountId = createAccountByLdap(token);
break; break;
case CUSTOM_EXTENSION:
case DEVELOPMENT_BECOME_ANY_ACCOUNT:
case HTTP:
case LDAP_BIND:
case OAUTH:
case OPENID:
case OPENID_SSO:
default: default:
throw new CmdLineException(owner, "user \"" + token + "\" not found"); throw new CmdLineException(owner, "user \"" + token + "\" not found");
} }

View File

@@ -562,6 +562,9 @@ public class ChangeJson {
n.rejected = accountLoader.get(r.appliedBy); n.rejected = accountLoader.get(r.appliedBy);
n.blocking = true; n.blocking = true;
break; break;
case IMPOSSIBLE:
case MAY:
case NEED:
default: default:
break; break;
} }

View File

@@ -558,6 +558,12 @@ public class ConsistencyChecker {
p.status = Status.FIXED; p.status = Status.FIXED;
p.outcome = "Repaired patch set ref"; p.outcome = "Repaired patch set ref";
return; return;
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
p.status = Status.FIX_FAILED; p.status = Status.FIX_FAILED;
p.outcome = "Failed to update patch set ref: " + result; p.outcome = "Failed to update patch set ref: " + result;

View File

@@ -200,6 +200,8 @@ public class Submit implements RestModifyView<RevisionResource, SubmitInput>,
throw new ResourceConflictException(msg.getMessage()); throw new ResourceConflictException(msg.getMessage());
} }
//$FALL-THROUGH$ //$FALL-THROUGH$
case ABANDONED:
case DRAFT:
default: default:
throw new ResourceConflictException("change is " + status(change)); throw new ResourceConflictException("change is " + status(change));
} }

View File

@@ -50,6 +50,10 @@ public class AuthModule extends AbstractModule {
case CUSTOM_EXTENSION: case CUSTOM_EXTENSION:
break; break;
case DEVELOPMENT_BECOME_ANY_ACCOUNT:
case HTTP:
case OPENID:
case OPENID_SSO:
default: default:
bind(Realm.class).to(DefaultRealm.class); bind(Realm.class).to(DefaultRealm.class);
DynamicSet.bind(binder(), AuthBackend.class).to(InternalAuthBackend.class); DynamicSet.bind(binder(), AuthBackend.class).to(InternalAuthBackend.class);

View File

@@ -327,6 +327,7 @@ public class ProjectConfigEntry {
break; break;
case LIST: case LIST:
case STRING: case STRING:
case ARRAY:
default: default:
configEntry.onUpdate(p, oldValue, newValue); configEntry.onUpdate(p, oldValue, newValue);
} }

View File

@@ -287,6 +287,13 @@ public class ChangeEditUtil {
case NEW: case NEW:
case NO_CHANGE: case NO_CHANGE:
break; break;
case FAST_FORWARD:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException(String.format("Failed to delete ref %s: %s", throw new IOException(String.format("Failed to delete ref %s: %s",
refName, result)); refName, result));

View File

@@ -442,10 +442,12 @@ public class MergeOp implements AutoCloseable {
throw new ResourceConflictException( throw new ResourceConflictException(
describeLabels(cd, record.labels)); describeLabels(cd, record.labels));
case FORCED:
case OK:
default: default:
throw new IllegalStateException(String.format( throw new IllegalStateException(String.format(
"Unsupported SubmitRecord %s for %s in %s", "Unexpected SubmitRecord status %s for %s in %s",
record, record.status,
patchSet.getId().getId(), patchSet.getId().getId(),
cd.change().getProject().get())); cd.change().getProject().get()));
} }

View File

@@ -1844,6 +1844,8 @@ public class ReceiveCommits {
break; break;
} }
//$FALL-THROUGH$ //$FALL-THROUGH$
case ABANDONED:
case DRAFT:
default: default:
addMessage("change " + c.getChangeId() + " is " addMessage("change " + c.getChangeId() + " is "
+ c.getStatus().name().toLowerCase()); + c.getStatus().name().toLowerCase());

View File

@@ -335,7 +335,14 @@ public class SubmoduleOp {
// TODO since this is performed "in the background" no mail will be // TODO since this is performed "in the background" no mail will be
// sent to inform users about the updated branch // sent to inform users about the updated branch
break; break;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException(rfu.getResult().name()); throw new IOException(rfu.getResult().name());
} }

View File

@@ -323,6 +323,15 @@ public abstract class VersionedMetaData {
case FORCED: case FORCED:
update.fireGitRefUpdatedEvent(ru); update.fireGitRefUpdatedEvent(ru);
return; return;
case FAST_FORWARD:
case IO_FAILURE:
case LOCK_FAILURE:
case NEW:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException("Cannot delete " + ru.getName() + " in " throw new IOException("Cannot delete " + ru.getName() + " in "
+ db.getDirectory() + ": " + ru.getResult()); + db.getDirectory() + ": " + ru.getResult());
@@ -391,6 +400,14 @@ public abstract class VersionedMetaData {
revision = rw.parseCommit(ru.getNewObjectId()); revision = rw.parseCommit(ru.getNewObjectId());
update.fireGitRefUpdatedEvent(ru); update.fireGitRefUpdatedEvent(ru);
return revision; return revision;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException("Cannot update " + ru.getName() + " in " throw new IOException("Cannot update " + ru.getName() + " in "
+ db.getDirectory() + ": " + ru.getResult()); + db.getDirectory() + ": " + ru.getResult());

View File

@@ -94,6 +94,7 @@ public class SubmitStrategyListener extends BatchUpdate.Listener {
case REBASE_MERGE_CONFLICT: case REBASE_MERGE_CONFLICT:
case MANUAL_RECURSIVE_MERGE: case MANUAL_RECURSIVE_MERGE:
case CANNOT_CHERRY_PICK_ROOT: case CANNOT_CHERRY_PICK_ROOT:
case CANNOT_REBASE_ROOT:
case NOT_FAST_FORWARD: case NOT_FAST_FORWARD:
// TODO(dborowitz): Reformat these messages to be more appropriate for // TODO(dborowitz): Reformat these messages to be more appropriate for
// short problem descriptions. // short problem descriptions.

View File

@@ -159,6 +159,13 @@ public class AddMembers implements RestModifyView<GroupResource, Input> {
} }
} }
break; break;
case CUSTOM_EXTENSION:
case DEVELOPMENT_BECOME_ANY_ACCOUNT:
case HTTP:
case LDAP_BIND:
case OAUTH:
case OPENID:
case OPENID_SSO:
default: default:
} }
throw e; throw e;

View File

@@ -217,6 +217,13 @@ public class ChangeRebuilder {
case NEW: case NEW:
case NO_CHANGE: case NO_CHANGE:
break; break;
case FAST_FORWARD:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: default:
throw new IOException( throw new IOException(
String.format("Failed to delete ref %s: %s", refName, result)); String.format("Failed to delete ref %s: %s", refName, result));

View File

@@ -80,6 +80,7 @@ public class PatchListEntry {
case ADDED: case ADDED:
case MODIFIED: case MODIFIED:
case REWRITE:
oldName = null; oldName = null;
newName = hdr.getNewPath(); newName = hdr.getNewPath();
break; break;

View File

@@ -227,6 +227,7 @@ class PatchScriptBuilder {
case MODIFIED: case MODIFIED:
case COPIED: case COPIED:
case RENAMED: case RENAMED:
case REWRITE:
return true; return true;
case ADDED: case ADDED:
@@ -242,6 +243,7 @@ class PatchScriptBuilder {
return null; return null;
case DELETED: case DELETED:
case MODIFIED: case MODIFIED:
case REWRITE:
return entry.getNewName(); return entry.getNewName();
case COPIED: case COPIED:
case RENAMED: case RENAMED:
@@ -258,6 +260,7 @@ class PatchScriptBuilder {
case MODIFIED: case MODIFIED:
case COPIED: case COPIED:
case RENAMED: case RENAMED:
case REWRITE:
default: default:
return entry.getNewName(); return entry.getNewName();
} }

View File

@@ -167,6 +167,12 @@ public class CreateBranch implements RestModifyView<ProjectResource, Input> {
refPrefix = getRefPrefix(refPrefix); refPrefix = getRefPrefix(refPrefix);
} }
//$FALL-THROUGH$ //$FALL-THROUGH$
case FORCED:
case IO_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: { default: {
throw new IOException(result.name()); throw new IOException(result.name());
} }

View File

@@ -368,6 +368,15 @@ public class CreateProject implements RestModifyView<TopLevelResource, ProjectIn
case NEW: case NEW:
referenceUpdated.fire(project, ru, ReceiveCommand.Type.CREATE); referenceUpdated.fire(project, ru, ReceiveCommand.Type.CREATE);
break; break;
case FAST_FORWARD:
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default: { default: {
throw new IOException(String.format( throw new IOException(String.format(
"Failed to create ref \"%s\": %s", ref, result.name())); "Failed to create ref \"%s\": %s", ref, result.name()));

View File

@@ -124,6 +124,11 @@ public class DeleteBranch implements RestModifyView<BranchResource, Input>{
log.error("Cannot delete " + rsrc.getBranchKey() + ": " + result.name()); log.error("Cannot delete " + rsrc.getBranchKey() + ": " + result.name());
throw new ResourceConflictException("cannot delete current branch"); throw new ResourceConflictException("cannot delete current branch");
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case RENAMED:
default: default:
log.error("Cannot delete " + rsrc.getBranchKey() + ": " + result.name()); log.error("Cannot delete " + rsrc.getBranchKey() + ": " + result.name());
throw new ResourceConflictException("cannot delete branch: " + result.name()); throw new ResourceConflictException("cannot delete branch: " + result.name());

View File

@@ -151,6 +151,13 @@ class DeleteBranches implements RestModifyView<ProjectResource, Input> {
case REJECTED_OTHER_REASON: case REJECTED_OTHER_REASON:
msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getMessage()); msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getMessage());
break; break;
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case OK:
case REJECTED_MISSING_OBJECT:
case REJECTED_NOCREATE:
case REJECTED_NODELETE:
case REJECTED_NONFASTFORWARD:
default: default:
msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getResult()); msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getResult());
break; break;

View File

@@ -264,6 +264,9 @@ public class RefControl {
admin = getUser().getCapabilities().canAdministrateServer(); admin = getUser().getCapabilities().canAdministrateServer();
break; break;
case GIT:
case SSH_COMMAND:
case WEB_BROWSER:
default: default:
owner = false; owner = false;
admin = false; admin = false;
@@ -362,6 +365,11 @@ public class RefControl {
case GIT: case GIT:
return canPushWithForce(); return canPushWithForce();
case JSON_RPC:
case REST_API:
case SSH_COMMAND:
case UNKNOWN:
case WEB_BROWSER:
default: default:
return getUser().getCapabilities().canAdministrateServer() return getUser().getCapabilities().canAdministrateServer()
|| (isOwner() && !isForceBlocked(Permission.PUSH)) || (isOwner() && !isForceBlocked(Permission.PUSH))

View File

@@ -96,6 +96,12 @@ public class SetHead implements RestModifyView<ProjectResource, Input> {
case FORCED: case FORCED:
case NEW: case NEW:
break; break;
case FAST_FORWARD:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
default: default:
throw new IOException("Setting HEAD failed with " + res); throw new IOException("Setting HEAD failed with " + res);
} }

View File

@@ -450,6 +450,7 @@ public class QueryShell {
case JSON_SINGLE: case JSON_SINGLE:
collector.add(row); collector.add(row);
break; break;
case PRETTY:
default: default:
final JsonObject obj = new JsonObject(); final JsonObject obj = new JsonObject();
obj.addProperty("type", "error"); obj.addProperty("type", "error");
@@ -482,6 +483,7 @@ public class QueryShell {
} }
println(collector.toString()); println(collector.toString());
break; break;
case PRETTY:
default: default:
final JsonObject obj = new JsonObject(); final JsonObject obj = new JsonObject();
obj.addProperty("type", "error"); obj.addProperty("type", "error");

View File

@@ -88,6 +88,8 @@ final class ShowQueue extends SshCommand {
case READY: case READY:
start = format(task.state); start = format(task.state);
break; break;
case OTHER:
case SLEEPING:
default: default:
start = time(now, task.delay); start = time(now, task.delay);
break; break;
@@ -147,6 +149,7 @@ final class ShowQueue extends SshCommand {
return "waiting ...."; return "waiting ....";
case SLEEPING: case SLEEPING:
return "sleeping"; return "sleeping";
case OTHER:
default: default:
return state.toString(); return state.toString();
} }