
automately.core.file.VirtualFileToken Maven / Gradle / Ivy
package automately.core.file;
import com.hazelcast.nio.ObjectDataInput;
import com.hazelcast.nio.ObjectDataOutput;
import io.jcluster.core.data.DataType;
import io.jsync.json.JsonObject;
import io.jsync.json.impl.Json;
import io.jsync.utils.CryptoUtils;
import io.jsync.utils.Token;
import java.io.IOException;
import java.util.Date;
public class VirtualFileToken extends DataType {
public String fileToken = "";
public String userToken = ""; //Empty by default
public Date created = new Date();
public Date expires = new Date();
private String token = CryptoUtils.calculateHmacSHA1(Token.generateToken().toString(), Token.generateToken().toString());
@Override
public void writeData(ObjectDataOutput dataOutput) throws IOException {
dataOutput.writeUTF(token);
dataOutput.writeUTF(fileToken);
dataOutput.writeUTF(userToken);
dataOutput.writeObject(created);
dataOutput.writeObject(expires);
}
@Override
public void readData(ObjectDataInput dataInput) throws IOException {
token = dataInput.readUTF();
fileToken = dataInput.readUTF();
userToken = dataInput.readUTF();
created = dataInput.readObject();
expires = dataInput.readObject();
}
public String token() {
return token;
}
@Override
public void loadJson(JsonObject json) {
if (json != null) {
this.token = json.getString("token", this.token);
this.fileToken = json.getString("fileToken", this.fileToken);
this.userToken = json.getString("userToken", this.userToken);
this.created = new Date(json.getLong("created", created.getTime()));
this.expires = new Date(json.getLong("expires", expires.getTime()));
}
}
@Override
public JsonObject toJson() {
JsonObject ret = new JsonObject(Json.encode(this));
ret.putString("token", token);
ret.removeField("factoryId");
ret.removeField("internalId");
ret.removeField("id");
return ret;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy