Issue #15051 was resolved in V18 by shutting off the transfer handler to disable Ctrl-C. There is concern that perhaps there is an underlying problem which caused the initial exception. From Fung's comments:
@tomconrad:
Hi Fung, I attached a patch to fix the issue. I disabled the transfer handler since it is not useful to copy unformatted table content to the clipboard. Should we desire this feature, we should add a button like the other panels to explicitly copy formatted data to the clipboard. Please have a look. Thanks, Tom
I did not try your patch. By looking into your patch, it might resolve the problem by disabling data transfer handler but it does not seem to address the root cause of the problem.
The root cause of the problem is: there is a java.lang.ArrayIndexOutOfBoundsException exception has been thrown which usually indicates some object is not implemented correctly.
I briefly debugged the problem by setting a break point at line #264 in CTreeTableScrollPane
#261 for (int col = 0; col < cols.length; col++) { #262 // #710 HACK #263 // data comes from both tables #264 Object obj = getTableValueAt(rows[row], cols[col]);
This break point will be reached by either "Schema Compare/Schema Compare Results/Group by: Type of difference" or "Schema Synchronization/Schema Compare Results/Group by: Type of difference" when CTRL-C is pressed.
If you examine the cols
variable when break point is hit, you will see the length of cols
variable is 7 in both "Schema Compare" case and "Schema Synchronization" case. In UI, "Schema Synchronization/Schema Compare Reuslts" table contains 7 columns which match the length of cols
variable; however, "Schema Compare/Schema Compare Results" table only contains 6 columns which is 1 less than the length of cols
variable. Hence, in the for loop iterations, the last iteration will throw an index-out-of-bounds exception for "Schema Compare" but not "Schema Synchronization". I did not spend much time on this and my study could be wrong. You might want to take a look at this and corresponding objects created by Schema Compare.
Issue #15057 |
New |
Completion |
No due date |
No fixed build |
No time estimate |
1 issue link |
relates to #15051
Issue #15051java.lang.ArrayIndexOutOfBoundsException: 5 >= 5 exception after pressing cntrl+c when Group By option is set to Type of Difference |