[ 
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)

Reply via email to