mirror of https://github.com/tasks/tasks
Remove RemoteModel and RemoteModelDao
parent
afa9622f78
commit
8bc9cadf72
@ -1,29 +0,0 @@
|
|||||||
package com.todoroo.astrid.dao;
|
|
||||||
|
|
||||||
import com.todoroo.andlib.data.DatabaseDao;
|
|
||||||
import com.todoroo.astrid.data.RemoteModel;
|
|
||||||
import com.todoroo.astrid.data.Task;
|
|
||||||
import com.todoroo.astrid.helper.UUIDHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class is meant to be subclassed for daos whose models
|
|
||||||
* require UUID generation (i.e., most RemoteModels). The createNew
|
|
||||||
* method takes care of automatically generating a new UUID for each newly
|
|
||||||
* created model if one doesn't already exist.
|
|
||||||
* @author Sam
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class RemoteModelDao extends DatabaseDao {
|
|
||||||
|
|
||||||
public RemoteModelDao(Database database) {
|
|
||||||
super(database);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean createNew(Task item) {
|
|
||||||
if (!item.containsValue(RemoteModel.UUID_PROPERTY) || RemoteModel.isUuidEmpty(item.getUuidProperty())) {
|
|
||||||
item.setUuidProperty(UUIDHelper.newUUID());
|
|
||||||
}
|
|
||||||
return super.createNew(item);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2012 Todoroo Inc
|
|
||||||
*
|
|
||||||
* See the file "LICENSE" for the full license governing this code.
|
|
||||||
*/
|
|
||||||
package com.todoroo.astrid.data;
|
|
||||||
|
|
||||||
import android.content.ContentValues;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.text.TextUtils;
|
|
||||||
|
|
||||||
import com.todoroo.andlib.data.AbstractModel;
|
|
||||||
import com.todoroo.andlib.data.Property.StringProperty;
|
|
||||||
import com.todoroo.andlib.data.TodorooCursor;
|
|
||||||
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import timber.log.Timber;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A model that is synchronized to a remote server and has a remote id
|
|
||||||
*
|
|
||||||
* @author Tim Su <tim@todoroo.com>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
abstract public class RemoteModel extends AbstractModel {
|
|
||||||
|
|
||||||
RemoteModel() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
RemoteModel(TodorooCursor cursor) {
|
|
||||||
super(cursor);
|
|
||||||
}
|
|
||||||
|
|
||||||
RemoteModel(AbstractModel model) {
|
|
||||||
super(model);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** remote id property common to all remote models */
|
|
||||||
static final String UUID_PROPERTY_NAME = "remoteId"; //$NON-NLS-1$
|
|
||||||
|
|
||||||
/** remote id property */
|
|
||||||
public static final StringProperty UUID_PROPERTY = new StringProperty(null, UUID_PROPERTY_NAME);
|
|
||||||
|
|
||||||
/** constant value for no uuid */
|
|
||||||
public static final String NO_UUID = "0"; //$NON-NLS-1$
|
|
||||||
|
|
||||||
public static boolean isValidUuid(String uuid) {
|
|
||||||
try {
|
|
||||||
long value = Long.parseLong(uuid);
|
|
||||||
return value > 0;
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
Timber.e(e, e.getMessage());
|
|
||||||
return isUuidEmpty(uuid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String getUuidHelper(StringProperty uuid) {
|
|
||||||
if(setValues != null && setValues.containsKey(uuid.name)) {
|
|
||||||
return setValues.getAsString(uuid.name);
|
|
||||||
} else if(values != null && values.containsKey(uuid.name)) {
|
|
||||||
return values.getAsString(uuid.name);
|
|
||||||
} else {
|
|
||||||
return NO_UUID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUuid(String uuid) {
|
|
||||||
if (setValues == null) {
|
|
||||||
setValues = new ContentValues();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(NO_UUID.equals(uuid)) {
|
|
||||||
clearValue(UUID_PROPERTY);
|
|
||||||
} else {
|
|
||||||
setValues.put(UUID_PROPERTY_NAME, uuid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isUuidEmpty(String uuid) {
|
|
||||||
return NO_UUID.equals(uuid) || TextUtils.isEmpty(uuid);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUuidProperty() {
|
|
||||||
return getValue(UUID_PROPERTY);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUuidProperty(String uuidProperty) {
|
|
||||||
setValue(UUID_PROPERTY, uuidProperty);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue