package org.commcare.android.database.user.models;
import org.commcare.android.storage.framework.Persisted;
import org.commcare.models.framework.Persisting;
import org.commcare.models.framework.Table;
import org.commcare.modern.models.MetaField;
import java.util.Date;
/**
* This class represents the version of a FormRecord that exists on any devices running versions
* 2.26 though 2.34 of CommCare, which was deprecated in user db version 17. This class is used
* to read a form record that exists in such a database, in order to run a db upgrade.
*
* @author Aliza Stone
*/
@Table("FORMRECORDS")
public class FormRecordV2 extends Persisted {
@Persisting(1)
@MetaField(FormRecord.META_XMLNS)
private String xmlns;
@Persisting(2)
@MetaField(FormRecord.META_INSTANCE_URI)
private String instanceURI;
@Persisting(3)
@MetaField(FormRecord.META_STATUS)
private String status;
@Persisting(4)
private byte[] aesKey;
@Persisting(value = 5, nullable = true)
@MetaField(FormRecord.META_UUID)
private String uuid;
@Persisting(6)
@MetaField(FormRecord.META_LAST_MODIFIED)
private Date lastModified;
@Persisting(7)
@MetaField(FormRecord.META_APP_ID)
private String appId;
/*
* Deserialization only
*/
public FormRecordV2() {
}
public FormRecordV2(String instanceURI, String status, String xmlns, byte[] aesKey, String uuid,
Date lastModified, String appId) {
this.instanceURI = instanceURI;
this.status = status;
this.xmlns = xmlns;
this.aesKey = aesKey;
this.uuid = uuid;
this.lastModified = lastModified;
if (lastModified == null) {
this.lastModified = new Date();
}
this.appId = appId;
}
public String getInstanceURIString() {
return instanceURI;
}
public byte[] getAesKey() {
return aesKey;
}
public String getStatus() {
return status;
}
public String getInstanceID() {
return uuid;
}
public Date lastModified() {
return lastModified;
}
public String getFormNamespace() {
return xmlns;
}
public String getAppId() {
return this.appId;
}
}