void enableJsp(final WebMetaData metadata) {
final WebJspConfigurationElement configuration = containerConfig.getJspConfiguration();
if (configuration != null && configuration.isDisabled()) {
return;
}
final ServletMetaData servlet = new ServletMetaData();
servlet.setName("jsp");
servlet.setLoadOnStartup("" + 3);
servlet.setServletClass("org.apache.jasper.servlet.JspServlet");
final List<ParamValueMetaData> initParams = new ArrayList<ParamValueMetaData>();
if (configuration != null && configuration.isDevelopment() != null)
initParams.add(createParameter("development", String.valueOf(configuration.isDevelopment())));
else
initParams.add(createParameter("development", "false"));
if (configuration != null && configuration.isKeepGenerated() != null)
initParams.add(createParameter("keepgenerated", String.valueOf(configuration.isKeepGenerated())));
else
initParams.add(createParameter("keepgenerated", "true"));
if (configuration != null && configuration.isTrimSpaces() != null)
initParams.add(createParameter("trimSpaces", String.valueOf(configuration.isTrimSpaces())));
else
initParams.add(createParameter("trimSpaces", "false"));
if (configuration != null && configuration.isTagPooling() != null)
initParams.add(createParameter("enablePooling", String.valueOf(configuration.isTagPooling())));
else
initParams.add(createParameter("enablePooling", "true"));
if (configuration != null && configuration.isMappedFile() != null)
initParams.add(createParameter("mappedfile", String.valueOf(configuration.isMappedFile())));
else
initParams.add(createParameter("mappedfile", "true"));
if (configuration != null && configuration.getCheckInterval() != null)
initParams.add(createParameter("checkInterval", String.valueOf(configuration.getCheckInterval())));
else
initParams.add(createParameter("checkInterval", "0"));
if (configuration != null && configuration.getModificationTestInterval() != null)
initParams.add(createParameter("modificationTestIntervale", String.valueOf(configuration.getModificationTestInterval())));
else
initParams.add(createParameter("modificationTestInterval", "4"));
if (configuration != null && configuration.isRecompileOnFail() != null)
initParams.add(createParameter("recompileOnFail", String.valueOf(configuration.isRecompileOnFail())));
else
initParams.add(createParameter("recompileOnFail", "false"));
if (configuration != null && configuration.isSmap() != null) {
if (configuration.isSmap())
initParams.add(createParameter("suppressSmap", "false"));
else
initParams.add(createParameter("suppressSmap", "true"));
} else
initParams.add(createParameter("suppressSmap", "false"));
if (configuration != null && configuration.isDumpSmap() != null)
initParams.add(createParameter("dumpSmap", String.valueOf(configuration.isDumpSmap())));
else
initParams.add(createParameter("dumpSmap", "false"));
if (configuration != null && configuration.isGenerateStringsAsCharArrays() != null)
initParams.add(createParameter("genStringAsCharArray", String.valueOf(configuration.isGenerateStringsAsCharArrays())));
else
initParams.add(createParameter("genStringAsCharArray", "false"));
if (configuration != null && configuration.isErrorOnInvalidClassAttribute() != null)
initParams.add(createParameter("errorOnUseBeanInvalidClassAttribute", String.valueOf(configuration.isErrorOnInvalidClassAttribute())));
else
initParams.add(createParameter("errorOnUseBeanInvalidClassAttribute", "false"));
if (configuration != null && configuration.getScratchDir() != null)
initParams.add(createParameter("scratchdir", String.valueOf(configuration.getScratchDir())));
// jasper will find the right defaults.
if (configuration != null && configuration.getSourceVM() != null)
initParams.add(createParameter("compilerSourceVM", String.valueOf(configuration.getSourceVM())));
else
initParams.add(createParameter("compilerSourceVM", "1.5"));
if (configuration != null && configuration.getTargetVM() != null)
initParams.add(createParameter("compilerTargetVM", String.valueOf(configuration.getTargetVM())));
else
initParams.add(createParameter("compilerTargetVM", "1.5"));
if (configuration != null && configuration.getJavaEncoding() != null)
initParams.add(createParameter("javaEncoding", String.valueOf(configuration.getJavaEncoding())));
else
initParams.add(createParameter("javaEncoding", "UTF8"));
if (configuration != null && configuration.isXPoweredBy() != null)
initParams.add(createParameter("xpoweredBy", String.valueOf(configuration.isXPoweredBy())));
else
initParams.add(createParameter("xpoweredBy", "true"));
if (configuration != null && configuration.isDisplaySourceFragment() != null)
initParams.add(createParameter("displaySourceFragment", String.valueOf(configuration.isDisplaySourceFragment())));
else
initParams.add(createParameter("displaySourceFragment", "true"));
servlet.setInitParam(initParams);
metadata.getServlets().add(servlet);
addServletMapping("jsp", metadata, "*.jsp", "*.jspx");
}