Bug 209910 Drag the dataset from library, the resultset column number is doubled
Reproduce step: 1. Create one data set in library. 2. Drag it into a report design. 3. Open the data set editor, switch to the output column page, the result set number is doubled. I found there is something wrong in the org.eclipse.birt.report.model.api.util.CompatibilityUtil class. The method addStructures()will add structures list twice when the propHandle is not local.
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/MetaDataPopulator.java
import java.util.List;
import org.eclipse.birt.core.exception.BirtException;
import org.eclipse.birt.data.engine.api.IResultMetaData;
import org.eclipse.birt.report.data.adapter.api.DataAdapterUtil;
import org.eclipse.birt.report.model.api.ColumnHintHandle;
import org.eclipse.birt.report.model.api.ComputedColumnHandle;
import org.eclipse.birt.report.model.api.DataSetHandle;
import org.eclipse.birt.report.model.api.JointDataSetHandle;
import org.eclipse.birt.report.model.api.OdaDataSetHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.ResultSetColumnHandle;
import org.eclipse.birt.report.model.api.ScriptDataSetHandle;
import org.eclipse.birt.report.model.api.elements.structures.ComputedColumn;
import org.eclipse.birt.report.model.api.elements.structures.ResultSetColumn;
/**
 * Retrieve metaData from resultset property.
 *
 */
public class MetaDataPopulator
{
	private static final char RENAME_SEPARATOR = '_';
	private static final String UNNAME_PREFIX = "UNNAMED"; 
	
	/**
	 * populate all output columns in viewer display. The output columns is
	 * retrieved from oda dataset handles's RESULT_SET_PROP and
	 * COMPUTED_COLUMNS_PROP.
	 * 
	 * @throws BirtException
	 */