
Untitled
By: a guest on
Jun 26th, 2012 | syntax:
Java | size: 1.48 KB | hits: 15 | expires: Never
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext context = servletContextEvent.getServletContext();
ScopedContainers containers = (ScopedContainers) context.getAttribute(ScopedContainers.class.getName());
MutablePicoContainer appContainer = containers.getApplicationContainer();
MutablePicoContainer reqContainer = containers.getRequestContainer();
addAdapters(appContainer, XML_CONFIGURATION_FILE_APP);
addAdapters(reqContainer, XML_CONFIGURATION_FILE_REQ);
}
private void addAdapters(MutablePicoContainer container, final String xmlPath) {
InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(xmlPath);
if(inStream == null) {
throw new PicoContainerWebException("Configuration file not found.");
}
ScriptedContainerBuilder containerBuilder = new XMLContainerBuilder(
new InputStreamReader(inStream),
Thread.currentThread().getContextClassLoader()
);
PicoContainer appCtnr = containerBuilder.buildContainer(null, null, true);
for (ComponentAdapter<?> adapter: appCtnr.getComponentAdapters()) {
container.addAdapter(adapter);
}
try {
inStream.close();
} catch (IOException e) {
throw new PicoContainerWebException("Error while closing configuration file.");
}
}