RFR: JMC-6555 Convert JOverflow plugin to SWT

Arvin Kangcheng Xu kxu at redhat.com
Thu Oct 24 18:10:41 UTC 2019


Thank you Marcus.

I've just realized license headers are missing in a few files I added.
The following changes add headers to new files and updated the year in
the old headers.

WebRev:
http://cr.openjdk.java.net/~jkang/jmc-6555/webrev.10/

Sorry for not spotting this earlier.

On Thu, 24 Oct 2019 at 07:02, Marcus Hirt <marcus.hirt at datadoghq.com> wrote:
>
> Looks good to me now! :)
>
> Kind regards,
> Marcus
>
> On Mon, Oct 21, 2019 at 6:50 PM Arvin Kangcheng Xu <kxu at redhat.com> wrote:
> >
> > Hello Christoph,
> >
> > Thanks for pointing that about the new 2019-09 target definition.
> >
> > This updated patch is base on current HEAD, 15a371160527 (JMC-6596:
> > Remove extra text in platform-definition-photon), with extra commit
> > messages stripped for a cleaner WebRev.
> >
> > WebRev:
> > http://cr.openjdk.java.net/~jmatsuoka/JMC-6555/webrev/
> >
> > Thanks to Joshua (jmatsuoka) for creating this WebRev.
> >
> >
> >
> > On Fri, 18 Oct 2019 at 17:03, Langer, Christoph
> > <christoph.langer at sap.com> wrote:
> > >
> > > Hi Arvin,
> > >
> > > after JMC-6595, you should also adapt the new 2019-09 target definition.
> > >
> > > Furthermore, your webrev is really hard to read. Can you maybe change the patch text to something more concise which would allow to fit several modified files on one page?
> > >
> > > Thanks
> > > Christoph
> > >
> > > > -----Original Message-----
> > > > From: jmc-dev <jmc-dev-bounces at openjdk.java.net> On Behalf Of Arvin
> > > > Kangcheng Xu
> > > > Sent: Freitag, 18. Oktober 2019 22:18
> > > > To: Marcus Hirt <marcus.hirt at datadoghq.com>
> > > > Cc: jmc-dev at openjdk.java.net
> > > > Subject: Re: RFR: JMC-6555 Convert JOverflow plugin to SWT
> > > >
> > > > Hello Marcus,
> > > >
> > > > Thanks for the feedback. The changes you requested are now implemented.
> > > >
> > > > Changelog:
> > > >   - reintroduce referrer direction arrows
> > > >   - extend pie chart slices upon mouse hovering over tables
> > > >   - remove extra padding
> > > >   - enable anti-aliasing and double buffering
> > > >   - suppress warnings for raw types
> > > >
> > > > This patch applies on a31b291 (JMC-6595: Add Eclipse 2019-09 target
> > > > definition).
> > > >
> > > > WevRev:
> > > > http://cr.openjdk.java.net/~jkang/jmc-6555/webrev.08/
> > > >
> > > > Regards,
> > > >
> > > >
> > > > On Tue, 15 Oct 2019 at 18:45, Marcus Hirt <marcus.hirt at datadoghq.com>
> > > > wrote:
> > > > >
> > > > > Hi Arvin,
> > > > >
> > > > > It mostly works for me now! Good job!
> > > > >
> > > > > Some comments:
> > > > > * The referrer direction arrow got lost. I think it should be reintroduced.
> > > > > * Mouse over on rows in the lower tables used to extend the
> > > > corresponding slice in the pie - that's pretty nice, but can be added as a later
> > > > enhancement if there isn't enough time.
> > > > > * I think we should skip the extra padding around the tables and around
> > > > the lower pie + table combos
> > > > > * The pie charts look very blocky on Windows, is anti-aliasing on?
> > > > >
> > > > > Some nits:
> > > > > For PieChartViewer.getSelectionFromWidget, either add annotation
> > > > @SuppressWarnings("rawtypes"), or return List<?>.
> > > > > For PieChartViewer.setSelectionToWidget, add annotation
> > > > @SuppressWarnings("rawtypes").
> > > > >
> > > > > Kind regards,
> > > > > Marcus
> > > > >
> > > > > On Fri, Oct 11, 2019 at 11:34 PM Arvin Kangcheng Xu <kxu at redhat.com>
> > > > wrote:
> > > > >>
> > > > >> Hi all,
> > > > >>
> > > > >> As documented on JMC-6499 [0], only platform-definition-photon can be
> > > > >> imported into Eclipse for development on OSX due to a long-standing
> > > > >> eclipse bug. For some reason, Eclipse Photon has different behaviours
> > > > >> and causes JOverflow UI not being laid out immediately after its
> > > > >> creation. This bug is Photon-specific, and exists also on Linux.
> > > > >>
> > > > >> This is not an issue if built with the latest
> > > > >> platform-definition-2019-06, but I've included a workaround
> > > > >> specifically for Photon. See JOverflowEditor.java:218 [1] in the
> > > > >> updated WebRev for detail.
> > > > >>
> > > > >> WebRev:
> > > > >> http://cr.openjdk.java.net/~jkang/jmc-6555/webrev.07
> > > > >>
> > > > >> Thanks to Jie for updating this WebRev.
> > > > >>
> > > > >> Regards,
> > > > >>
> > > > >> [0] https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6499
> > > > >> [1] http://cr.openjdk.java.net/~jkang/jmc-
> > > > 6555/webrev.07/application/org.openjdk.jmc.joverflow.ui/src/main/java/or
> > > > g/openjdk/jmc/joverflow/ui/JOverflowEditor.java.html
> > > > >>
> > > > >>
> > > > >>
> > > > >> On Thu, 10 Oct 2019 at 04:58, Marcus Hirt <marcus.hirt at datadoghq.com>
> > > > wrote:
> > > > >> >
> > > > >> > Sent it to you directly Arvin.
> > > > >> >
> > > > >> > Kind regards,
> > > > >> > Marcus
> > > > >> >
> > > > >> > On Tue, Oct 8, 2019 at 5:27 PM Arvin Kangcheng Xu <kxu at redhat.com>
> > > > wrote:
> > > > >> > >
> > > > >> > > I now have access to a MacBook running macOS Mojave, but I wasn't
> > > > able
> > > > >> > > to reproduce the problem you encountered. May I have more
> > > > information
> > > > >> > > on your environment?  macOS version, JDK version/distribution and
> > > > >> > > such.
> > > > >> > >
> > > > >> > > Regards,
> > > > >> > >
> > > > >> > > On Thu, 3 Oct 2019 at 09:34, Arvin Kangcheng Xu <kxu at redhat.com>
> > > > wrote:
> > > > >> > > >
> > > > >> > > > No. I don't have access to a Mac or Windows machine at the
> > > > moment.
> > > > >> > > >
> > > > >> > > > On Wed, 2 Oct 2019 at 16:42, Marcus Hirt
> > > > <marcus.hirt at datadoghq.com> wrote:
> > > > >> > > > >
> > > > >> > > > > Have you tried running this on Mac?
> > > > >> > > > >
> > > > >> > > > > /M
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > On Wed, Oct 2, 2019 at 9:42 PM Marcus Hirt
> > > > <marcus.hirt at datadoghq.com> wrote:
> > > > >> > > > > >
> > > > >> > > > > > Excellent! Will take a look!
> > > > >> > > > > >
> > > > >> > > > > > /M
> > > > >> > > > > >
> > > > >> > > > > > On Wed, Oct 2, 2019 at 4:07 PM Arvin Kangcheng Xu
> > > > <kxu at redhat.com> wrote:
> > > > >> > > > > >>
> > > > >> > > > > >> Hello all,
> > > > >> > > > > >>
> > > > >> > > > > >> This is the latest updated patch. This is the latest patch that
> > > > includes a fix
> > > > >> > > > > >> for the lazy table viewer. I rebased and made sure it applies to
> > > > the current
> > > > >> > > > > >> HEAD, 198:ceedb367dc18.
> > > > >> > > > > >>
> > > > >> > > > > >> Webrev:
> > > > >> > > > > >> https://cr.openjdk.java.net/~jkang/jmc-6555/webrev.05/
> > > > >> > > > > >>
> > > > >> > > > > >> Thanks to Jie for creating this webrev.
> > > > >> > > > > >>
> > > > >> > > > > >> Regards,
> > > > >> > > > > >>
> > > > >> > > > > >>
> > > > >> > > > > >> On Wed, 18 Sep 2019 at 09:53, Arvin Kangcheng Xu
> > > > <kxu at redhat.com> wrote:
> > > > >> > > > > >> >
> > > > >> > > > > >> > On Tue, 17 Sep 2019 at 13:02, Jie Kang <jkang at redhat.com>
> > > > wrote:
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > On Tue, Sep 10, 2019 at 4:02 PM Arvin Kangcheng Xu
> > > > <kxu at redhat.com> wrote:
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > > This is the latest updated patch for fixes of the following,
> > > > as
> > > > >> > > > > >> > > > mentioned earlier in this thread:
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > >  - wildcard imports were replaced with single class imports
> > > > >> > > > > >> > > >  - unnecessary white spaces were removed
> > > > >> > > > > >> > > >  - indentations were changed to using tabs instead of
> > > > spaces
> > > > >> > > > > >> > > >  - removed mIsUpdatingModel guard
> > > > >> > > > > >> > > >  - removed getHeapSize and mHeapSize in BaseViewer
> > > > >> > > > > >> > > >  - declared setHeapSize in BaseViewer abstract
> > > > >> > > > > >> > > >  - initialized mHeapSize to 1 to avoid division by zero
> > > > >> > > > > >> > > >  - numbers are now rounded instead of truncated
> > > > >> > > > > >> > > >  - number displays are now comma-separated
> > > > >> > > > > >> > > >  - removed global jfx dependencies (javafx.osgi, p2 repo,
> > > > target platforms)
> > > > >> > > > > >> > > >  - refactored sub-component calls
> > > > >> > > > > >> > > >  - used a more contrasting color palette for pie charts
> > > > >> > > > > >> > > >  - fixed rotating table color
> > > > >> > > > > >> > > >  - memory column displays 2 decimal places. add tooltips
> > > > >> > > > > >> > > >  - fixed JavaThingPage NPE
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > > Spotbug config typos were resolved in another issue and
> > > > are now fixed and push.
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > > Webrev:
> > > > >> > > > > >> > > > http://cr.openjdk.java.net/~aptmac/JMC-
> > > > 6555/webrev.03/
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > Hey Arvin,
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > Thanks for your continued efforts here! A few more small
> > > > things below from me:
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > ---
> > > > old/application/org.openjdk.jmc.joverflow.ui/src/main/java/org/openjdk/j
> > > > mc/joverflow/ui/HeapDumpAction.java
> > > > >> > > > > >> > > 2019-09-10 15:31:43.946263444 -0400
> > > > >> > > > > >> > > +++
> > > > new/application/org.openjdk.jmc.joverflow.ui/src/main/java/org/openjdk/j
> > > > mc/joverflow/ui/HeapDumpAction.java
> > > > >> > > > > >> > > 2019-09-10 15:31:43.864262593 -0400
> > > > >> > > > > >> > > -import java.io.File;
> > > > >> > > > > >> > > -
> > > > >> > > > > >> > > -import javax.management.MBeanServerConnection;
> > > > >> > > > > >> > > -import javax.management.ObjectName;
> > > > >> > > > > >> > > -
> > > > >> > > > > >> > > import org.eclipse.jface.dialogs.InputDialog;
> > > > >> > > > > >> > > import org.eclipse.jface.window.Window;
> > > > >> > > > > >> > > import org.eclipse.swt.SWT;
> > > > >> > > > > >> > > import org.eclipse.swt.widgets.Display;
> > > > >> > > > > >> > > import org.eclipse.swt.widgets.FileDialog;
> > > > >> > > > > >> > > -
> > > > >> > > > > >> > > import org.openjdk.jmc.common.io.IOToolkit;
> > > > >> > > > > >> > > import org.openjdk.jmc.rjmx.IConnectionHandle;
> > > > >> > > > > >> > > import org.openjdk.jmc.rjmx.IServerHandle;
> > > > >> > > > > >> > > @@ -56,10 +50,14 @@
> > > > >> > > > > >> > > import org.openjdk.jmc.ui.misc.DialogToolkit;
> > > > >> > > > > >> > > import org.openjdk.jmc.ui.misc.DisplayToolkit;
> > > > >> > > > > >> > > +import javax.management.MBeanServerConnection;
> > > > >> > > > > >> > > +import javax.management.ObjectName;
> > > > >> > > > > >> > > +import java.io.File;
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > The import order change here should not be made. This
> > > > applies
> > > > >> > > > > >> > > elsewhere in the patch. I'm guessing an auto-formatter was
> > > > used but
> > > > >> > > > > >> > > it's configuration for imports wasn't set correctly. If it's the
> > > > >> > > > > >> > > configuration included in the jmc repository that's a minor
> > > > issue that
> > > > >> > > > > >> > > could be addressed separately.
> > > > >> > > > > >> >
> > > > >> > > > > >> > I mainly use another IDE for development and imported
> > > > included Eclipse
> > > > >> > > > > >> > formatting configuration there. It seems the imported config
> > > > from Eclipse is
> > > > >> > > > > >> > not well-supported. I've reorganized class imports for all files
> > > > with Eclipse.
> > > > >> > > > > >> >
> > > > >> > > > > >> > > --- /dev/null 2019-09-10 09:22:37.353999759 -0400
> > > > >> > > > > >> > > +++
> > > > new/application/org.openjdk.jmc.joverflow.ui/src/main/java/org/openjdk/j
> > > > mc/joverflow/ui/JavaThingPage.java
> > > > >> > > > > >> > >  2019-09-10 15:31:50.541331853 -0400
> > > > >> > > > > >> > > @@ -0,0 +1,134 @@
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > ++public class JavaThingPage extends Page implements
> > > > ModelListener {
> > > > >> > > > > >> > > + private final JOverflowEditor mEditor;
> > > > >> > > > > >> > > + private JavaThingTreeViewer mTreeViewer;
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > JavaThingTreeViewer is defined as "public class
> > > > JavaThingTreeViewer<T
> > > > >> > > > > >> > > extends JavaThingItem> extends TreeViewer {". Can
> > > > mTreeViewer instance
> > > > >> > > > > >> > > by typed to "JavaThingTreeViewer<JavaThingItem>"?
> > > > >> > > > > >> >
> > > > >> > > > > >> > Yes. mTreeViewer instance is now typed to
> > > > JavaThingTreeViewer<JavaThingItem>.
> > > > >> > > > > >> >
> > > > >> > > > > >> > Since these changes are a bit trivial. I'd refrain from spamming
> > > > the
> > > > >> > > > > >> > mail list with
> > > > >> > > > > >> > another patch. These changes will be included in my next
> > > > update. Thank you
> > > > >> > > > > >> > very much!
> > > > >> > > > > >> >
> > > > >> > > > > >> > > Apart from these, the patch looks pretty good!
> > > > >> > > > > >> > >
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > Regards,
> > > > >> > > > > >> > >
> > > > >> > > > > >> > >
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > > Thanks to Alex for creating this webrev.
> > > > >> > > > > >> > > >
> > > > >> > > > > >> > > > Regards,
> > > > >> > > > > >> > > >
> > > > >> > >
> > > > >>
> > >
> >



More information about the jmc-dev mailing list