Start migration to notedb implementation of PatchSetApprovals
Encapsulate the current state of the migration in a NotesMigration class. For each database table (or broader group of functionality) that we migrate to notedb, configure a boolean indicating whether that data should be read from notes, defaulting to false. Unlike reads, NotesMigration contains just a single boolean indicating that data should be written. We don't attempt to write just some types of data; as the migration continues we will just rewrite history. Since most existing reads of the PatchSetApprovals table have been migrated to ApprovalsUtil, most implementation changes happen there. There are a few other implementations scattered around, and some that will require a bit more work (e.g. stamping normalized approvals at submit time). Change-Id: I5676267d4de607c385e8c9917a89333863b9c9e7
This commit is contained in:
@@ -34,13 +34,18 @@ public class LabelType {
|
||||
}
|
||||
|
||||
public static String checkName(String name) {
|
||||
if (name == null || name.isEmpty()) {
|
||||
throw new IllegalArgumentException("Empty label name");
|
||||
}
|
||||
checkNameInternal(name);
|
||||
if ("SUBM".equals(name)) {
|
||||
throw new IllegalArgumentException(
|
||||
"Reserved label name \"" + name + "\"");
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
public static String checkNameInternal(String name) {
|
||||
if (name == null || name.isEmpty()) {
|
||||
throw new IllegalArgumentException("Empty label name");
|
||||
}
|
||||
for (int i = 0; i < name.length(); i++) {
|
||||
char c = name.charAt(i);
|
||||
if ((i == 0 && c == '-') ||
|
||||
|
||||
Reference in New Issue
Block a user