From f6de16f2c8ee9b487f47a573aefbe1ab1c1ada7c Mon Sep 17 00:00:00 2001
From: pkupczyk <piotr.kupczyk@id.ethz.ch>
Date: Fri, 22 Mar 2024 11:37:16 +0100
Subject: [PATCH] SSDM-13578 : 2PT : Database and V3 Implementation -
 integration tests - make the lock list JSON deserialization work (List.of
 which was used before was returning an immutable list that didn't have a
 default constructor and made the recovery process fail)

---
 .../java/ch/ethz/sis/afs/dto/operation/WriteOperation.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib-transactional-file-system/src/main/java/ch/ethz/sis/afs/dto/operation/WriteOperation.java b/lib-transactional-file-system/src/main/java/ch/ethz/sis/afs/dto/operation/WriteOperation.java
index 322f4cfd119..0e182071d0f 100644
--- a/lib-transactional-file-system/src/main/java/ch/ethz/sis/afs/dto/operation/WriteOperation.java
+++ b/lib-transactional-file-system/src/main/java/ch/ethz/sis/afs/dto/operation/WriteOperation.java
@@ -22,6 +22,9 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Value;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 
@@ -40,7 +43,7 @@ public class WriteOperation implements Operation {
 
     public WriteOperation(UUID owner, String source, long offset, byte[] data, byte[] md5Hash) {
         this.owner = owner;
-        this.locks = List.of(new Lock<>(owner, source, LockType.Exclusive));
+        this.locks = new ArrayList<>(Collections.singletonList(new Lock<>(owner, source, LockType.Exclusive)));
         this.source = source;
         this.offset = offset;
         this.data = data;
-- 
GitLab