Add private method getParentUuids
This remove duplicated code.
Solves: Jira GER-1545
Change-Id: I6c7cfda9e9c533abe1d94fb27baebc6eddb8c427
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
index 4e71eb1..f4db832 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
@@ -214,15 +214,6 @@
throw new EiffelEventIdLookupException(
"Unable to find SCC event id: %s", create.key.copy(SCC));
}
- List<UUID> scsParentEventIds = Lists.newArrayList();
- for (RevCommit parent : create.commit.getParents()) {
- Optional<UUID> parentUuid = eventHub.getExistingId(create.key.copy(parent.getName()));
- if (parentUuid.isPresent()) {
- scsParentEventIds.add(parentUuid.get());
- } else {
- exceptionForMissingParent(create, parent);
- }
- }
pushToHub(
mapper.toScs(
create.commit,
@@ -230,7 +221,7 @@
create.key.branch(),
create.submitter,
create.submittedAt,
- scsParentEventIds,
+ getParentUuids(create.key, create.commit),
sccId.get()));
}
}
@@ -445,18 +436,10 @@
while (commitFinder.hasNext()) {
EventCreate job = commitFinder.next();
logger.atFine().log("Processing event-creation for: %s", job.key);
- List<UUID> parentIds = Lists.newArrayList();
- for (RevCommit parent : job.commit.getParents()) {
- SourceChangeEventKey parentKey = scc.copy(parent.getName());
- Optional<UUID> parentId = eventHub.getExistingId(parentKey);
- if (parentId.isPresent()) {
- parentIds.add(parentId.get());
- } else {
- exceptionForMissingParent(job, parent);
- }
- }
try {
- pushToHub(mapper.toScc(job.commit, job.key.repo(), job.key.branch(), parentIds));
+ pushToHub(
+ mapper.toScc(
+ job.commit, job.key.repo(), job.key.branch(), getParentUuids(job.key, job.commit)));
} catch (InterruptedException e) {
logger.atSevere().log("Interrupted while pushing %s to EventHub.", job.key);
throw e;
@@ -478,11 +461,26 @@
}
}
- private void exceptionForMissingParent(EventCreate create, RevCommit parent)
+ private List<UUID> getParentUuids(SourceChangeEventKey key, RevCommit commit)
+ throws NoSuchEntityException, EiffelEventIdLookupException {
+ List<UUID> parentIds = Lists.newArrayList();
+ for (RevCommit parent : commit.getParents()) {
+ SourceChangeEventKey parentKey = key.copy(parent.getName());
+ Optional<UUID> parentId = eventHub.getExistingId(parentKey);
+ if (parentId.isPresent()) {
+ parentIds.add(parentId.get());
+ } else {
+ exceptionForMissingParent(key, parent);
+ }
+ }
+ return parentIds;
+ }
+
+ private void exceptionForMissingParent(SourceChangeEventKey key, RevCommit parent)
throws NoSuchEntityException {
throw new NoSuchEntityException(
String.format(
"Unable to lookup parent (%s) event UUID for %s even though it should exist.",
- parent.abbreviate(7).name(), create.key));
+ parent.abbreviate(7).name(), key));
}
}