Handled super client id in plugin installation
Change-Id: Ice83e06c0dd8c8742f2fc60eeb765b12777833ed
diff --git a/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/InstalledPluginDao.java b/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/InstalledPluginDao.java
index 284c0fd..46ac078 100644
--- a/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/InstalledPluginDao.java
+++ b/full/src/main/java/de/ids_mannheim/korap/oauth2/dao/InstalledPluginDao.java
@@ -31,8 +31,8 @@
@PersistenceContext
private EntityManager entityManager;
- public InstalledPlugin storeUserPlugin (OAuth2Client client,
- String installedBy) throws KustvaktException {
+ public InstalledPlugin storeUserPlugin (OAuth2Client superClient,
+ OAuth2Client client, String installedBy) throws KustvaktException {
ParameterChecker.checkStringValue(installedBy, "installed_by");
InstalledPlugin p = new InstalledPlugin();
@@ -40,12 +40,14 @@
p.setInstalledDate(
ZonedDateTime.now(ZoneId.of(Attributes.DEFAULT_TIME_ZONE)));
p.setClient(client);
+ p.setSuperClient(superClient);
entityManager.persist(p);
return p;
}
- public InstalledPlugin retrieveInstalledPlugin (String clientId,
- String installedBy) throws KustvaktException {
+ public InstalledPlugin retrieveInstalledPlugin (String superClientId,
+ String clientId, String installedBy) throws KustvaktException {
+ ParameterChecker.checkStringValue(superClientId, "super_client_id");
ParameterChecker.checkStringValue(clientId, "client_id");
ParameterChecker.checkStringValue(installedBy, "installedBy");
@@ -56,11 +58,15 @@
Root<InstalledPlugin> root = query.from(InstalledPlugin.class);
Join<InstalledPlugin, OAuth2Client> client =
root.join(InstalledPlugin_.client);
+ Join<InstalledPlugin, OAuth2Client> superClient =
+ root.join(InstalledPlugin_.superClient);
query.select(root);
query.where(builder.and(
builder.equal(root.get(InstalledPlugin_.INSTALLED_BY),
installedBy),
- builder.equal(client.get(OAuth2Client_.id), clientId)));
+ builder.equal(client.get(OAuth2Client_.id), clientId),
+ builder.equal(superClient.get(OAuth2Client_.id),
+ superClientId)));
Query q = entityManager.createQuery(query);
try {