]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.acorn/src/org/simantics/acorn/lru/ChangeSetInfo.java
Fixing problems in the database unit testing environment with Acorn
[simantics/platform.git] / bundles / org.simantics.acorn / src / org / simantics / acorn / lru / ChangeSetInfo.java
index 12351a5194c3b07a17845cf8cb7a06f8d8fb6dd2..235b26418be7f610a3d79d6e1760f176d331ccaa 100644 (file)
@@ -4,44 +4,48 @@ import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import org.simantics.acorn.FileCache;
+import org.simantics.acorn.exception.AcornAccessVerificationException;
+import org.simantics.acorn.exception.IllegalAcornStateException;
 import org.simantics.db.service.Bytes;
 import org.simantics.utils.datastructures.Pair;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import gnu.trove.list.array.TByteArrayList;
 
 public class ChangeSetInfo extends LRUObject<Long, ChangeSetInfo> {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(ChangeSetInfo.class);
        private byte[] metadataBytes;
        private ArrayList<String> clusterChangeSetIds;
        
        // Stub
-       public ChangeSetInfo(LRU<Long, ChangeSetInfo> LRU, Path readDir, Long revision, int offset, int length) {
-               super(LRU, revision, readDir, "clusterStream", offset, length, false, false);
+       public ChangeSetInfo(LRU<Long, ChangeSetInfo> LRU, FileCache fileCache, Path readDir, Long revision, int offset, int length) throws AcornAccessVerificationException {
+               super(LRU, fileCache, revision, readDir, "clusterStream", offset, length, false, false);
                LRU.map(this);
        }
        
        // New
-       public ChangeSetInfo(LRU<Long, ChangeSetInfo> LRU, Long revision, byte[] bytes, ArrayList<String> clusterChangeSetIds) {
-               super(LRU, revision, LRU.getDirectory(), "clusterStream", true, true);
+       public ChangeSetInfo(LRU<Long, ChangeSetInfo> LRU, FileCache fileCache, Long revision, byte[] bytes, ArrayList<String> clusterChangeSetIds) throws AcornAccessVerificationException {
+               super(LRU, fileCache, revision, LRU.getDirectory(), "clusterStream", true, true);
                this.metadataBytes = bytes;
                this.metadataBytes = bytes;
                this.clusterChangeSetIds = clusterChangeSetIds;
                LRU.insert(this, accessTime);
        }
        
-       public ArrayList<String> getCSSIds() {
+       public ArrayList<String> getCCSIds() throws AcornAccessVerificationException {
                if(VERIFY) verifyAccess();
                return clusterChangeSetIds;
        }
        
-       public byte[] getMetadataBytes() {
-               
-               if(VERIFY) verifyAccess();
+       public byte[] getMetadataBytes() throws AcornAccessVerificationException, IllegalAcornStateException {
+               if(VERIFY)
+                   verifyAccess();
                
                makeResident();
-               
                return metadataBytes;
-               
        }
        
        private static void writeLE(TByteArrayList bytes, int value) {
@@ -110,4 +114,8 @@ public class ChangeSetInfo extends LRUObject<Long, ChangeSetInfo> {
                return false;
        }
 
+       @Override
+       public Logger getLogger() {
+           return LOGGER;
+       }
 }
\ No newline at end of file