summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Kempin <ekempin@google.com>2023-10-17 08:29:36 +0000
committerEdwin Kempin <ekempin@google.com>2023-10-17 08:29:36 +0000
commit7f2634fa1e41add4a358cd3922da2caa2b31faaa (patch)
treedac3c4eee49f360961351a63afdad3885f60342f
parent7d61b886cf89eeebd4bef5d1b1b341df3fcb4aeb (diff)
SubmitRuleEvaluator: Simply logic that checks that change and project exist
1. check that change exists We do not need a local variable for the change, but we can just use cd.change() after checking that cd.change() is not null. 2. check that project exists The old code throw a NoSuchProjectException just to catch it can wrap it into an IllegalStateException, just throw the IllegalStateException directly. Release-Notes: skip Change-Id: I3fe3849608b2cd2ed3589fa4ab3075b35cc91bbb Signed-off-by: Edwin Kempin <ekempin@google.com>
-rw-r--r--java/com/google/gerrit/server/project/SubmitRuleEvaluator.java31
1 files changed, 13 insertions, 18 deletions
diff --git a/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java b/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java
index 62cb7975ac..866ce1444c 100644
--- a/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java
+++ b/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java
@@ -18,7 +18,6 @@ import static com.google.common.collect.ImmutableList.toImmutableList;
import com.google.common.collect.Streams;
import com.google.common.flogger.FluentLogger;
-import com.google.gerrit.entities.Change;
import com.google.gerrit.entities.Project;
import com.google.gerrit.entities.SubmitRecord;
import com.google.gerrit.entities.SubmitTypeRecord;
@@ -118,25 +117,21 @@ public class SubmitRuleEvaluator {
"Evaluate submit rules for change %d (caller: %s)",
cd.change().getId().get(), callerFinder.findCallerLazy());
try (Timer0.Context ignored = metrics.submitRuleEvaluationLatency.start()) {
- Change change;
- ProjectState projectState;
- try {
- change = cd.change();
- if (change == null) {
- throw new StorageException("Change not found");
- }
-
- Project.NameKey name = cd.project();
- Optional<ProjectState> projectStateOptional = projectCache.get(name);
- if (!projectStateOptional.isPresent()) {
- throw new NoSuchProjectException(name);
- }
- projectState = projectStateOptional.get();
- } catch (NoSuchProjectException e) {
- throw new IllegalStateException("Unable to find project while evaluating submit rule", e);
+ if (cd.change() == null) {
+ throw new StorageException("Change not found");
}
- if (change.isClosed() && (!opts.recomputeOnClosedChanges() || OnlineReindexMode.isActive())) {
+ ProjectState projectState =
+ projectCache
+ .get(cd.project())
+ .orElseThrow(
+ () ->
+ new IllegalStateException(
+ "Unable to find project while evaluating submit rule",
+ new NoSuchProjectException(cd.project())));
+
+ if (cd.change().isClosed()
+ && (!opts.recomputeOnClosedChanges() || OnlineReindexMode.isActive())) {
return cd.notes().getSubmitRecords().stream()
.map(
r -> {