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) {
return false;
}
+ @Override
+ public Logger getLogger() {
+ return LOGGER;
+ }
}
\ No newline at end of file