webAppInfo.securityRoles.add(securityRole.getRoleName().trim());
}
Map<String, ServletInfo> servletMap = new HashMap<String, ServletInfo>();
for (Servlet servlet : webApp.getServlet()) {
ServletInfo servletInfo;
if (servlet.getServletClass() != null) {
servletInfo = webAppInfoFactory.newServletInfo();
servletInfo.servletClass = servlet.getServletClass();
} else if (servlet.getJspFile() != null) {
servletInfo = webAppInfoFactory.newJspInfo(servlet.getJspFile());
} else {
problems.add("\nNo servlet class or jsp file for servlet " + servlet.getServletName());
continue;
}
servletInfo.servletName = servlet.getServletName();
if (servlet.getAsyncSupported() != null) {
servletInfo.asyncSupported = servlet.getAsyncSupported();
}
servletInfo.loadOnStartup = servlet.getLoadOnStartup();
if (servlet.getRunAs() != null) {
servletInfo.runAsRole = servlet.getRunAs().getRoleName().trim();
}
if (servlet.getMultipartConfig() != null) {
MultipartConfig multipartConfig = servlet.getMultipartConfig();
MultipartConfigInfo multipartConfigInfo = new MultipartConfigInfo();
multipartConfigInfo.location = multipartConfig.getLocation();
multipartConfigInfo.maxFileSize = multipartConfig.getMaxFileSize();
multipartConfigInfo.maxRequestSize = multipartConfig.getMaxRequestSize();
multipartConfigInfo.fileSizeThreshold = multipartConfig.getFileSizeThreshold();
servletInfo.multipartConfigInfo = multipartConfigInfo;
}
addParams(servlet.getInitParam(), servletInfo.initParams);
for (SecurityRoleRef securityRoleRef : servlet.getSecurityRoleRef()) {
SecurityRoleRefInfo securityRoleRefInfo = new SecurityRoleRefInfo();
if (securityRoleRef.getRoleLink() != null) {
securityRoleRefInfo.roleLink = securityRoleRef.getRoleLink().trim();
}
securityRoleRefInfo.roleName = securityRoleRef.getRoleName().trim();
servletInfo.securityRoleRefs.add(securityRoleRefInfo);
}
webAppInfo.servlets.add(servletInfo);
servletMap.put(servletInfo.servletName, servletInfo);
}
for (ServletMapping servletMapping : webApp.getServletMapping()) {
String servletName = servletMapping.getServletName().trim();
ServletInfo servletInfo = servletMap.get(servletName);
if (servletInfo == null) {
problems.add("\nNo servlet matching servlet mappings for " + servletName);
} else {
normalizeUrlPatterns(servletMapping.getUrlPattern(), servletInfo.servletMappings);
}