Bug 138562 Splite extendsexcpetion to seperate sub class
The suggestion is Parent invalid Cycle extends Different type extends Not top level extends
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/plugin/OdaExtensibilityProvider.java
* @see org.eclipse.birt.report.model.extension.ExtensibilityProvider#checkExtends(org.eclipse.birt.report.model.core.DesignElement)
	 */
	public void checkExtends( DesignElement parent ) throws ExtendsException
	{
		String parentExt = (String) parent.getProperty( null,
				IOdaExtendableElementModel.EXTENSION_ID_PROP );
		assert extensionID != null;
		if ( !extensionID.equalsIgnoreCase( parentExt ) )
			throw new ExtendsException( element, parent,
					ExtendsException.DESIGN_EXCEPTION_WRONG_EXTENSION_TYPE );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.model.extension.IExtendableElement#getExtDefn()
	 */
	public ExtensionElementDefn getExtDefn( )
	{
		if ( extensionID == null )
			return null;
		if ( cachedExtDefn == null )
		{
			cachedExtDefn = new ODAExtensionElementDefn( element.getDefn( ) );
			try
			{
				Property[] properties = null;
				Properties visibilities = null;
				if ( element instanceof OdaDataSource )
				{
					ExtensionManifest manifest = ODAManifestUtil