19 package org.sleuthkit.autopsy.casemodule.multiusercases;
21 import java.io.ByteArrayInputStream;
22 import java.io.ByteArrayOutputStream;
23 import java.io.DataInputStream;
24 import java.io.DataOutputStream;
25 import java.io.IOException;
26 import java.nio.file.Path;
27 import java.nio.file.Paths;
28 import java.text.ParseException;
29 import java.util.Date;
78 this.errorsOccurred =
false;
79 this.directory = Paths.get(metadata.getCaseDirectory());
81 this.lastAccessDate =
new Date();
82 this.name = metadata.getCaseName();
83 this.displayName = metadata.getCaseDisplayName();
84 this.deletedItemFlags = 0;
97 if (nodeData == null || nodeData.length == 0) {
98 throw new IOException(null == nodeData ?
"Null node data byte array" :
"Zero-length node data byte array");
100 DataInputStream inputStream =
new DataInputStream(
new ByteArrayInputStream(nodeData));
101 this.version = inputStream.readInt();
102 if (this.version > 0) {
103 this.errorsOccurred = inputStream.readBoolean();
105 short legacyErrorsOccurred = inputStream.readByte();
106 this.errorsOccurred = (legacyErrorsOccurred < 0);
108 if (this.version > 0) {
109 this.directory = Paths.get(inputStream.readUTF());
110 this.createDate =
new Date(inputStream.readLong());
111 this.lastAccessDate =
new Date(inputStream.readLong());
112 this.name = inputStream.readUTF();
113 this.displayName = inputStream.readUTF();
114 this.deletedItemFlags = inputStream.readShort();
164 this.directory = caseDirectory;
173 return new Date(this.createDate.getTime());
182 this.createDate =
new Date(createDate.getTime());
191 return new Date(this.lastAccessDate.getTime());
200 this.lastAccessDate =
new Date(lastAccessDate.getTime());
250 ByteArrayOutputStream byteStream =
new ByteArrayOutputStream();
251 DataOutputStream outputStream =
new DataOutputStream(byteStream);
252 outputStream.writeInt(this.version);
253 outputStream.writeBoolean(this.errorsOccurred);
254 outputStream.writeUTF(this.directory.toString());
255 outputStream.writeLong(this.createDate.getTime());
256 outputStream.writeLong(this.lastAccessDate.getTime());
257 outputStream.writeUTF(this.name);
258 outputStream.writeUTF(this.displayName);
259 outputStream.writeShort(this.deletedItemFlags);
260 outputStream.flush();
262 return byteStream.toByteArray();
274 super(message, cause);
void setName(String name)
boolean getErrorsOccurred()
void setDisplayName(String displayName)
void setCreateDate(Date createDate)
void setDirectory(Path caseDirectory)
InvalidDataException(String message)
CaseNodeData(byte[] nodeData)
void setLastAccessDate(Date lastAccessDate)
void setErrorsOccurred(boolean errorsOccurred)
InvalidDataException(String message, Throwable cause)
static int getCurrentVersion()
static final int CURRENT_VERSION
CaseNodeData(CaseMetadata metadata)
static final long serialVersionUID