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)); } }