From a7a1a9b637ab819694c1b239494af19b20ca6055 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Fri, 27 Jan 2017 10:27:18 +0000 Subject: [PATCH] getGroups and getOrganizations now use the newest and fastest ckan-utility-lib's methods which directly query the database git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@141851 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../server/CKANPublisherServicesImpl.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/CKANPublisherServicesImpl.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/CKANPublisherServicesImpl.java index 47226d2..49f96fb 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/CKANPublisherServicesImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/CKANPublisherServicesImpl.java @@ -6,6 +6,8 @@ import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import javax.servlet.http.HttpSession; @@ -490,18 +492,15 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C }else{ DataCatalogue catalogue = getCatalogue(scope); - List ckanGroups = catalogue.getGroups(); - String apiKey = catalogue.getApiKeyFromUsername(username); - - for (CkanGroup ckanGroup : ckanGroups) { - String role = catalogue.getRoleOfUserInGroup(username, ckanGroup.getName(), apiKey); - if(role == null) - continue; - - toReturn.add(new GroupBean(ckanGroup.getTitle(), ckanGroup.getName())); + Map> mapRoleGroup = catalogue.getUserRoleByGroup(username, apiKey); + Set>> set = mapRoleGroup.entrySet(); + for (Entry> entry : set) { + Set> subSet = entry.getValue().entrySet(); + for (Entry subEntry : subSet) { + toReturn.add(new GroupBean(subEntry.getKey().getTitle(), subEntry.getKey().getName())); + } } - httpSession.setAttribute(keyPerScopeGroups, toReturn); } }else{