private void readExtensionRegistry() { EclipseUtil.processConfigurationElements( SamplesPlugin.PLUGIN_ID, EXTENSION_POINT, new IConfigurationElementProcessor() { public void processElement(IConfigurationElement element) { readElement(element); } }, ELEMENT_CATEGORY, ELEMENT_SAMPLESINFO); }
private void loadExtension() { EclipseUtil.processConfigurationElements( UsagePlugin.PLUGIN_ID, EXTENSION_POINT_ID, new IConfigurationElementProcessor() { public void processElement(IConfigurationElement element) { String name = element.getName(); if (ELEMENT_INFO.equals(name)) { String appId = element.getAttribute(ATTR_APP_ID); if (StringUtil.isEmpty(appId)) { return; } String appName = element.getAttribute(ATTR_APP_NAME); if (StringUtil.isEmpty(appName)) { return; } String appGuid = element.getAttribute(ATTR_APP_GUID); if (StringUtil.isEmpty(appGuid)) { return; } String versionPluginId = element.getAttribute(ATTR_VERSION_PLUGIN_ID); if (StringUtil.isEmpty(versionPluginId)) { return; } String userAgent = element.getAttribute(ATTR_USER_AGENT); if (StringUtil.isEmpty(userAgent)) { return; } IAnalyticsUserManager userManager = null; String userManagerClass = element.getAttribute(ATTR_USER_MANAGER); if (!StringUtil.isEmpty(userManagerClass)) { try { Object clazz = element.createExecutableExtension(ATTR_USER_MANAGER); if (clazz instanceof IAnalyticsUserManager) { userManager = (IAnalyticsUserManager) clazz; } } catch (CoreException e) { IdeLog.logError(UsagePlugin.getDefault(), e); } } analyticsInfoMap.put( appId, new AnalyticsInfo( appId, appName, appGuid, versionPluginId, userAgent, userManager)); } else if (ELEMENT_ANALYTICS.equals(name)) { String id = element.getAttribute(ATTR_ID); if (StringUtil.isEmpty(id)) { return; } String infoId = element.getAttribute(ATTR_INFO); if (StringUtil.isEmpty(infoId)) { return; } AnalyticsInfo info = analyticsInfoMap.get(infoId); if (info == null) { return; } String overridesId = element.getAttribute(ATTR_OVERRIDES); analyticsMap.put(id, new Analytics(info, overridesId)); } } }, ELEMENT_INFO, ELEMENT_ANALYTICS); Set<String> keys = analyticsMap.keySet(); Analytics analytics; for (String key : keys) { analytics = analyticsMap.get(key); if (analytics.overridesId != null && analyticsMap.containsKey(analytics.overridesId)) { // replaces the overridden analytics info analyticsMap.put(analytics.overridesId, analytics); } } }