summaryrefslogtreecommitdiffstats
path: root/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java')
-rw-r--r--gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
index 0090df8a6e..c0e1eb6826 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/server/SubmoduleSubscriptionAccess.java
@@ -15,6 +15,7 @@
package com.google.gerrit.reviewdb.server;
import com.google.gerrit.reviewdb.client.Branch;
+import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.SubmoduleSubscription;
import com.google.gwtorm.server.Access;
import com.google.gwtorm.server.OrmException;
@@ -31,7 +32,39 @@ public interface SubmoduleSubscriptionAccess extends
ResultSet<SubmoduleSubscription> bySuperProject(Branch.NameKey superProject)
throws OrmException;
+ /**
+ * Fetches all <code>SubmoduleSubscription</code>s in which some branch of
+ * <code>superProject</code> subscribes a branch.
+ *
+ * Use {@link #bySuperproject(Branch.NameKey)} to fetch for a branch instead
+ * of a project.
+ *
+ * @param superProject the project to fetch subscriptions for
+ * @return <code>SubmoduleSubscription</code>s that are subscribed by some
+ * branch of <code>superProject</code>.
+ * @throws OrmException
+ */
+ @Query("WHERE key.superProject.projectName = ?")
+ ResultSet<SubmoduleSubscription> bySuperProjectProject(Project.NameKey superProject)
+ throws OrmException;
+
@Query("WHERE submodule = ?")
ResultSet<SubmoduleSubscription> bySubmodule(Branch.NameKey submodule)
throws OrmException;
+
+ /**
+ * Fetches all <code>SubmoduleSubscription</code>s in which some branch of
+ * <code>submodule</code> is subscribed.
+ *
+ * Use {@link #bySubmodule(Branch.NameKey)} to fetch for a branch instead of
+ * a project.
+ *
+ * @param submodule the project to fetch subscriptions for.
+ * @return <code>SubmoduleSubscription</code>s that subscribe some branch of
+ * <code>submodule</code>.
+ * @throws OrmException
+ */
+ @Query("WHERE submodule.projectName = ?")
+ ResultSet<SubmoduleSubscription> bySubmoduleProject(Project.NameKey submodule)
+ throws OrmException;
}