/** Returns a collection of dataSetUI elements in the given extension. */ private Hashtable getDataSetUIElements(IExtension extension) throws OdaException { Hashtable dataSetElements = new Hashtable(); IConfigurationElement[] configElements = UIManifestExplorer.getNamedElements(extension, DATA_SET_ELEMENT_NAME); for (int i = 0, size = configElements.length; i < size; i++) { IConfigurationElement configElement = configElements[i]; String dataSetId = configElement.getAttribute("id"); // $NON-NLS-1$ // if duplicated data set ids exist in the extension, // only the last one applies dataSetElements.put(dataSetId, new DataSetUIElement(configElement)); } if (dataSetElements.size() < 1) // expects one or more throw new OdaException( Messages.bind(Messages.manifest_dataSetUi_missingElement, DATA_SET_ELEMENT_NAME)); return dataSetElements; }