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