Skip to content

Commit

Permalink
Fix regression after configuration refactoring (#51)
Browse files Browse the repository at this point in the history
Configuration parameters in both web.xml and
Spring configuration are used now
Fix #46
  • Loading branch information
emre-aydin authored Apr 18, 2017
1 parent 2d22aaf commit 82ae1dc
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 32 deletions.
2 changes: 1 addition & 1 deletion src/main/java/com/hazelcast/web/WebFilterConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ private static URL getConfigUrl(final ServletContext ctx, final String configLoc
}

private static String getValue(FilterConfig filterConfig, Properties properties, String paramName) {
if (properties != null) {
if (properties != null && properties.containsKey(paramName)) {
return properties.getProperty(paramName);
} else {
return filterConfig.getInitParameter(paramName);
Expand Down
30 changes: 28 additions & 2 deletions src/test/java/com/hazelcast/wm/test/WebFilterConfigTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

import com.hazelcast.config.InvalidConfigurationException;
import com.hazelcast.web.WebFilterConfig;
import com.hazelcast.wm.test.spring.FilterConfigStub;
import com.hazelcast.wm.test.spring.MapBasedFilterConfig;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
Expand All @@ -17,7 +18,7 @@ public class WebFilterConfigTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();

private FilterConfig emptyFilterConfig = new FilterConfigStub();
private final FilterConfig emptyFilterConfig = new MapBasedFilterConfig();

@Test
public void testInstanceName_withConfigLocation() throws Exception {
Expand Down Expand Up @@ -62,4 +63,29 @@ public void testUseClient_withConfigLocation() throws Exception {

WebFilterConfig.create(emptyFilterConfig, properties);
}

@Test
public void bothServletFilterConfigAndPropertiesAreUsed() throws Exception {
Properties properties = new Properties();
properties.setProperty("cookie-name", "customcookiename");

MapBasedFilterConfig servletFilterConfig = new MapBasedFilterConfig();
servletFilterConfig.setParameter("use-client", "true");

WebFilterConfig webFilterConfig = WebFilterConfig.create(servletFilterConfig, properties);
Assert.assertEquals(true, webFilterConfig.isUseClient());
Assert.assertEquals("customcookiename", webFilterConfig.getCookieName());
}

@Test
public void propertiesOverrideServletFilterConfiguration() throws Exception {
Properties properties = new Properties();
properties.setProperty("cookie-name", "cookie1");

MapBasedFilterConfig servletFilterConfig = new MapBasedFilterConfig();
servletFilterConfig.setParameter("cookie-name", "cookie2");

WebFilterConfig webFilterConfig = WebFilterConfig.create(servletFilterConfig, properties);
Assert.assertEquals("cookie1", webFilterConfig.getCookieName());
}
}
29 changes: 0 additions & 29 deletions src/test/java/com/hazelcast/wm/test/spring/FilterConfigStub.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.hazelcast.wm.test.spring;

import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class MapBasedFilterConfig implements FilterConfig {
private final ServletContext emptyServletContext = new ServletContextStub();
private final Map<String, String> parameters = new HashMap<String, String>();

@Override
public String getFilterName() {
return "filter-1";
}

@Override
public ServletContext getServletContext() {
return emptyServletContext;
}

@Override
public String getInitParameter(String name) {
return parameters.get(name);
}

@Override
public Enumeration<String> getInitParameterNames() {
return new Enumeration<String>() {

private Iterator<String> iterator = parameters.keySet().iterator();

@Override
public boolean hasMoreElements() {
return iterator.hasNext();
}

@Override
public String nextElement() {
return iterator.next();
}
};
}

public void setParameter(String paramName, String paramValue) {
parameters.put(paramName, paramValue);
}
}

0 comments on commit 82ae1dc

Please sign in to comment.