Bug 129569 HCG_BIDI: Undesirable order of BiDI chars in Query window
This is BiDI specific defect. It is similar to another defect in which similar problem is reported for Expression Builder dialog. However in this defect we are talking about context of Query screen in the Edit Data Set dialog. Capital characters used in the examples below stay for BiDi (Hebrew or Arabic) characters. 1. Create DB2 data base 2. Create user with Latin name (e.g. tomer) 3. Create table under this user with mixed Latin and BiDI name (e.g. tomerREMOT) 4. Make sure that this table has columns with BiDi name (e.g. "EMAN_NMULOC") 5. Create Data Source based on the DB from 1 6. Create Data Set based on the table from 3 7. Add column name from 4 to the select portion of the SQL query 8. Add table name from 3 to the from portion of SQL query 9. Add following condition to the where portion of SQL query: tomer.tomerREMOT.EMAN_NMULOC != 'OLLEH world' Expected results: 1. select tomer.tomerREMOT.EMAN_NMULOC 2. from tomer.tomerREMOT 3. where tomer.tomerREMOT.EMAN_NMULOC != 'OLLEH world' Actual results: 1. select tomer.tomerEMAN_NMULOC.REMOT 2. from tomer.tomerREMOT 3. where tomer.tomerOLLEH' =! EMAN_NMULOC.REMOT world' As you can see in the 1st and 3rd rows the order of characters is completely ruined such that it is impossible to read the query. In the 1st row the name of column and part of table name are switched. In the 3rd row part of the constant , table name and column name are mixed.
data/org.eclipse.birt.report.data.oda.jdbc.ui/src/org/eclipse/birt/report/data/oda/jdbc/ui/editors/SQLDataSetEditorPage.java
schemaObjectList.add( schemaObj );
			}
			TreeItem[] items = Utility.createTreeItems( rootNode,
					schemaObjectList,
					SWT.NONE,
					schemaImage );
			if ( items != null && items.length > 0 )
			{
				availableDbObjectsTree.showItem( items[0] );
			}
		}
	}
	
	/*
	 * Sets the Root Element of the Available Data Sources
	 * This is usually the Name of the Catalog of the Database
	 */
	protected void setRootElement()
	{
		rootNode = new TreeItem(availableDbObjectsTree,SWT.NONE);
		rootNode.setImage(dataBaseImage);
		
		DataSourceDesign dataSourceHandle = this.getDataSetDesign( ).getDataSourceDesign( );
		
		rootNode.setText(dataSourceHandle.getName());
	}
	
	private void RemoveAllAvailableDbObjects( )
	{
		if ( availableDbObjectsTree != null )