/*
* Copyright (C) 2015 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 org.akvo.flow.events;
import javax.jdo.annotations.PersistenceCapable;
import com.gallatinsystems.common.Constants;
import com.gallatinsystems.framework.domain.BaseDomain;
import com.google.appengine.api.datastore.Text;
/**
* used to implement a queue for events
*/
@PersistenceCapable
public class EventQueue extends BaseDomain {
private static final long serialVersionUID = 89484684617286776L;
private String payload;
private Text payloadText;
private Boolean synced = false;
public String getPayload() {
if (payload != null) {
return payload;
}
if (payloadText != null) {
return payloadText.getValue();
}
return null;
}
public void setPayload(String payload) {
// Explicitly set the non used property to null
// to avoid problems when reading the value
if (payload != null && payload.length() > Constants.MAX_LENGTH) {
this.payload = null;
this.payloadText = new Text(payload);
} else {
this.payloadText = null;
this.payload = payload;
}
}
public Boolean getSynced() {
return synced;
}
public void setSynced(Boolean synced) {
this.synced = synced;
}
}