try {
BeansProject beansProject = new BeansProject(model, project);
model.addProject(beansProject);
beansProject.getConfigs();
IJobManager jobMan = Job.getJobManager();
jobMan.join("populateAutoConfigsJobFamily", null);
Set<IBeansConfig> configs = beansProject.getConfigs();
assertEquals(1, configs.size());
Set<String> autoConfigs = beansProject.getAutoConfigNames();
assertEquals(1, autoConfigs.size());
List<BeansConfigLocatorDefinition> definitions = BeansConfigLocatorFactory.getBeansConfigLocatorDefinitions();
BeansConfigLocatorDefinition webAppAutoConfigurator = null;
for (BeansConfigLocatorDefinition definition : definitions) {
if (definition.getId().equals("webAppBeansConfigLocator")) {
webAppAutoConfigurator = definition;
}
}
assertNotNull(webAppAutoConfigurator);
// disable the configurator
webAppAutoConfigurator.setEnabled(false, project);
beansProject.getConfigs();
jobMan.join("populateAutoConfigsJobFamily", null);
configs = beansProject.getConfigs();
assertEquals(0, configs.size());
autoConfigs = beansProject.getAutoConfigNames();
assertEquals(0, autoConfigs.size());
// enable the configurator again
webAppAutoConfigurator.setEnabled(true, project);
beansProject.getConfigs();
jobMan.join("populateAutoConfigsJobFamily", null);
configs = beansProject.getConfigs();
assertEquals(1, configs.size());
autoConfigs = beansProject.getAutoConfigNames();