From fbbfe752e04a447d21b7e152dc143a87f4f899a7 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 15 Oct 2021 16:54:57 +0200 Subject: [PATCH] Added simple progress bar --- .../systemservicedefinition/SessionUtil.java | 6 +- .../SystemServiceDefinition.java | 47 +++++++++------ .../shared/Constants.java | 4 +- src/main/webapp/css/main.css | 19 +++++- .../simpleProgressBar.jsp | 58 +++++++++++++++++++ .../systemservicedefinition/ssd_create.jsp | 35 +++++++---- .../ssd_dialog_progressbar.jsp | 44 ++++++++++++++ .../html/systemservicedefinition/view.jsp | 27 +-------- 8 files changed, 182 insertions(+), 58 deletions(-) create mode 100644 src/main/webapp/html/systemservicedefinition/simpleProgressBar.jsp create mode 100644 src/main/webapp/html/systemservicedefinition/ssd_dialog_progressbar.jsp diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java index a1deb04..f7b6330 100644 --- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java +++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SessionUtil.java @@ -41,7 +41,7 @@ public class SessionUtil { */ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope,accessToken); - logger.info(serviceCredentials.toString()); + logger.debug(serviceCredentials.toString()); return serviceCredentials; } @@ -64,7 +64,7 @@ public class SessionUtil { */ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope, accessToken); - logger.info(serviceCredentials.toString()); + logger.debug(serviceCredentials.toString()); return serviceCredentials; } @@ -88,7 +88,7 @@ public class SessionUtil { */ UserCredentials serviceCredentials = new UserCredentials(userId, username, currentScope, accessToken); - logger.info(serviceCredentials.toString()); + logger.debug(serviceCredentials.toString()); return serviceCredentials; } diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java index 578f847..60db7cc 100644 --- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java +++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/SystemServiceDefinition.java @@ -45,6 +45,7 @@ import com.liferay.util.bridges.mvc.MVCPortlet; * */ public class SystemServiceDefinition extends MVCPortlet { + private static Logger logger = LoggerFactory.getLogger(SystemServiceDefinition.class); private void paramsInfo(ActionRequest actionRequest) { @@ -240,10 +241,14 @@ public class SystemServiceDefinition extends MVCPortlet { } int limit = 0; - if (start + length > recordsFiltered) { - limit = recordsFiltered; + if (length != -1) { + if (start + length > recordsFiltered) { + limit = recordsFiltered; + } else { + limit = start + length; + } } else { - limit = start + length; + limit = recordsFiltered; } ArrayList windowItemsList = new ArrayList<>(); @@ -347,6 +352,16 @@ public class SystemServiceDefinition extends MVCPortlet { PortalUtil.copyRequestParameters(actionRequest, actionResponse); actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/ssd_create.jsp"); break; + } else { + if (clientId.contains(" ")) { + logger.error("Invalid client id: " + clientId); + SessionErrors.add(actionRequest, "error-invalid-clientId-space"); + SessionMessages.add(actionRequest, + PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE); + PortalUtil.copyRequestParameters(actionRequest, actionResponse); + actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/ssd_create.jsp"); + break; + } } String description = ParamUtil.getString(actionRequest, "description"); if (description == null || description.isEmpty()) { @@ -358,6 +373,7 @@ public class SystemServiceDefinition extends MVCPortlet { actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/ssd_create.jsp"); break; } + logger.debug("Requested: [clientId={}, description={}]", clientId, description); try { String username = clientId; @@ -369,7 +385,7 @@ public class SystemServiceDefinition extends MVCPortlet { SessionMessages.add(actionRequest, "success-definition-created"); actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp"); } catch (Exception e) { - logger.error(e.getLocalizedMessage(),e); + logger.error(e.getLocalizedMessage(), e); SessionErrors.add(actionRequest, "error-create-definition"); SessionMessages.add(actionRequest, PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE); @@ -393,8 +409,6 @@ public class SystemServiceDefinition extends MVCPortlet { } - - public void editDefinition(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { @SuppressWarnings("unused") UserCredentials userCredentials; @@ -455,8 +469,7 @@ public class SystemServiceDefinition extends MVCPortlet { } paramsInfo(actionRequest); - - + logger.debug("Delete Request"); String clientId = ParamUtil.getString(actionRequest, "clientId"); if (clientId == null || clientId.isEmpty()) { @@ -468,9 +481,9 @@ public class SystemServiceDefinition extends MVCPortlet { actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp"); return; } - + try { - DefinitionItem definitionItem=new DefinitionItem(clientId); + DefinitionItem definitionItem = new DefinitionItem(clientId); InformationSystemUtils.deleteSSD(definitionItem, Constants.SYSTEM_SERVICE_CATEGORY, userCredentials.getCurrentScope()); publishDeleteSSDEvent(definitionItem); @@ -478,41 +491,39 @@ public class SystemServiceDefinition extends MVCPortlet { actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp"); } catch (Exception e) { - logger.error(e.getLocalizedMessage(),e); + logger.error(e.getLocalizedMessage(), e); SessionErrors.add(actionRequest, "error-delete-definition"); SessionMessages.add(actionRequest, PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE); actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp"); } - + } - - private void publishCreateSSDEvent(DefinitionItem definitionItem) { logger.debug("Trying to send the event to create System Service"); CreateSSDEvent toCreate = new CreateSSDEvent(definitionItem); toCreate.publisher.publish(toCreate); logger.info("Done send create event " + toCreate.getName() + " for " + toCreate.getUser()); try { - Thread.sleep(2000); + Thread.sleep(Constants.SLEEP_TIME); } catch (InterruptedException e) { } } - + private void publishDeleteSSDEvent(DefinitionItem definitionItem) { logger.debug("Trying to send the event to delete System Service"); DeleteSSDEvent toDelete = new DeleteSSDEvent(definitionItem); toDelete.publisher.publish(toDelete); logger.info("Done send delete event " + toDelete.getName() + " for " + toDelete.getUser()); try { - Thread.sleep(2000); + Thread.sleep(Constants.SLEEP_TIME); } catch (InterruptedException e) { } } - + /* * private void createDefinition(ResourceRequest resourceRequest, * ResourceResponse resourceResponse, UserCredentials userCredentials) throws diff --git a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/shared/Constants.java b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/shared/Constants.java index 372955b..3bbeebf 100644 --- a/src/main/java/org/gcube/portlets/admin/systemservicedefinition/shared/Constants.java +++ b/src/main/java/org/gcube/portlets/admin/systemservicedefinition/shared/Constants.java @@ -12,7 +12,6 @@ public class Constants { public static final String DEFAULT_SCOPE = "/gcube"; public static final String DEFAULT_TOKEN = ""; - public static final String DEFAULT_ROLE = "OrganizationMember"; // Session @@ -22,6 +21,7 @@ public class Constants { public static final String SOCIAL_NETWORKING_NAME = "SocialNetworking"; public static final String SOCIAL_NETWORKING_CATEGORY = "Portal"; + // SSD Services Endpoint public static final String SYSTEM_SERVICE_CATEGORY = "SystemService"; @@ -29,5 +29,7 @@ public class Constants { public static final String IAM_SERVICE_NAME = "IAM"; public static final String IAM_SERVICE_CATEGORY = "Auth"; + // SLEEP TIME + public static final int SLEEP_TIME = 5000; } diff --git a/src/main/webapp/css/main.css b/src/main/webapp/css/main.css index 2960ff7..d8f7559 100644 --- a/src/main/webapp/css/main.css +++ b/src/main/webapp/css/main.css @@ -149,4 +149,21 @@ .system-service-definition-portlet .dataTables_wrapper .dataTables_length select option:checked { background: #50a2f5; -} \ No newline at end of file +} + +.system-service-definition-portlet #simpleProgress { + width: 100%; + background-color: #ddd; + visibility: hidden; +} + +.system-service-definition-portlet #simpleBar { + width: 30%; + height: 20px; + background-color: #50a2f5; + text-align: center; + line-height: 20px; + color: white; +} + + diff --git a/src/main/webapp/html/systemservicedefinition/simpleProgressBar.jsp b/src/main/webapp/html/systemservicedefinition/simpleProgressBar.jsp new file mode 100644 index 0000000..507984e --- /dev/null +++ b/src/main/webapp/html/systemservicedefinition/simpleProgressBar.jsp @@ -0,0 +1,58 @@ + +
+
+
+ + + diff --git a/src/main/webapp/html/systemservicedefinition/ssd_create.jsp b/src/main/webapp/html/systemservicedefinition/ssd_create.jsp index 025e730..e639c66 100644 --- a/src/main/webapp/html/systemservicedefinition/ssd_create.jsp +++ b/src/main/webapp/html/systemservicedefinition/ssd_create.jsp @@ -1,28 +1,43 @@ <%@include file="init.jsp"%> - - + + + +
- - Client Id: ">
- - Description: ">
+
- + + onclick="cancel()">Cancel
+
+ +<%@include file="simpleProgressBar.jsp" %> + diff --git a/src/main/webapp/html/systemservicedefinition/ssd_dialog_progressbar.jsp b/src/main/webapp/html/systemservicedefinition/ssd_dialog_progressbar.jsp new file mode 100644 index 0000000..9581c47 --- /dev/null +++ b/src/main/webapp/html/systemservicedefinition/ssd_dialog_progressbar.jsp @@ -0,0 +1,44 @@ +<%@include file="init.jsp"%> + + + + + + + +
+ + +
+ +AUI().use('aui-base', + 'aui-io-plugin-deprecated', + 'liferay-util-window', + function(A) { + var popUpWindow=Liferay.Util.Window.getWindow( + { + dialog: { + centered: true, + constrain2view: true, + //cssClass: 'yourCSSclassName', + modal: true, + resizable: false, + width: 475 + } + } + ).plug( + A.Plugin.IO, + { + autoLoad: false + } + ).render(); + popUpWindow.show(); + popUpWindow.titleNode.html("Loading"); + popUpWindow.io.set('uri','<%=ssdDialogCreateContent%>'); + popUpWindow.io.start(); + }); +}); + diff --git a/src/main/webapp/html/systemservicedefinition/view.jsp b/src/main/webapp/html/systemservicedefinition/view.jsp index c54fb18..b6efafb 100644 --- a/src/main/webapp/html/systemservicedefinition/view.jsp +++ b/src/main/webapp/html/systemservicedefinition/view.jsp @@ -37,7 +37,7 @@ pageContext.setAttribute("currentUsername", currentUsername); - +

Use this portlet to automatically create or delete System Services.

@@ -46,29 +46,6 @@ pageContext.setAttribute("currentUsername", currentUsername); - - - -<%-- -
- - - -
- - --%> - - - - -<%-- <%@include file="ssd_dialog.jsp" %> --%> @@ -200,7 +177,7 @@ attr: { function mainTable() { var table = $('#definitionsTable').DataTable( { retrieve: true, // tell DataTables that you are aware that the initialisation options can't be changed after initialisation, and that should that occur, that you just want the DataTable instance to be returned. - "lengthMenu": [ [5, 12, 25, 50, -1], [5, 12, 25, 50, "All"] ], + "lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ], "dom": "<'row'<'small-6 columns'Bf>r>t<'row'<'mydt-pagination'p><'#mydtwrap'<'mydt-block'l>>'>", select: { style: 'single'