[ https://issues.apache.org/jira/browse/SIS-410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux closed SIS-410. ----------------------------------- > More stable MathTransform.Inverse serialization > ----------------------------------------------- > > Key: SIS-410 > URL: https://issues.apache.org/jira/browse/SIS-410 > Project: Spatial Information Systems > Issue Type: New Feature > Components: Referencing > Affects Versions: 0.5, 0.6, 0.7, 0.8 > Reporter: Martin Desruisseaux > Assignee: Martin Desruisseaux > Priority: Minor > Fix For: 1.0 > > > The {{AbstractMathTransform.Inverse}} class is non-static. This cause the > compiler to generate a {{this$0}} private field. But this synthetic fields > may not be the same across implementations of different Java compilers. > Consequently reading a class serialized with an Apache SIS library compiled > with a different compiler may not recognize the fields that are named > differently (see > http://developer.java.sun.com/developer/bugParade/bugs/4211550.html). We > should use static inner class with a named field (e.g. {{"forward"}})instead. > This is an incompatible change, but {{AbstractMathTransform.Inverse}} is > protected rather than public. > In the particular case of {{AbstractMathTransform.Inverse}}, it also avoid a > minor strangeness. Since we extends {{Inverse}} in different classes, we saw > the synthetic {{this$0}} field duplicated in each subclass. Using a named > field instead will avoid that. -- This message was sent by Atlassian Jira (v8.3.4#803005)