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
commit bbd8a588f0
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.missingDefaultCase=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.missingJavadocComments=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -99,6 +99,15 @@ public class StarredChangesUtil {
switch (result) {
case NEW:
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:
throw new OrmException(
String.format("Star change %d for account %d failed: %s",
@ -138,6 +147,15 @@ public class StarredChangesUtil {
switch (result) {
case FORCED:
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:
throw new OrmException(
String.format("Unstar change %d for account %d failed: %s",

View File

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

View File

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

View File

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

View File

@ -558,6 +558,12 @@ public class ConsistencyChecker {
p.status = Status.FIXED;
p.outcome = "Repaired patch set ref";
return;
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default:
p.status = Status.FIX_FAILED;
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());
}
//$FALL-THROUGH$
case ABANDONED:
case DRAFT:
default:
throw new ResourceConflictException("change is " + status(change));
}

View File

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

View File

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

View File

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

View File

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

View File

@ -1844,6 +1844,8 @@ public class ReceiveCommits {
break;
}
//$FALL-THROUGH$
case ABANDONED:
case DRAFT:
default:
addMessage("change " + c.getChangeId() + " is "
+ 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
// sent to inform users about the updated branch
break;
case FORCED:
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case NO_CHANGE:
case REJECTED:
case REJECTED_CURRENT_BRANCH:
case RENAMED:
default:
throw new IOException(rfu.getResult().name());
}

View File

@ -323,6 +323,15 @@ public abstract class VersionedMetaData {
case FORCED:
update.fireGitRefUpdatedEvent(ru);
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:
throw new IOException("Cannot delete " + ru.getName() + " in "
+ db.getDirectory() + ": " + ru.getResult());
@ -391,6 +400,14 @@ public abstract class VersionedMetaData {
revision = rw.parseCommit(ru.getNewObjectId());
update.fireGitRefUpdatedEvent(ru);
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:
throw new IOException("Cannot update " + ru.getName() + " in "
+ db.getDirectory() + ": " + ru.getResult());

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -368,6 +368,15 @@ public class CreateProject implements RestModifyView<TopLevelResource, ProjectIn
case NEW:
referenceUpdated.fire(project, ru, ReceiveCommand.Type.CREATE);
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: {
throw new IOException(String.format(
"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());
throw new ResourceConflictException("cannot delete current branch");
case IO_FAILURE:
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case REJECTED:
case RENAMED:
default:
log.error("Cannot delete " + rsrc.getBranchKey() + ": " + 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:
msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getMessage());
break;
case LOCK_FAILURE:
case NOT_ATTEMPTED:
case OK:
case REJECTED_MISSING_OBJECT:
case REJECTED_NOCREATE:
case REJECTED_NODELETE:
case REJECTED_NONFASTFORWARD:
default:
msg = format("Cannot delete %s: %s", cmd.getRefName(), cmd.getResult());
break;

View File

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

View File

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

View File

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

View File

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

@ -1 +1 @@
Subproject commit f4929df99e274113eb11a6bd6fe7a8b8f2088b6e
Subproject commit e44cf6e191255c796f0316cdcc4280978bb4a4d2