From 661bb85b94f5b19b5e4da71651378010ea8118aa Mon Sep 17 00:00:00 2001 From: Bruce Zu Date: Tue, 17 Apr 2012 14:21:44 +0800 Subject: [PATCH] Add parent(s) revision information to output of query. Add parent(s) revision information to output of query options: '--patch-sets' and '--current-patch-set'. Change-Id: Iae3f520c1cb541482d65887a186f693e34a28e3f --- .../gerrit/server/events/EventFactory.java | 17 +++++++++++++++++ .../gerrit/server/events/PatchSetAttribute.java | 17 +++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java index 4d34b716f1..c538aa62cd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java @@ -39,6 +39,8 @@ import com.google.inject.Provider; import com.google.inject.Singleton; import org.eclipse.jgit.lib.ObjectId; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collection; @@ -48,6 +50,7 @@ import javax.annotation.Nullable; @Singleton public class EventFactory { + private static final Logger log = LoggerFactory.getLogger(EventFactory.class); private final AccountCache accountCache; private final Provider urlProvider; private final ApprovalTypes approvalTypes; @@ -273,6 +276,20 @@ public class EventFactory { p.ref = patchSet.getRefName(); p.uploader = asAccountAttribute(patchSet.getUploader()); p.createdOn = patchSet.getCreatedOn().getTime() / 1000L; + try { + final ReviewDb db = schema.open(); + try { + p.parents = new ArrayList(); + for (PatchSetAncestor a : db.patchSetAncestors().ancestorsOf( + patchSet.getId())) { + p.parents.add(a.getAncestorRevision().get()); + } + } finally { + db.close(); + } + } catch (OrmException e) { + log.error("Cannot load patch set data for " + patchSet.getId(), e); + } return p; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/events/PatchSetAttribute.java b/gerrit-server/src/main/java/com/google/gerrit/server/events/PatchSetAttribute.java index dca44384ca..f726ce3085 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/events/PatchSetAttribute.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/events/PatchSetAttribute.java @@ -17,13 +17,14 @@ package com.google.gerrit.server.events; import java.util.List; public class PatchSetAttribute { - public String number; - public String revision; - public String ref; - public AccountAttribute uploader; - public Long createdOn; + public String number; + public String revision; + public List parents; + public String ref; + public AccountAttribute uploader; + public Long createdOn; - public List approvals; - public List comments; - public List files; + public List approvals; + public List comments; + public List files; }