else {    String oldOdaXmlName = "org.eclipse.birt.report.data.oda.xml.dataSet" ; String newOdaXmlName = "org.eclipse.datatools.enablement.oda.xml.dataSet" ;  if( oldOdaXmlName.equals( extensionID )) { extensionID = newOdaXmlName; } }
	private void parseODADataSetExtensionID( Attributes attrs,			boolean extensionNameRequired )	{		String extensionID = getAttrib( attrs,				DesignSchemaConstants.EXTENSION_ID_ATTRIB );		if ( StringUtil.isBlank( extensionID ) )		{			if ( !extensionNameRequired )				return;			SemanticError e = new SemanticError( element,					SemanticError.DESIGN_EXCEPTION_MISSING_EXTENSION );			RecoverableError.dealMissingInvalidExtension( handler, e );			return;		}		if ( handler.versionNumber < VersionUtil.VERSION_3_0_0 )		{			if ( OBSOLETE_FLAT_FILE_ID.equalsIgnoreCase( extensionID ) )				extensionID = NEW_FLAT_FILE_ID;		}		else		{			// after version 3.2.7 , add convert fuction.			// TODO in the future if needs , maybe can increase version number.			String oldOdaXmlName = "org.eclipse.birt.report.data.oda.xml.dataSet" ; //$NON-NLS-1$			String newOdaXmlName = "org.eclipse.datatools.enablement.oda.xml.dataSet" ; //$NON-NLS-1$						if( oldOdaXmlName.equals( extensionID ))			{				extensionID = newOdaXmlName;			}		}		setProperty( IOdaExtendableElementModel.EXTENSION_ID_PROP, extensionID );		provider = ( (OdaDataSet) element ).getProvider( );		if ( provider == null )			return;		if ( provider instanceof OdaDummyProvider )		{			SemanticError e = new SemanticError( element,					new String[]{extensionID},					SemanticError.DESIGN_EXCEPTION_EXTENSION_NOT_FOUND );			RecoverableError.dealMissingInvalidExtension( handler, e );			isValidExtensionId = false;		}	}