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 bd74423  [OPENMEETINGS-2605] test is fixed
bd74423 is described below

commit bd7442324483476ac458fe520c96e631120f01cb
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Wed Apr 7 07:49:57 2021 +0700

    [OPENMEETINGS-2605] test is fixed
---
 .../openmeetings/db/util/ApplicationHelper.java    | 42 +++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
index b8d7919..06d68b4 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
@@ -25,8 +25,12 @@ import static 
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APP
 import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import java.lang.reflect.InvocationTargetException;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
+import javax.servlet.FilterConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
 
@@ -40,6 +44,7 @@ import org.apache.wicket.ThreadContext;
 import org.apache.wicket.mock.MockWebResponse;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.WebSession;
+import org.apache.wicket.protocol.http.WicketFilter;
 import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
 import org.apache.wicket.protocol.http.mock.MockHttpSession;
 import org.apache.wicket.protocol.http.mock.MockServletContext;
@@ -64,7 +69,7 @@ public class ApplicationHelper {
                        try {
                                app = 
(WebApplication)getAppClass().getDeclaredConstructor().newInstance();
                                app.setName(String.format("--%s--", 
UUID.randomUUID())); //temporary name for temporary application
-                               ServletContext sc = new MockServletContext(app, 
null);
+                               final ServletContext sc = new 
MockServletContext(app, null);
                                XmlWebApplicationContext xmlContext = new 
XmlWebApplicationContext();
                                
xmlContext.setConfigLocation("classpath:applicationContext.xml");
                                xmlContext.setServletContext(sc);
@@ -73,6 +78,41 @@ public class ApplicationHelper {
                                app = xmlContext.getBean(WebApplication.class);
                                app.setName(getWicketApplicationName());
                                app.setServletContext(sc);
+                               if (app.getWicketFilter() == null) {
+                                       final FilterConfig filterConfig = new 
FilterConfig() {
+                                               private final Map<String, 
String> initParameters = new HashMap<>();
+                                               {
+                                                       
initParameters.put(WicketFilter.FILTER_MAPPING_PARAM, "/servlet/*");
+                                               }
+
+                                               @Override
+                                               public String getFilterName() {
+                                                       return 
getClass().getName();
+                                               }
+
+                                               @Override
+                                               public ServletContext 
getServletContext() {
+                                                       return sc;
+                                               }
+
+                                               @Override
+                                               public String 
getInitParameter(String s) {
+                                                       return 
initParameters.get(s);
+                                               }
+
+                                               @Override
+                                               public Enumeration<String> 
getInitParameterNames() {
+                                                       throw new 
UnsupportedOperationException("Not implemented");
+                                               }
+                                       };
+                                       WicketFilter filter = new 
WicketFilter() {
+                                               @Override
+                                               public FilterConfig 
getFilterConfig() {
+                                                       return filterConfig;
+                                               }
+                                       };
+                                       app.setWicketFilter(filter);
+                               }
                        } catch (InstantiationException | 
IllegalAccessException | ClassNotFoundException | InvocationTargetException | 
NoSuchMethodException e) {
                                log.error("Failed to create Application");
                        }

Reply via email to