/**
* Enhance default servlet (named {@link Application}) configuration.
*/
private static void addServletWithDefaultConfiguration(final ServletContext sc, final Set<Class<?>> classes)
throws ServletException {
ServletRegistration appReg = sc.getServletRegistration(Application.class.getName());
if (appReg != null && appReg.getClassName() == null) {
final Set<Class<?>> appClasses = getRootResourceAndProviderClasses(classes);
final ResourceConfig resourceConfig = ResourceConfig.forApplicationClass(ResourceConfig.class, appClasses)
.addProperties(getInitParams(appReg))
.addProperties(WebComponent.getContextParams(sc));
final ServletContainer s = new ServletContainer(resourceConfig);
appReg = sc.addServlet(appReg.getName(), s);
((ServletRegistration.Dynamic) appReg).setLoadOnStartup(1);
if (appReg.getMappings().isEmpty()) {
// Error
LOGGER.log(Level.SEVERE, LocalizationMessages.JERSEY_APP_NO_MAPPING(appReg.getName()));
} else {
LOGGER.log(Level.INFO, LocalizationMessages.JERSEY_APP_REGISTERED_CLASSES(appReg.getName(), appClasses));
}
}
}