for (WebInitParam webInitParam : webServlet.initParams()) {
String paramName = webInitParam.name();
if (ServletInitParamMergeHandler.isServletInitParamConfigured(servletName, paramName, mergeContext)) {
continue;
}
ParamValueType newParamValue = targetServlet.addNewInitParam();
newParamValue.addNewDescription().setStringValue(webInitParam.description());
newParamValue.addNewParamName().setStringValue(webInitParam.name());
newParamValue.addNewParamValue().setStringValue(webInitParam.value());
ServletInitParamMergeHandler.addServletInitParam(servletName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext);
}
} else {
//Add a new Servlet
//create servlet element
ServletType newServlet = webApp.addNewServlet();
if (!webServlet.displayName().isEmpty()) {
newServlet.addNewDisplayName().setStringValue(webServlet.displayName());
}
newServlet.addNewServletClass().setStringValue(cls.getName());
newServlet.addNewServletName().setStringValue(servletName);
newServlet.addNewAsyncSupported().setBooleanValue(webServlet.asyncSupported());
if (!webServlet.description().isEmpty()) {
newServlet.addNewDescription().setStringValue(webServlet.description());
}
if (webServlet.loadOnStartup() != -1) {
newServlet.setLoadOnStartup(webServlet.loadOnStartup());
}
for (WebInitParam webInitParam : webServlet.initParams()) {
ParamValueType paramValue = newServlet.addNewInitParam();
paramValue.addNewDescription().setStringValue(webInitParam.description());
paramValue.addNewParamName().setStringValue(webInitParam.name());
paramValue.addNewParamValue().setStringValue(webInitParam.value());
}
if (!webServlet.smallIcon().isEmpty() || !webServlet.largeIcon().isEmpty()) {
IconType iconType = newServlet.addNewIcon();
if (!webServlet.smallIcon().isEmpty()) {
iconType.addNewSmallIcon().setStringValue(webServlet.smallIcon());