Bug 151788 Provide additional ODA runtime hints to the ODA consumer
Some ODA runtime drivers are not able to obtain sufficient metadata on its parameters and result set column. Such metadata is thus needed to be collected at design time, for use by the BIRT ODA consumer. For example, the native data type of a parameter and column is often needed, but is not currently available to the odaconsumer in the Data Engine API runtime hints. This enhancement involves adding the native data type to the Data Engine API, and passing through its value from the ROM Model in report design to the ODA consumer.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/DataSourceAndDataSet.java
import org.eclipse.birt.data.engine.api.IJointDataSetDesign;
import org.eclipse.birt.data.engine.api.IOdaDataSetDesign;
import org.eclipse.birt.data.engine.api.IOdaDataSourceDesign;
import org.eclipse.birt.data.engine.api.IParameterDefinition;
import org.eclipse.birt.data.engine.api.IScriptDataSetDesign;
import org.eclipse.birt.data.engine.api.IScriptDataSourceDesign;
import org.eclipse.birt.data.engine.api.IScriptExpression;
import org.eclipse.birt.data.engine.odaconsumer.ParameterHint;
/**
 * Wrap the design of data source and data set. This class will determins
 * whether the equality of two data sets, which will be used if data set needs
 * to be put into map. To ensure it works correctly, a comprehensive junit test
 * case should be designed for it.
 */
public class DataSourceAndDataSet
{
	
	private IBaseDataSourceDesign dataSourceDesign;
	private IBaseDataSetDesign dataSetDesign;
	private Collection paramterHints;
	private final static int B_FALSE = 0;
	private final static int B_UNKNOWN = 1;
	private final static int B_TRUE = 2;
	/**
	 * @param dataSourceDesign
	 * @param dataSetDesign
	 * @return
	 */
	public static DataSourceAndDataSet newInstance(
			IBaseDataSourceDesign dataSourceDesign,