Bug 162344 [Smoke]Exception is thrown out when drag a chart from library to report
Exception is thrown out when drag a chart from library to report Steps to reproduce: 1. New a library with a chart. 2. New a report, drag the chart item from Library Explorer to Outline->Body. 3. Drag the chart item from library Explorer to Layout. Expected result: The chart Item can be drag to layout and outline. Actual result: In step 2, exception is thrown out: A BIRT exception occurred. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Model Plug-in ID:org.eclipse.birt.report.model Version:2.2.0.v20061026-0635 Error Code:Error.WrongTypeException.WRONG_TYPE Error Message:The parent Chart("NewChart") is different element type with the target Extended item("NewChart"). In step 3, exception is thrown out: An unexpected internal exception occurred.Please see log for detail. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Designer UI Plug-in ID:org.eclipse.birt.report.designer.ui Version:2.2.0.v20061026-0635 Error Code:Library.DND.messages.outofsync Error Message:The lib used in the report might have been changed, please close and reopen this report to use the updated lib.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/ElementFactory.java
*            the optional new element name
	 * @return the handle to the new element.
	 * @throws ExtendsException
	 *             if the the base element is in a library that is not included
	 *             in this module, or if the "extends" relationship is illegal
	 */
	public DesignElementHandle newElementFrom( DesignElementHandle baseElement,
			String name ) throws ExtendsException
	{
		if ( baseElement == null )
			return null;
		
		if ( baseElement.getRoot( ).getElement( ) == module )
			return newElementFrom( name, baseElement );
		
		
		Module root = (Module) baseElement.getRoot( ).getElement( );
		if ( root instanceof Library )
		{
			
			Library lib = module.getLibraryByLocation( root.getLocation( ) );
			if ( lib == null )
			{
				throw new InvalidParentException(
						null,
						baseElement.getElement( ),
						InvalidParentException.DESIGN_EXCEPTION_PARENT_NOT_INCLUDE );
			}
			DesignElement base = lib.getElementByID( baseElement.getID( ) );