This is an automated email from the ASF dual-hosted git repository.

sebawagner pushed a commit to branch 
feature/OPENMEETINGS-2692-update-webapp-path-for-manifest-references
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit 92e19ec9d4705c0124a28ed5a3467e1e54d0ce2c
Author: Sebastian Wagner <seba.wag...@gmail.com>
AuthorDate: Mon Oct 18 19:24:51 2021 +1300

    OPENMEETINGS-2692 Update manifest to get webapp name from base URL config.
---
 .../org/apache/openmeetings/installation/ImportInitvalues.java |  2 +-
 .../org/apache/openmeetings/util/OpenmeetingsVariables.java    |  8 ++++++++
 .../org/apache/openmeetings/webservice/InfoWebService.java     | 10 ++++------
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 507b4c4..2a045ba 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -271,7 +271,7 @@ public class ImportInitvalues {
                                                + "It makes no sense to make 
this(%s) 'true' while "
                                                + "%s is 'false' cause you need 
to send a EMail.", CONFIG_EMAIL_VERIFICATION, CONFIG_EMAIL_AT_REGISTER), 
VER_2_0);
 
-               addCfg(list, CONFIG_APPLICATION_BASE_URL, cfg.getBaseUrl(), 
Configuration.Type.STRING, "Base URL your OPenmeetings installation will be 
accessible at.", "3.0.2");
+               addCfg(list, CONFIG_APPLICATION_BASE_URL, cfg.getBaseUrl(), 
Configuration.Type.STRING, "Base URL your Openmeetings installation will be 
accessible at.", "3.0.2");
 
                // ***************************************
                // ***************************************
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index 20b7e48..cad96b9 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -248,6 +248,14 @@ public class OpenmeetingsVariables {
                return baseUrl;
        }
 
+       public static String getWebappPath() {
+               String webappPath = baseUrl;
+               if (webappPath.endsWith("/")) {
+                       webappPath = webappPath.substring(0, 
webappPath.length() - 1);
+               }
+               return webappPath.substring(webappPath.lastIndexOf("/") + 1);
+       }
+
        public static void setBaseUrl(String url) {
                baseUrl = url;
        }
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
index a80fbdf..7967e1d 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
@@ -20,8 +20,6 @@ package org.apache.openmeetings.webservice;
 
 import static org.apache.openmeetings.webservice.Constants.TNS;
 
-import java.util.Locale;
-
 import javax.jws.WebMethod;
 import javax.jws.WebService;
 import javax.ws.rs.GET;
@@ -49,9 +47,9 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 
 /**
  *
- * The Service contains methods to get info about the system
+ * The Service contains methods to get info about the system and manifest
  *
- * @author solomax
+ * @author solomax, sebawagner
  *
  */
 @Service("infoWebService")
@@ -108,7 +106,7 @@ public class InfoWebService {
                manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
                manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
                manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
-               manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+               manifest.put("start_url", "/" + 
OpenmeetingsVariables.getWebappPath() + "/?pwa=true");
                manifest.put("scope", "/");
                manifest.put("background_color", "#ffffff");
                manifest.put("theme_color", "#ffffff");
@@ -125,7 +123,7 @@ public class InfoWebService {
 
        private JSONObject generateIcon(String name, String dimension, String 
purpose) {
                JSONObject icon = new JSONObject();
-               icon.put("src", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/images/icons/" + name);
+               icon.put("src", "/" + OpenmeetingsVariables.getWebappPath() + 
"/images/icons/" + name);
                icon.put("type", "image/png");
                icon.put("sizes", dimension);
                icon.put("purpose", purpose);

Reply via email to