All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.honeybadger.reporter.config.ServletFilterConfigContext Maven / Gradle / Ivy

There is a newer version: 2.1.2
Show newest version
package io.honeybadger.reporter.config;

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

/**
 * {@link ConfigContext} implementation that reads its configuration from
 * a servlet {@link FilterConfig}.
 *
 * @author Elijah Zupancic
 * @since 1.0.4
 */
public class ServletFilterConfigContext extends MapConfigContext {

    public ServletFilterConfigContext(final FilterConfig filterConfig) {
        super(asMap(filterConfig));
    }

    /**
     * Converts a servlet {@link FilterConfig} to a {@link Map}.
     * @param filterConfig filter configuration to convert
     * @return filter configuration as map
     */
    protected static Map asMap(final FilterConfig filterConfig) {
        Map map = new HashMap<>();
        Enumeration enumeration = filterConfig.getInitParameterNames();

        while (enumeration.hasMoreElements()) {
            String key = enumeration.nextElement();
            if (key == null || key.isEmpty()) continue;
            String value = filterConfig.getInitParameter(key);
            if (value == null || value.isEmpty()) continue;

            map.put(key, value);
        }

        return map;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy