From a00f3ee60b16735f27af765a5bf357c56a091bc5 Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Tue, 22 Sep 2020 10:11:12 +0200 Subject: [PATCH] do not explicit serialVersionUID anymore A new SpotBug rule has been introduced in odlparent Aluminium and suggests to explicit the serialVersionUID in serializable classes to avoid compilers interoperability problems due to a Java implementation design flaw. If this is useful in a few situations (rare today), this also means that theorically developers must maintain this field and increment it across classes incompatible versions. Practically, this step is often forgotten, paving the way to more serious problems. Since the situation here does not require it, it is healthier to simply ignore this (soon obsolete?) recommendation. For more details: git log pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID https://moi.vonos.net/java/serialization-synthetic/ https://rules.sonarsource.com/java/RSPEC-4926 https://www.vojtechruzicka.com/explicitly-declare-serialversionuid/ https://www.infoworld.com/article/3275924/oracle-plans-to-dump-risky-java-serialization.html JIRA: TRNSPRTPCE-292 Signed-off-by: guillaume.lambert Change-Id: I4e36134061104d912a75f3a578d43ca0bc17ab1f --- .../transportpce/common/mapping/SortPort121ByName.java | 5 +++-- .../transportpce/common/mapping/SortPort221ByName.java | 5 +++-- .../controllers/tpce/exception/TechnicalException.java | 8 +++----- .../opendaylight/transportpce/pce/SortPortsByName.java | 5 +++-- .../opendaylight/transportpce/pce/graph/PceGraphEdge.java | 4 +++- .../transportpce/pce/networkanalyzer/PceLink.java | 4 +++- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java index 484053b2c..1ac0c3287 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java @@ -18,10 +18,11 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port; * @author Martial Coulibaly (martial.coulibaly@gfi.com) on behalf of Orange * */ +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class SortPort121ByName implements Comparator, Serializable { - private static final long serialVersionUID = 1L; - @Override public int compare(Port port1, Port port2) { return extractInt(port1) - extractInt(port2); diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java index 6c31cec94..48de1f3c7 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java @@ -18,10 +18,11 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.Port; * @author Martial Coulibaly (martial.coulibaly@gfi.com) on behalf of Orange * */ +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class SortPort221ByName implements Comparator, Serializable { - private static final long serialVersionUID = 1L; - @Override public int compare(Port port1, Port port2) { return extractInt(port1) - extractInt(port2); diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/exception/TechnicalException.java b/lighty/src/main/java/io/lighty/controllers/tpce/exception/TechnicalException.java index 4fa2f93e8..44aa827ec 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/exception/TechnicalException.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/exception/TechnicalException.java @@ -7,13 +7,11 @@ */ package io.lighty.controllers.tpce.exception; +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class TechnicalException extends RuntimeException { - /** - * serial id. - */ - private static final long serialVersionUID = 1359762809539335449L; - /** * Default constructor. */ diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/SortPortsByName.java b/pce/src/main/java/org/opendaylight/transportpce/pce/SortPortsByName.java index 642df21a0..317451b59 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/SortPortsByName.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/SortPortsByName.java @@ -16,10 +16,11 @@ import java.util.Comparator; * @author Martial Coulibaly ( martial.coulibaly@gfi.com ) on behalf of Orange * */ +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class SortPortsByName implements Comparator, Serializable { - private static final long serialVersionUID = 1L; - @Override public int compare(String port1, String port2) { int num = extractInt(port1) - extractInt(port2); diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/graph/PceGraphEdge.java b/pce/src/main/java/org/opendaylight/transportpce/pce/graph/PceGraphEdge.java index 78861c5e7..87adfcce4 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/graph/PceGraphEdge.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/graph/PceGraphEdge.java @@ -10,9 +10,11 @@ package org.opendaylight.transportpce.pce.graph; import org.jgrapht.graph.DefaultWeightedEdge; import org.opendaylight.transportpce.pce.networkanalyzer.PceLink; +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class PceGraphEdge extends DefaultWeightedEdge { - private static final long serialVersionUID = 1L; private PceLink link; public PceGraphEdge(PceLink link) { diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java index 720ffcd01..cf303055b 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java @@ -30,9 +30,11 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( + value = "SE_NO_SERIALVERSIONID", + justification = "https://github.com/rzwitserloot/lombok/wiki/WHY-NOT:-serialVersionUID") public class PceLink implements Serializable { - private static final long serialVersionUID = 1L; /* Logging. */ private static final Logger LOG = LoggerFactory.getLogger(PceLink.class); ///////////////////////// LINKS //////////////////// -- 2.36.6