package uk.ac.ic.wlgitbridge.snapshot.getforversion;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import uk.ac.ic.wlgitbridge.data.filestore.RawFile;
import uk.ac.ic.wlgitbridge.snapshot.base.JSONSource;
/**
* Created by Winston on 06/11/14.
*/
public class SnapshotFile extends RawFile implements JSONSource {
private String path;
private byte[] contents;
public SnapshotFile(JsonElement json) {
fromJSON(json);
}
@Override
public void fromJSON(JsonElement json) {
JsonArray jsonArray = json.getAsJsonArray();
contents = jsonArray.get(0).getAsString().getBytes();
path = jsonArray.get(1).getAsString();
}
@Override
public String getPath() {
return path;
}
@Override
public byte[] getContents() {
return contents;
}
/* Mock server */
public SnapshotFile(String contents, String path) {
this.path = path;
if (contents != null) {
this.contents = contents.getBytes();
} else {
this.contents = new byte[0];
}
}
public JsonElement toJson() {
JsonArray jsonThis = new JsonArray();
jsonThis.add(new JsonPrimitive(new String(contents)));
jsonThis.add(new JsonPrimitive(path));
return jsonThis;
}
}