/** * Each instance of this class will have it's own internal registry, that will load (maximum) once each extension class, * depending on whether the extension has been active for one case handled by this Manager. */ public ProjectConfiguratorExtensionManager() { this.extensions = Platform.getExtensionRegistry().getConfigurationElementsFor(EXTENSION_POINT_ID); // Force Eclipse configurator to be 1st int eclipseConfiguratorIndex = 0; while (eclipseConfiguratorIndex < this.extensions.length && !this.extensions[eclipseConfiguratorIndex] .getAttribute("class").equals(EclipseProjectConfigurator.class.getName())) { //$NON-NLS-1$ eclipseConfiguratorIndex++; } if (eclipseConfiguratorIndex != 0 && eclipseConfiguratorIndex < this.extensions.length) { // swap IConfigurationElement tmp = this.extensions[eclipseConfiguratorIndex]; this.extensions[eclipseConfiguratorIndex] = this.extensions[0]; this.extensions[0] = tmp; } this.expressionConverter = new ExpressionConverter(new ElementHandler[] { ElementHandler.getDefault(), new FileExpressionHandler() }); }