proxyFactory = new ExtensibleProxyFactory(proxyFactories);
workScheduler = utilities.getUtility(WorkScheduler.class);
// Load the system definitions.xml from all of the loaded extension points
DefinitionsProviderExtensionPoint definitionsProviders =
extensionPoints.getExtensionPoint(DefinitionsProviderExtensionPoint.class);
DefinitionsFactory definitionsFactory = modelFactories.getFactory(DefinitionsFactory.class);
systemDefinitions = definitionsFactory.createDefinitions();
// aggregate all the definitions into a single definitions model
try {
for (DefinitionsProvider definitionsProvider : definitionsProviders.getDefinitionsProviders()) {
DefinitionsUtil.aggregate(definitionsProvider.getDefinitions(), systemDefinitions);
}
} catch (DefinitionsProviderException e) {
throw new IllegalStateException(e);
}