OdaDataSourceDesign dteSource = new OdaDataSourceDesign( source.getName() );
OdaDataSourceDesign dteSource = new OdaDataSourceDesign( source.getQualifiedName() );
    IOdaDataSourceDesign newExtendedDataSource( OdaDataSourceHandle source ) throws EngineException    {        OdaDataSourceDesign dteSource = new OdaDataSourceDesign( source.getName() );                // Adapt base class properties        adaptBaseDataSource( source, dteSource );                // Adapt extended data source elements                // validate that a required attribute is specified        String driverName = source.getExtensionID();        if ( driverName == null || driverName.length() == 0 )        {            throw new EngineException( "Missing extenion id in data source definition, " + source.getName() ); //$NON-NLS-1$        }        dteSource.setExtensionID( driverName );        // static ROM properties defined by the ODA driver extension        Map staticProps = getExtensionProperties( source, 			                	source.getExtensionPropertyDefinitionList() );	    if ( staticProps != null && ! staticProps.isEmpty() )	    {	    	        Iterator propNamesItr = staticProps.keySet().iterator();	        while ( propNamesItr.hasNext() )	        {	            Object propName = propNamesItr.next();	            assert ( propName != null && propName instanceof String );	        	            String propValue = (String) staticProps.get( propName );	                        try                {	                    dteSource.addPublicProperty( (String) propName, propValue );                }                catch ( BirtException e )                {                    throw new EngineException( e.getMessage() );                }	        }	    }        // private driver properties / private runtime data        Iterator elmtIter = source.privateDriverPropertiesIterator();        if ( elmtIter != null )        {            while ( elmtIter.hasNext() )            {                ExtendedPropertyHandle modelProp = (ExtendedPropertyHandle) elmtIter.next();                try                {                    dteSource.addPrivateProperty( modelProp.getName(), modelProp.getValue() );                }                catch ( BirtException e )                {                    throw new EngineException( e.getMessage() );                }            }        }                return dteSource;    }