callback.copyOverContent(earContext, moduleLocations);
}
// add dependencies declared in the geronimo-application.xml
if (plan instanceof GerApplicationDocument) {
GerApplicationDocument applicationDoc = (GerApplicationDocument) plan;
GerApplicationType geronimoApplication = applicationDoc.getApplication();
GerDependencyType[] dependencies = geronimoApplication.getDependencyArray();
for (int i = 0; i < dependencies.length; i++) {
earContext.addDependency(getDependencyURI(dependencies[i]));
}
}
// each module installs it's files into the output context.. this is differenct for each module type
for (Iterator iterator = modules.iterator(); iterator.hasNext();) {
Module module = (Module) iterator.next();
callback.installModule(getBuilder(module), earContext, module);
}
// give each module a chance to populate the earContext now that a classloader is available
ClassLoader cl = earContext.getClassLoader(repository);
for (Iterator iterator = modules.iterator(); iterator.hasNext();) {
Module module = (Module) iterator.next();
getBuilder(module).initContext(earContext, module, cl);
}
// add gbeans declared in the geronimo-application.xml
if (plan instanceof GerApplicationDocument) {
GerApplicationDocument applicationDoc = (GerApplicationDocument) plan;
GerApplicationType geronimoApplication = applicationDoc.getApplication();
GerGbeanType[] gbeans = geronimoApplication.getGbeanArray();
for (int i = 0; i < gbeans.length; i++) {
GBeanHelper.addGbean(new GerGBeanAdapter(gbeans[i]), cl, earContext);
}
}