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

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 6a3e6fa  [OPENMEETINGS-2071] client base URL is being used for URLs
6a3e6fa is described below

commit 6a3e6fa4fd18d48f050d2abfb452ad904a0e7cfc
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri May 24 10:51:31 2019 +0700

    [OPENMEETINGS-2071] client base URL is being used for URLs
---
 .../apache/openmeetings/web/app/Application.java   | 86 +++++++++++-----------
 1 file changed, 45 insertions(+), 41 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index cb5735e..92ae4f6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -18,14 +18,36 @@
  */
 package org.apache.openmeetings.web.app;
 
-import com.hazelcast.config.XmlConfigBuilder;
-import com.hazelcast.core.Hazelcast;
-import com.hazelcast.core.HazelcastInstance;
-import com.hazelcast.core.ITopic;
-import com.hazelcast.core.Member;
-import com.hazelcast.core.MemberAttributeEvent;
-import com.hazelcast.core.MembershipEvent;
-import com.hazelcast.core.MembershipListener;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getApplicationName;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getChromeExtensionUrl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getContentSecurityPolicy;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getExtProcessTtl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getxFrameOptions;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isInitComplete;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setInitComplete;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
+import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
+import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
+import static 
org.wicketstuff.dashboard.DashboardContextInitializer.DASHBOARD_CONTEXT_KEY;
+
+import java.io.File;
+import java.net.UnknownHostException;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
+import javax.websocket.WebSocketContainer;
+
 import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -110,34 +132,14 @@ import org.wicketstuff.dashboard.web.DashboardContext;
 import org.wicketstuff.dashboard.web.DashboardSettings;
 import org.wicketstuff.datastores.hazelcast.HazelcastDataStore;
 
-import javax.websocket.WebSocketContainer;
-import java.io.File;
-import java.net.UnknownHostException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getApplicationName;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getChromeExtensionUrl;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getContentSecurityPolicy;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getExtProcessTtl;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getxFrameOptions;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isInitComplete;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setInitComplete;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
-import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
-import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
-import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
-import static 
org.wicketstuff.dashboard.DashboardContextInitializer.DASHBOARD_CONTEXT_KEY;
+import com.hazelcast.config.XmlConfigBuilder;
+import com.hazelcast.core.Hazelcast;
+import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.core.ITopic;
+import com.hazelcast.core.Member;
+import com.hazelcast.core.MemberAttributeEvent;
+import com.hazelcast.core.MembershipEvent;
+import com.hazelcast.core.MembershipListener;
 
 @Component
 public class Application extends AuthenticatedWebApplication implements 
IApplication {
@@ -535,12 +537,14 @@ public class Application extends 
AuthenticatedWebApplication implements IApplica
                }
        }
 
-       public static String urlForPage(Class<? extends Page> clazz, 
PageParameters pp, String _baseUrl) {
+       public static boolean isUrlValid(String url) {
+               return new UrlValidator(new String[] {"http", 
"https"}).isValid(url);
+       }
+
+       public static String urlForPage(Class<? extends Page> clazz, 
PageParameters pp, String inBaseUrl) {
                RequestCycle rc = RequestCycle.get();
-               String baseUrl = getBaseUrl();
-               if (!new UrlValidator(new String[] {"http", 
"https"}).isValid(baseUrl) && !Strings.isEmpty(_baseUrl)) {
-                       baseUrl = _baseUrl;
-               }
+               String baseUrl = isUrlValid(inBaseUrl) ? inBaseUrl
+                               : (isUrlValid(getBaseUrl()) ? getBaseUrl() : 
"");
                return rc.getUrlRenderer().renderFullUrl(Url.parse(baseUrl + 
rc.mapUrlFor(clazz, pp)));
        }
 

Reply via email to