diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java b/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java index da5bb55..4d51f14 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java @@ -154,6 +154,7 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre private static final String VRE_MANAGER = "VRE-Manager"; private static final String VRE_DESIGNER = "VRE-Designer"; + private static final int WAITING_TIME_Seconds = 24; /** * */ @@ -938,8 +939,14 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre log.info("Trying to create VRE Group Folder through Storage Hub ..."); createVRESharedGroupFolder(uman, vreCreated, designer, manager, description); - log.info("--- createVRESharedGroupFolder OK, now assigning the designer and manager to the Site (VRE)"); - + log.info("--- createVRESharedGroupFolder OK, \n " + + "now assigning the designer and manager to the Site (VRE), sleeping "+ WAITING_TIME_Seconds + " seconds to allow operations on Keycloak ..."); + + //the creation of groups on Keycloak is asynchronous, if we send an add user to group before the group is actually created on keycloak it would fails, so we wait + Thread.sleep(WAITING_TIME_Seconds / 2 * 1000); + log.info("\n still waiting ... 10 seconds more ... "); + Thread.sleep(WAITING_TIME_Seconds / 2 * 1000); + RoleManager rm = new LiferayRoleManager(); if (manager.compareTo(currUser) != 0) {