RFR: 5904: Merge org.openjdk.jmc.ui.celleditors with org.openjdk.jmc.rjmx.ui.celleditors [v4]

Alex Macdonald aptmac at openjdk.java.net
Fri Sep 24 21:04:31 UTC 2021


On Mon, 9 Aug 2021 21:34:50 GMT, Alex Macdonald <aptmac at openjdk.org> wrote:

>> This PR addresses JMC-5904 [[0]](https://bugs.openjdk.java.net/browse/JMC-5904), in which it is noted that org.openjdk.jmc.ui.celleditors could be merged with org.openjdk.jmc.rjmx.ui.celleditors instead of separating the code.
>> 
>> For the most part this is a fairly straightforward migration of code. There are three classes in jmc.ui.celleditors that needed to be moved into rjmx.ui.celleditors:
>> 1. ClearableTextCellEditor
>> 2. CommonCellEditors
>> 3. NullableTextCellEditor
>> 
>> Once these files are moved there is a slight problem: org.openjdk.jmc.ui.misc.FilterEditor uses CommonCellEditors, and org.openjdk.jmc.rjmx.ui requires org.openjdk.jmc.ui. In this case, adding a dependency from org.openjdk.jmc.rjmx.ui.celleditors.CommonCellEditors to org.openjdk.jmc.ui.misc.FilterEditors would introduce a circular dependency.
>> 
>> The solution I've gone with here is to move FilterEditor to org.openjdk.jmc.flightrecorder.ui, which IMO makes sense anyways because it's closer to the code it gets consumed by. FilterEditor is used in:
>> - _org.openjdk.jmc.flightrecorder.ui_.common.DataPageToolkit
>> - _org.openjdk.jmc.flightrecorder.ui_.common.FilterComponent
>> - _org.openjdk.jmc.flightrecorder.ui_.common.LaneEditor
>> - _org.openjdk.jmc.flightrecorder.ui_.pages.ItemHandlerPage
>> 
>> **Note:** this issue was originally targeted for 8.1.0, but isn't really critical (it's a P4 task), so if desired we can hold off on integrating it now and keep this around for integration into 8.2.0 as discussed in the jmc bi-weekly calls
>> 
>> [0] https://bugs.openjdk.java.net/browse/JMC-5904
>
> Alex Macdonald has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
> 
>  - update license headers
>  - 5904: Merge org.openjdk.jmc.ui.celleditors with org.openjdk.jmc.rjmx.ui.celleditors

I've rebased this PR, and shuffled the classes around again to remove the problematic dependencies.

Here the celleditors code has been extracted into it's own package (org.openjdk.jmc.ui.celleditors), which is used in rjmx.ui and flightrecorder.ui, but removes the need for a dependency between those two packages. I also updated the l10n strings to reflect these changes.

-------------

PR: https://git.openjdk.java.net/jmc/pull/271


More information about the jmc-dev mailing list