Servlet servletInstance;
if( servletClass != null) {
try {
servletInstance = (Servlet) servletClass.newInstance();
} catch (InstantiationException ex) {
throw new TestContainerException(ex);
} catch (IllegalAccessException ex) {
throw new TestContainerException(ex);
}
sa.setServletInstance(servletInstance);
}
for(Class<? extends EventListener> eventListener : eventListeners) {
sa.addServletListener(eventListener.getName());
}
// Filter support
if ( filters!=null ) {
try {
for(WebAppDescriptor.FilterDescriptor d : this.filters) {
sa.addFilter(d.getFilterClass().newInstance(), d.getFilterName(), d.getInitParams());
}
} catch (InstantiationException ex) {
throw new TestContainerException(ex);
} catch (IllegalAccessException ex) {
throw new TestContainerException(ex);
}
}
for(String contextParamName : contextParams.keySet()) {
sa.addContextParameter(contextParamName, contextParams.get(contextParamName));