Summary: In a similar vein to JMC-7307, 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)
- 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