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/command/ContentCommand.java
if ( hasDescendents( oldElement, slotID ) )
		{
			throw new ContentException( oldElement, slotID,
					ContentException.DESIGN_EXCEPTION_HAS_DESCENDENTS );
		}
		
		ContentReplaceRecord replaceRecord = new TemplateTransformRecord(
				module, element, slotID, oldElement, newElement );
		ActivityStack stack = getActivityStack( );
		stack.startFilterEventTrans( replaceRecord.getLabel( ) );
		try
		{
			doDelectAction( oldElement, unresolveReference );
			
			TemplateCommand cmd = new TemplateCommand( module, element );
			cmd.checkAdd( newElement, slotID );
			
			stack.execute( replaceRecord );
			addElementNames( newElement );
		}
		catch ( ContentException e )
		{
			stack.rollback( );
			throw e;
		}
		catch ( NameException e )
		{
			stack.rollback( );
			throw e;
		}