Pass PatchSet not PatchSet.Id to canSubmit()
All but one of the callers of canSubmit() already had the PatchSet loaded in memory. Since canSubmit() generally needs the PatchSet object, pass it through, avoiding a secondary database query. Change-Id: I96fe842b3698deeb41612c61a78d54e9a6dbc4d6
This commit is contained in:
@@ -40,18 +40,19 @@ import org.eclipse.jgit.lib.Repository;
|
||||
public final class StoredValues {
|
||||
public static final StoredValue<ReviewDb> REVIEW_DB = create(ReviewDb.class);
|
||||
public static final StoredValue<Change> CHANGE = create(Change.class);
|
||||
public static final StoredValue<PatchSet.Id> PATCH_SET_ID = create(PatchSet.Id.class);
|
||||
public static final StoredValue<PatchSet> PATCH_SET = create(PatchSet.class);
|
||||
public static final StoredValue<ChangeControl> CHANGE_CONTROL = create(ChangeControl.class);
|
||||
|
||||
public static final StoredValue<PatchSetInfo> PATCH_SET_INFO = new StoredValue<PatchSetInfo>() {
|
||||
@Override
|
||||
public PatchSetInfo createValue(Prolog engine) {
|
||||
PatchSet.Id patchSetId = StoredValues.PATCH_SET_ID.get(engine);
|
||||
Change change = StoredValues.CHANGE.get(engine);
|
||||
PatchSet ps = StoredValues.PATCH_SET.get(engine);
|
||||
PrologEnvironment env = (PrologEnvironment) engine.control;
|
||||
PatchSetInfoFactory patchInfoFactory =
|
||||
env.getInjector().getInstance(PatchSetInfoFactory.class);
|
||||
try {
|
||||
return patchInfoFactory.get(REVIEW_DB.get(engine), patchSetId);
|
||||
return patchInfoFactory.get(change, ps);
|
||||
} catch (PatchSetInfoNotAvailableException e) {
|
||||
throw new SystemException(e.getMessage());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user