Community
Participate
Working Groups
Build ID: I20090313-0100 Steps To Reproduce: Steps To Reproduce: 1. Connect to i/so or z/os DB2 2. Open Data Source Explorer 3. Navigate to the table which includes bidi content (TESLIB.SHORT11 in attachment) 4. RMC, Data, Sample contents 5. Open SQL results view result: bidi data is rendered wrongly in SQL results view More information: More information: The reason of the problem is that bidi data is saved on legacy systems in a visual format, while on windows it is saved in the logical format. In order to display and edit this data correctly client controls have to learn how to display and edit visual bidi data or at least make bidi conversions for the data It is important to mention that some mechanism that allows to specify in which format bidi data is saved on the legacy system should be in place as well
Created attachment 133247 [details] Wrong display of visual data in DataTools views
Moved to 1.7.1.
where else host data is displayed on the client except "sample data" ?
Created attachment 167091 [details] Bidi changes to org.eclipse.datatools.sqltools.data.ui plugin The pach contains new Bidi classes (inside bidi package) and changes to existing code. BidiLayout widget allows Bidi users to manipulate Bidi text the same way they used to do it on mainframe. It is based on StyledText functionality. BidiLayoutCellEditor is build over BidiLayout in the same way TextCellEditor is build over Text.
Created attachment 167092 [details] patch file for org.eclipse.datatools.connectivity One method is added to DriverUtil class. The method checks if Bidi Support is requested. In order to enable Bidi support some property should be added to JDBC connection.
Created attachment 167093 [details] patch file for org.eclipse.datatools.sqltools.result plugin The changes take care over correct display of Bidi data in Result view
Created attachment 167094 [details] patch file for org.eclipse.datatools.sqltools.tabledataeditor plugin Bidi flag is set for OperationCommand
Created attachment 170752 [details] patch file for org.eclipse.datatools.sqltools.data.ui plugin
Created attachment 170754 [details] patch file for org.eclipse.datatools.connectivity plugin
Created attachment 170755 [details] patch file for org.eclipse.datatools.sqltools.result plugin
Created attachment 170756 [details] patch file for org.eclipse.datatools.sqltools.tabledataeditor plugin
Created attachment 170757 [details] patch file for org.eclipse.datatools.connectivity.sqm.core.ui plugin
Created attachment 170758 [details] patch file for org.eclipse.datatools.sqltools.result.ui plugin
Created attachment 170759 [details] Brief design doc of implemented Bidi support for DTP
Great patch ! I have actually two comments / clarifications: 1. Bidi handling is applied only on the content data (data stored in database tables), meta data (names of tables, names of tables' columns) remains unaffected. It would be nice to have either a separate parameter for meta data or to extend the application of Bidi handling to meta data as well. 2. Control over base text direction (LTR / RTL / Contextual) should be independent from GUI orientation. Namely, in order to support LTR base text direction we should not enforce LTR GUI orientation (aka not mirrored GUI). Similarly, for enforcement of RTL base text direction we should not enforce RTL GUI orientation (aka mirrored GUI). Currently the design suggests to mirror the table in order to enforce RTL base text direction. Having said that till control over base text direction independently from GUI orientation is supported on SWT level (for info please see bug 273198), I believe that what is currently suggested is an acceptable compromise in the context of tabular display of data (mirroring of table does not significantly affects it's graphics, except for order of columns).
Created attachment 180323 [details] patch file for org.eclipse.datatools.connectivity plugin
Created attachment 180324 [details] patch file for org.eclipse.datatools.sqltools.data.ui plugin
Created attachment 180325 [details] patch file for org.eclipse.datatools.sqltools.result plugin
Created attachment 180326 [details] patch file for org.eclipse.datatools.sqltools.tabledataeditor plugin
Created attachment 183188 [details] patch file for org.eclipse.datatools.connectivity.sqm.core.ui plugin
Created attachment 183189 [details] patch file for org.eclipse.datatools.connectivity plugin
Created attachment 183190 [details] patch file for org.eclipse.datatools.sqltools.data.ui plugin
Created attachment 183191 [details] patch file for org.eclipse.datatools.sqltools.result plugin
Created attachment 183192 [details] patch file for org.eclipse.datatools.sqltools.result.ui plugin
Created attachment 183193 [details] patch file for org.eclipse.datatools.sqltools.tabledataeditor plugin
Hi Brian, All code was updated to compilation with eclipse342 as requested. Unfortunately it is imposible to make it work for eclipse342. In my code I am using SWT additions that were added to 3.6 version. When my code runs with SWT lower than 36, there is some message in preferences that doesn't allow to turn Bidi support on. Since I am using SWT additions, that don't exist in SWT34, Java Reflaction is used in order to be able to compile the code with 'younger' eclipse version. Major changes were done in BidiLayout class. Please let me know if some additional clarifications are needed. Ira