if (filterNames != null) {
List<FilterFactoryBean> filterFactories = new ArrayList<FilterFactoryBean>();
for (String filterName : filterNames) {
FilterFactoryBean filterFactoryBean = filtersByName.get(filterName);
if (filterFactoryBean == null) {
throw new ConfigurationException("Suffix '" + suffix + "' has mapping for filter '" + filterName + "' for which no named filter definition is present in the current module.");
}
filterFactories.add(filterFactoryBean);
}
suffixFiltersMapping.put(suffix, filterFactories);
}
String servletName = contributor.getServletName();
if (servletName != null) {
ServletFactoryBean servletFactoryBean = servletsByName.get(servletName);
if (servletFactoryBean == null) {
throw new ConfigurationException("Suffix '" + suffix + "' has mapping for servlet '" + servletName + "' for which no named servlet definition is present in the current module.");
}
suffixServletMapping.put(suffix, servletFactoryBean);
}
}
} else {
maybeDebug("Module '" + moduleName + "' has no contributions. Looking for servlet matching module name ...");
//if no contributions, first look for servlet whose name is same as module name
FilterFactoryBean filter = null;
ServletFactoryBean servlet = servletsByName.get(this.moduleName);
if (servlet == null) {
maybeDebug("Looking for filter matching module name ...");
//if not found, look for filter whose name is same as module name
filter = filtersByName.get(this.moduleName);
if (filter == null) {
maybeDebug("Looking for single servlet definition ...");
//check that there is only one servlet, if > 1, throw exception
if (servletsByName.size() > 1) {
throw new ConfigurationException("Cannot determine default servlet for module '" + moduleName + "' as more than one servlet is registered for this module.");
}
if (servletsByName.size() == 1) {
servlet = ObjectMapUtils.getFirstValue(servletsByName);
}
if (servlet == null) {
maybeDebug("Looking for single filter definition ...");
//check that there is only one filter, if > 1, throw exception
if (filtersByName.size() > 1) {
throw new ConfigurationException("Cannot determine default filter for module '" + moduleName + "' as more than one filter is registered for this module.");
}
if (filtersByName.size() == 1) {
filter = ObjectMapUtils.getFirstValue(filtersByName);
}
}