Bug 153040 Template definition should be removed after the report item is deleted
Steps to reproduce: 1.New a report, extends lib.label 2.Convert the label to template report item, and revert it back to the report item 3.Delete the label 4.Remove the included library Expected result: Library can be removed Actual result: A BIRT exception occurred. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Model Plug-in ID:org.eclipse.birt.report.model Version:2.1.0.v20060808-0630 Error Code:Error.LibraryException.LIBRARY_HAS_DESCENDENTS Error Message:The library "Lib" can no be dropped because it has descendents "NewLabel" in the current module.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/metadata/MetaDataDictionary.java
* in the next step.</li>
 * <p>
 * <li><strong>Build </strong>-- The build step completes the process. The
 * build step finds and caches the base type for each element, uses the message
 * IDs to read the actual message from a message catalog, and so on.</li>
 * </ul>
 */
public final class MetaDataDictionary implements IMetaDataDictionary
{
	/**
	 * The one and only metadata dictionary.
	 */
	private static MetaDataDictionary instance = new MetaDataDictionary( );
	/**
	 * Provides the list of design elements keyed by their internal names.
	 */
	private HashMap elementNameMap = new HashMap( );
	/**
	 * Provides the list of extension elements registered in our meta-data keyed
	 * by their internal names.
	 */
	private HashMap extensionNameMap = null;
	/**
	 * Cached link to the style definition. The style definition is frequently
	 * used, and so caching it saves unnecessary lookups.
	 */
	private ElementDefn style = null;
	/**
	 * Information about property types. Keyed by the property type ID numeric
	 * value. See MetaDataConstants for a list of the property types.