--- hadoop-2.2.0-src-orig/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java 2013-10-06 22:52:19.000000000 -0700 +++ hadoop-2.2.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/amfilter/AmFilterInitializer.java 2013-12-18 16:57:16.190925938 -0800 @@ -29,8 +29,16 @@ import org.apache.hadoop.yarn.webapp.util.WebAppUtils; public class AmFilterInitializer extends FilterInitializer { - private static final String FILTER_NAME = "AM_PROXY_FILTER"; - private static final String FILTER_CLASS = AmIpFilter.class.getCanonicalName(); + private static final String DEFAULT_FILTER_NAME = "AM_PROXY_FILTER"; + private static final Class DEFAULT_FILTER_CLASS = AmIpFilter.class; + + private String filterName = DEFAULT_FILTER_NAME; + private Class filterClass = DEFAULT_FILTER_CLASS; + + public void setFilter(String filterName, Class filterClass) { + this.filterName = filterName; + this.filterClass = filterClass; + } @Override public void initFilter(FilterContainer container, Configuration conf) { @@ -41,7 +49,7 @@ params.put(AmIpFilter.PROXY_URI_BASE, HttpConfig.getSchemePrefix() + proxy + System.getenv(ApplicationConstants.APPLICATION_WEB_PROXY_BASE_ENV)); - container.addFilter(FILTER_NAME, FILTER_CLASS, params); + container.addFilter(filterName, filterClass.getCanonicalName(), params); } }