From 219f0495813af15d9fb6c682386a0dbacca6bdf6 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 5 Jul 2023 18:38:52 +0200 Subject: [PATCH] Updated call to workflow --- .../SystemWorkspaceClientDefinition.java | 4 ++-- .../definition/DefinitionItem.java | 23 ++++++++++++++++++- .../event/CreateSDEvent.java | 21 +++++++++++++---- .../is/InformationSystemUtils.java | 7 ++++-- .../ISTest.java | 2 +- 5 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/SystemWorkspaceClientDefinition.java b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/SystemWorkspaceClientDefinition.java index abf3099..623aceb 100755 --- a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/SystemWorkspaceClientDefinition.java +++ b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/SystemWorkspaceClientDefinition.java @@ -384,10 +384,10 @@ public class SystemWorkspaceClientDefinition extends MVCPortlet { try { String username = clientId; String secret = UUID.randomUUID().toString(); - DefinitionItem definitionItem = new DefinitionItem(clientId, description, username, secret); List scopes=retrieveScopes(userCredentials); + DefinitionItem definitionItem = new DefinitionItem(clientId, description, username, secret,scopes); InformationSystemUtils.publishSD(definitionItem, Constants.SYSTEM_WORKSPACE_CLIENT_CATEGORY, - userCredentials.getCurrentScope(),scopes); + userCredentials.getCurrentScope()); publishCreateSDEvent(definitionItem); SessionMessages.add(actionRequest, "success-definition-created"); actionResponse.setRenderParameter("jspPage", "/html/systemworkspaceclientdefinition/view.jsp"); diff --git a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/definition/DefinitionItem.java b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/definition/DefinitionItem.java index 93e2e61..fea06a6 100755 --- a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/definition/DefinitionItem.java +++ b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/definition/DefinitionItem.java @@ -1,6 +1,7 @@ package org.gcube.portlets.admin.systemworkspaceclientdefinition.definition; import java.io.Serializable; +import java.util.List; /** * @@ -15,12 +16,23 @@ public class DefinitionItem implements Serializable { private String description; private String username; private String secret; + private List contextList; public DefinitionItem(String clientId) { super(); this.clientId = clientId; } + public DefinitionItem(String clientId, String description, String username, String secret, + List contextList) { + super(); + this.clientId = clientId; + this.description = description; + this.username = username; + this.secret = secret; + this.contextList = contextList; + } + public DefinitionItem(String clientId, String description, String username, String secret) { super(); this.clientId = clientId; @@ -61,6 +73,14 @@ public class DefinitionItem implements Serializable { this.secret = secret; } + public List getContextList() { + return contextList; + } + + public void setContextList(List contextList) { + this.contextList = contextList; + } + public static long getSerialversionuid() { return serialVersionUID; } @@ -68,6 +88,7 @@ public class DefinitionItem implements Serializable { @Override public String toString() { return "DefinitionItem [clientId=" + clientId + ", description=" + description + ", username=" + username - + ", secret=" + secret + "]"; + + ", secret=" + secret + ", contextList=" + contextList + "]"; } + } diff --git a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/event/CreateSDEvent.java b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/event/CreateSDEvent.java index ff9ffa4..fe95da9 100755 --- a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/event/CreateSDEvent.java +++ b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/event/CreateSDEvent.java @@ -1,5 +1,7 @@ package org.gcube.portlets.admin.systemworkspaceclientdefinition.event; +import java.util.List; + import org.gcube.portal.event.publisher.lr62.AbstractLR62EventPublisher; import org.gcube.portal.event.publisher.lr62.PortalEvent; import org.gcube.portlets.admin.systemworkspaceclientdefinition.definition.DefinitionItem; @@ -23,15 +25,17 @@ public class CreateSDEvent extends PortalEvent { public static final String NAME = "create_system_workspaceClient"; public static final String CLIENT_ID_ENTRY = "client_id"; - public static final String DESCRIPTION_ENTRY = "description"; + //public static final String DESCRIPTION_ENTRY = "description"; public static final String CLIENT_SECRET_ENTRY = "client_sercret"; + public static final String CLIENT_CONTEXT_LIST = "context_list"; public CreateSDEvent(DefinitionItem definitionItem) { super(NAME); publisher = new CreateSDEventPublisher(); setClientId(definitionItem.getClientId()); - setDescription(definitionItem.getDescription()); + //setDescription(definitionItem.getDescription()); setClientSecret(definitionItem.getSecret()); + setClientContextList(definitionItem.getContextList()); } public void setClientId(String clientId) { @@ -42,13 +46,13 @@ public class CreateSDEvent extends PortalEvent { return (String) get(CLIENT_ID_ENTRY); } - public void setDescription(String description) { + /*public void setDescription(String description) { set(DESCRIPTION_ENTRY, description); } public String getDescription() { return (String) get(DESCRIPTION_ENTRY); - } + }*/ public void setClientSecret(String clientSecret) { set(CLIENT_SECRET_ENTRY, clientSecret); @@ -57,5 +61,14 @@ public class CreateSDEvent extends PortalEvent { public String getClientSecret() { return (String) get(CLIENT_SECRET_ENTRY); } + + public void setClientContextList(List clientContextList) { + set(CLIENT_CONTEXT_LIST, clientContextList.toString()); + } + + public String getClientContextList() { + return (String) get(CLIENT_SECRET_ENTRY); + } + } diff --git a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/is/InformationSystemUtils.java b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/is/InformationSystemUtils.java index 688b0aa..4912010 100755 --- a/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/is/InformationSystemUtils.java +++ b/src/main/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/is/InformationSystemUtils.java @@ -167,7 +167,7 @@ public class InformationSystemUtils { } } - public static void publishSD(DefinitionItem definitionItem, String category, String rootScope, List scopes) throws Exception { + public static void publishSD(DefinitionItem definitionItem, String category, String rootScope) throws Exception { if (definitionItem == null) throw new Exception("Invalid definition: " + definitionItem); @@ -177,6 +177,9 @@ public class InformationSystemUtils { if (rootScope == null || rootScope.isEmpty()) throw new Exception("Invalid scope: " + rootScope); + if (definitionItem == null || definitionItem.getContextList()==null||definitionItem.getContextList().isEmpty()) + throw new Exception("Invalid list of scope: " + definitionItem); + /* * if (token == null || token.isEmpty()) throw new Exception("Invalid token: " + * token); @@ -234,7 +237,7 @@ public class InformationSystemUtils { // logger.debug("Created new RR sent, Got from publisher: id=" + id); ScopedPublisher sp = RegistryPublisherFactory.scopedPublisher(); - toPublish = sp.create(toPublish, scopes); + toPublish = sp.create(toPublish, definitionItem.getContextList()); logger.debug("Created new RR sent, Got from publisher: id=" + toPublish.id()); } catch (Exception e) { diff --git a/src/test/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/ISTest.java b/src/test/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/ISTest.java index 517937b..700bfd0 100755 --- a/src/test/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/ISTest.java +++ b/src/test/java/org/gcube/portlets/admin/systemworkspaceclientdefinition/ISTest.java @@ -48,7 +48,7 @@ public class ISTest { scopes.add(Constants.DEFAULT_SCOPE); InformationSystemUtils.publishSD(definitionItem, Constants.SYSTEM_WORKSPACE_CLIENT_CATEGORY, - Constants.DEFAULT_SCOPE,scopes); + Constants.DEFAULT_SCOPE); assertTrue(true); } catch (Exception e) {