The org.apache.sis.io.wkt package is currently located in the sis-metadata module. However the WKT parser/formatter is close to useless without sis-referencing module because the only objects currently parsed or formatted are in that module. This is illustrated by the fact that only basic tests are defined in sis-metadata and more "real situation" tests are in sis-referencing. Even if a future version is generalized to parsing/formatting of geometry objects, a geometry module would probably need sis-referencing.
We should move org.apache.sis.io.wkt package into the sis-referencing module. It would bring many simplifications, like a single place for all tests.
After this move has been done, we should apply the following cleanups:
Add the following case at the end of appendElement(Object) method:
Retrofit org.apache.sis.util.internal.Citations into org.apache.sis.metadata.iso.citation.Citations, which will allow us to add the following code in Citations.identifierMatches:
- Move EllipsoidalHeightCombiner, which will allow us to leverage ReferencingFactoryContainer instead than duplicating its work.
- Leverage ReferencingFactoryContainer into MathTransforParser too.
- Move WKTKeywords.
The only dependency in sis-metadata is ImmutableIdentifier. May may need to move that class into sis-referencing, maybe in org.apache.sis.referencing package. That would need a "deprecate now delete later" cycle.
Commands to run on the command-line are below. It may be easier to execute those commands in each branches instead than only one branch and resolve merge conflicts (to be verified).
Some files need to be modified after the move (e.g. MetadataTestSuite, etc).