You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sis.apache.org by "Martin Desruisseaux (Jira)" <ji...@apache.org> on 2023/01/02 11:29:00 UTC

[jira] [Assigned] (SIS-567) Resolve serialization compiler warnings

     [ https://issues.apache.org/jira/browse/SIS-567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Desruisseaux reassigned SIS-567:
---------------------------------------


> Resolve serialization compiler warnings
> ---------------------------------------
>
>                 Key: SIS-567
>                 URL: https://issues.apache.org/jira/browse/SIS-567
>             Project: Spatial Information Systems
>          Issue Type: Task
>          Components: Metadata, Referencing, Storage, Utilities
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Minor
>             Fix For: 1.4
>
>
> Since Java 18, the compiler emit the following warnings on many fields, especially in metadata and referencing modules:
> {quote}
> Non-transient instance field of a serializable class declared with a non-serializable type.
> {quote}
> In a lot of cases, the field type is an interface where all implementations used in practice are serializable. We resolve those warnings with the following annotation:
> {code:java}
> @SuppressWarnings("serial")         // Most SIS implementations are serializable.
> {code}
> In a few cases the value can be anything (e.g. type of values in a collection). We use the following annotation for them.
> {code:java}
> @SuppressWarnings("serial")         // Not statically typed as Serializable.
> {code}
> Finally there is a few classes where we could not yet resolve the warning:
> * {{org.apache.sis.internal.util.StandardDateFormat}} has a {{java.time.format.DateTimeFormatter}} field, which is not serializable.
> * {{org.apache.sis.internal.referencing.provider.DatumShiftGridFile}} has a {{java.nio.file.Path}} field.
> * {{org.apache.sis.gui.dataset.ResourceEvent}} has a {{java.nio.file.Path}} field.
> For the later two, maybe {{Path}} could be replaced by {{URI}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)