Bump odlparent/yangtools/mdsal
[controller.git] / opendaylight / md-sal / cds-access-api / src / main / java / org / opendaylight / controller / cluster / access / commands / ModifyTransactionRequest.java
index 171e5dce3db0dea3790f4d599aaa3da55b97cf22..39b577cef26b67d9739fb32fe32b5d739a1c1908 100644 (file)
@@ -11,9 +11,11 @@ import akka.actor.ActorRef;
 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;
+import org.opendaylight.controller.cluster.access.concepts.SliceableMessage;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 
 /**
@@ -23,20 +25,19 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier
  * @author Robert Varga
  */
 @Beta
-public final class ModifyTransactionRequest extends TransactionRequest<ModifyTransactionRequest> {
+public final class ModifyTransactionRequest extends TransactionRequest<ModifyTransactionRequest>
+        implements SliceableMessage {
     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;
 
-    private ModifyTransactionRequest(final ModifyTransactionRequest request, final long retry) {
-        super(request, retry);
-        this.modifications = request.modifications;
-        this.protocol = request.protocol;
-    }
-
-    ModifyTransactionRequest(final TransactionIdentifier target, final long sequence, final long retry,
-        final ActorRef replyTo, final List<TransactionModification> modifications, final PersistenceProtocol protocol) {
-        super(target, sequence, retry, replyTo);
+    ModifyTransactionRequest(final TransactionIdentifier target, final long sequence, final ActorRef replyTo,
+        final List<TransactionModification> modifications, final PersistenceProtocol protocol) {
+        super(target, sequence, replyTo);
         this.modifications = ImmutableList.copyOf(modifications);
         this.protocol = protocol;
     }
@@ -51,7 +52,8 @@ public final class ModifyTransactionRequest extends TransactionRequest<ModifyTra
 
     @Override
     protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
-        return super.addToStringAttributes(toStringHelper).add("operations", modifications).add("protocol", protocol);
+        return super.addToStringAttributes(toStringHelper).add("modifications", modifications.size())
+                .add("protocol", protocol);
     }
 
     @Override
@@ -59,14 +61,8 @@ public final class ModifyTransactionRequest extends TransactionRequest<ModifyTra
         return new ModifyTransactionRequestProxyV1(this);
     }
 
-    @Override
-    protected ModifyTransactionRequest cloneAsRetry(final long retry) {
-        return new ModifyTransactionRequest(this, retry);
-    }
-
     @Override
     protected ModifyTransactionRequest cloneAsVersion(final ABIVersion version) {
         return this;
     }
-
 }