private SwitchYardComponentExtensionManager() { _extensionsByCategory = new HashMap< ISwitchYardComponentExtension.Category, Collection<ISwitchYardComponentExtension>>(); for (Category category : Category.values()) { _extensionsByCategory.put(category, new ArrayList<ISwitchYardComponentExtension>()); } IExtensionPoint extensionPoint = Platform.getExtensionRegistry() .getExtensionPoint(Activator.PLUGIN_ID, "switchYardComponent"); // $NON-NLS-1$ for (IExtension extension : extensionPoint.getExtensions()) { for (IConfigurationElement element : extension.getConfigurationElements()) { processComponent(element); } } }
private Category parseCategory(IConfigurationElement element) { String categoryString = element.getAttribute("category"); // $NON-NLS-1$ if (categoryString == null || categoryString.length() == 0) { return Category.UNKNOWN; } try { return Category.valueOf(categoryString.toUpperCase()); } catch (Exception e) { Activator.getDefault() .getLog() .log( new Status( Status.ERROR, Activator.PLUGIN_ID, Messages.SwitchYardComponentExtensionManager_InvalidCategoryStatus + element.getContributor().getName() + ", id=" + element.getAttribute("id"))); // $NON-NLS-1$ //$NON-NLS-2$ } return Category.UNKNOWN; }