/*
* Copyright (C) 2010-2012 Stichting Akvo (Akvo Foundation)
*
* This file is part of Akvo FLOW.
*
* Akvo FLOW is free software: you can redistribute it and modify it under the terms of
* the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
* either version 3 of the License or any later version.
*
* Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License included below for more details.
*
* The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
*/
package com.gallatinsystems.device.domain;
import java.util.Date;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import org.waterforpeople.mapping.domain.Status;
import org.waterforpeople.mapping.domain.Status.StatusCode;
import com.gallatinsystems.framework.domain.BaseDomain;
import com.google.appengine.api.datastore.Text;
/**
* persistent class for storing a record of which file(s) were uploaded by which devices and their
* processing status.
*/
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class DeviceFiles extends BaseDomain {
private static final long serialVersionUID = 1L;
@Persistent
private String URI = null;
@Persistent
private Date uploadDateTime = null;
@Persistent
private Status.StatusCode processedStatus = null;
@Persistent
private Status status = null;
@Persistent
private String processDate = null;
private Text processingMessageText = null;
private Long surveyInstanceId = null;
private String androidId;
private String phoneNumber;
private String checksum;
private String imei;
public String getChecksum() {
return checksum;
}
public void setChecksum(String checksum) {
this.checksum = checksum;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getImei() {
return imei;
}
public void setImei(String imei) {
this.imei = imei;
}
public String getURI() {
return URI;
}
public String getProcessDate() {
return processDate;
}
public void setProcessDate(String processDate) {
this.processDate = processDate;
}
public void setURI(String uri) {
URI = uri;
}
public Date getUploadDateTime() {
return uploadDateTime;
}
public void setUploadDateTime(Date uploadDateTime) {
this.uploadDateTime = uploadDateTime;
}
public Status.StatusCode getProcessedStatus() {
return processedStatus;
}
public void setProcessedStatus(StatusCode statusCode) {
this.processedStatus = statusCode;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
public String getAndroidId() {
return androidId;
}
public void setAndroidId(String androidId) {
this.androidId = androidId;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("DeviceFiles: ");
sb.append("\n Key: " + key.toString());
sb.append("\n URI: " + URI);
sb.append("\n ProcessDate: " + this.processDate);
sb.append("\n Status: " + status);
sb.append("\n ProcessedStatus: " + this.processedStatus);
return sb.toString();
}
public void addProcessingMessage(String message) {
if (processingMessageText != null)
processingMessageText = new Text(processingMessageText.getValue()
+ "\n" + message);
else
processingMessageText = new Text(message);
}
public void setProcessingMessageText(Text processingMessage) {
this.processingMessageText = processingMessage;
}
public String getProcessingStringMessage() {
return processingMessageText.getValue();
}
public void setSurveyInstanceId(Long surveyInstanceId) {
this.surveyInstanceId = surveyInstanceId;
}
public Long getSurveyInstanceId() {
return surveyInstanceId;
}
public Text getProcessingMessageText() {
// TODO Auto-generated method stub
return processingMessageText;
}
}