Several warnings are suppressed with justification provided.
Change-Id: I39b860013677d045bb8e8dbd722c9b41406285ac
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
<propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <configuration>
+ <failOnError>true</failOnError>
+ </configuration>
+ </plugin>
</plugins>
</build>
import com.google.common.annotations.Beta;
import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Preconditions;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import javax.annotation.Nonnull;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
public final class CommitLocalTransactionRequest
extends AbstractLocalTransactionRequest<CommitLocalTransactionRequest> {
private static final long serialVersionUID = 1L;
+
+ @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "This field is not Serializable but this class "
+ + "implements writeReplace to delegate serialization to a Proxy class and thus instances of this class "
+ + "aren't serialized. FindBugs does not recognize this.")
private final DataTreeModification mod;
private final boolean coordinated;
import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nonnull;
public final class ConnectClientSuccess extends RequestSuccess<ClientIdentifier, ConnectClientSuccess> {
private static final long serialVersionUID = 1L;
+ @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "This field is not Serializable but this class "
+ + "implements writeReplace to delegate serialization to a Proxy class and thus instances of this class "
+ + "aren't serialized. FindBugs does not recognize this.")
private final List<ActorSelection> alternates;
+
+ @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "See justification above.")
private final DataTree dataTree;
private final ActorRef backend;
private final int maxMessages;
import com.google.common.annotations.Beta;
import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.collect.ImmutableList;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.List;
import java.util.Optional;
import org.opendaylight.controller.cluster.access.ABIVersion;
@Beta
public final class ModifyTransactionRequest extends TransactionRequest<ModifyTransactionRequest> {
private static final long serialVersionUID = 1L;
+
+ @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "This field is not Serializable but this class "
+ + "implements writeReplace to delegate serialization to a Proxy class and thus instances of this class "
+ + "aren't serialized. FindBugs does not recognize this.")
private final List<TransactionModification> modifications;
private final PersistenceProtocol protocol;
package org.opendaylight.controller.cluster.access.concepts;
import com.google.common.annotations.Beta;
-import java.io.Externalizable;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.concepts.WritableIdentifier;
*/
@Beta
public abstract class AbstractSuccessProxy<T extends WritableIdentifier, C extends RequestSuccess<T, C>>
- extends AbstractResponseProxy<T, C> implements Externalizable {
+ extends AbstractResponseProxy<T, C> {
private static final long serialVersionUID = 1L;
protected AbstractSuccessProxy() {
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.base.Verify;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.Externalizable;
private static final Pattern SIMPLE_STRING_PATTERN = Pattern.compile(SIMPLE_STRING_REGEX);
private static final long serialVersionUID = 1L;
private final String name;
+
+ @SuppressFBWarnings(value = "VO_VOLATILE_REFERENCE_TO_ARRAY",
+ justification = "The array elements are non-volatile but we don't access them.")
private volatile byte[] serialized;
private FrontendType(final String name) {
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.base.Verify;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.Externalizable;
private static final long serialVersionUID = 1L;
private final String name;
+
+ @SuppressFBWarnings(value = "VO_VOLATILE_REFERENCE_TO_ARRAY",
+ justification = "The array elements are non-volatile but we don't access them.")
private volatile byte[] serialized;
private MemberName(final String name) {
private static final long serialVersionUID = 1L;
private final LocalHistoryIdentifier historyId;
private final long transactionId;
- private transient String shortString;
+ private String shortString;
public TransactionIdentifier(@Nonnull final LocalHistoryIdentifier historyId, final long transactionId) {
this.historyId = Preconditions.checkNotNull(historyId);