From b7874365a311055cdfd578776c8552cf5f5f7cfc Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Thu, 12 Apr 2018 14:22:27 +0100
Subject: [PATCH] Expose getMessageIds() through DatabaseComponent interface.

---
 .../briarproject/bramble/api/db/DatabaseComponent.java   | 8 ++++++++
 .../briarproject/bramble/db/DatabaseComponentImpl.java   | 9 +++++++++
 2 files changed, 17 insertions(+)

diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java
index ea05938d49..8835b75262 100644
--- a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java
+++ b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java
@@ -266,6 +266,14 @@ public interface DatabaseComponent {
 	 */
 	Collection<LocalAuthor> getLocalAuthors(Transaction txn) throws DbException;
 
+	/**
+	 * Returns the IDs of all messages in the given group.
+	 * <p/>
+	 * Read-only.
+	 */
+	Collection<MessageId> getMessageIds(Transaction txn, GroupId g)
+		throws DbException;
+
 	/**
 	 * Returns the IDs of any messages that need to be validated.
 	 * <p/>
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java
index aaab4b9dd8..3661039aa8 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java
@@ -466,6 +466,15 @@ class DatabaseComponentImpl<T> implements DatabaseComponent {
 		return db.getLocalAuthors(txn);
 	}
 
+	@Override
+	public Collection<MessageId> getMessageIds(Transaction transaction,
+			GroupId g) throws DbException {
+		T txn = unbox(transaction);
+		if (!db.containsGroup(txn, g))
+			throw new NoSuchGroupException();
+		return db.getMessageIds(txn, g);
+	}
+
 	@Override
 	public Collection<MessageId> getMessagesToValidate(Transaction transaction)
 			throws DbException {
-- 
GitLab