Uploaded image for project: 'Java Mission Control'
  1. Java Mission Control
  2. JMC-7308

Move non-Eclipse dependant classes from org.openjdk.jmc.ui.common to org.openjdk.jmc.common

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P3
    • 9.0.0
    • None
    • Mission Control Core
    • None

    Description

      Summary: In a similar vein to JMC-7307[0], there are a number of classes currently in jmc.ui.common that would be a great asset to the core distribution (and the third-party applications that consume jmc-core), and these classes could live in jmc.common.

      It isn't as straightforward as moving all of the packages to core, as there are still classes in these jmc.ui.common packages that have dependencies on Eclipse or rjmx. Having said that, the ones listed below can be moved without much difficulty:

      • org.openjdk.jmc.ui.common.action (3)
        Executable, IActionProvider, IUserAction
      • org.openjdk.jmc.ui.common.jvm (5)
        Connectable, JVMArch, JVMCommandLineToolkit, JVMDescriptor, JVMType
      • org.openjdk.jmc.ui.common.labelingrules (7) (note, this is move probably better suited for JMC-7069, as NameConverter won't be necessary until then)
        Constants, Formatter, IVariableEvaluator, Matcher, NameConverter*, NamingRule, Variables. *NameConverter itself is a bit tricky because it relies on Eclipse, but it's core functionality does not. In my wip approach I extracted the core NameConverter logic into an abstract class (NameConverterBase) that can be extended in application/../NameConverter to keep Eclipse out of core.
      • org.openjdk.jmc.ui.common.resource (2)
        IImageResource, Resource
      • org.openjdk.jmc.ui.common.security (10)
        ActionNotGrantedException, CredentialsNotAvailableException, FailedToSaveException, ICredentials, InMemoryCredentials, ISecurityManager, PersistentCredentials, SecurlyStoredByteArray, SecurityException, SecurityManagerFactory
      • org.opendjk.jmc.ui.common.tree (3)
        IArray, IChild, IParent
      • org.openjdk.jmc.ui.common.util (4)
        Environment, Filename, ICopyable, IObservable
      • org.openjdk.jmc.ui.common.xydata (5)
        DataSeries, DefautlTimestampedData, DefaultXYData, ITimeStampedData, IXYData

      These classes could be beneficial to 3rd party applications trying to use jmc-core libraries.

      I have a wip branch that contains the above proposed changes, it can be found at: https://github.com/aptmac/jmc/tree/jmc-ui-common-to-core

      These classes are also required for a move of rjmx to core, as tracked by: https://bugs.openjdk.java.net/browse/JMC-7069

      [0] https://bugs.openjdk.java.net/browse/JMC-7307

      Attachments

        Issue Links

          Activity

            People

              aptmac Alex Macdonald
              aptmac Alex Macdonald
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: