mirror of https://github.com/tasks/tasks
Added history model and dao
parent
ffd13a9523
commit
2e8639d252
@ -0,0 +1,108 @@
|
||||
package com.todoroo.astrid.data;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.todoroo.andlib.data.AbstractModel;
|
||||
import com.todoroo.andlib.data.Property;
|
||||
import com.todoroo.andlib.data.Property.LongProperty;
|
||||
import com.todoroo.andlib.data.Property.StringProperty;
|
||||
import com.todoroo.andlib.data.Table;
|
||||
import com.todoroo.andlib.data.TodorooCursor;
|
||||
import com.todoroo.astrid.api.AstridApiConstants;
|
||||
|
||||
@SuppressWarnings("nls")
|
||||
public class History extends RemoteModel {
|
||||
|
||||
/** table for this model */
|
||||
public static final Table TABLE = new Table("history", History.class);
|
||||
|
||||
/** content uri for this model */
|
||||
public static final Uri CONTENT_URI = Uri.parse("content://" + AstridApiConstants.API_PACKAGE + "/" +
|
||||
TABLE.name);
|
||||
|
||||
// --- properties
|
||||
|
||||
/** ID */
|
||||
public static final LongProperty ID = new LongProperty(
|
||||
TABLE, ID_PROPERTY_NAME);
|
||||
|
||||
/** Remote ID */
|
||||
public static final StringProperty UUID = new StringProperty(
|
||||
TABLE, UUID_PROPERTY_NAME);
|
||||
|
||||
/** Created at */
|
||||
public static final LongProperty CREATED_AT = new LongProperty(
|
||||
TABLE, "created_at", Property.PROP_FLAG_DATE);
|
||||
|
||||
/** User id */
|
||||
public static final StringProperty USER_UUID = new StringProperty(
|
||||
TABLE, "user_id", Property.PROP_FLAG_USER_ID);
|
||||
|
||||
/** Column name */
|
||||
public static final StringProperty COLUMN = new StringProperty(
|
||||
TABLE, "column");
|
||||
|
||||
/** Old value */
|
||||
public static final StringProperty OLD_VALUE = new StringProperty(
|
||||
TABLE, "old_value");
|
||||
|
||||
/** New value */
|
||||
public static final StringProperty NEW_VALUE = new StringProperty(
|
||||
TABLE, "new_value");
|
||||
|
||||
/** Table identifier */
|
||||
public static final StringProperty TABLE_ID = new StringProperty(
|
||||
TABLE, "table_id");
|
||||
|
||||
/** Target identifier */
|
||||
public static final StringProperty TARGET_ID = new StringProperty(
|
||||
TABLE, "target_id");
|
||||
|
||||
@Override
|
||||
public String getUuid() {
|
||||
return getUuidHelper(UUID);
|
||||
}
|
||||
|
||||
/** Default values container */
|
||||
private static final ContentValues defaultValues = new ContentValues();
|
||||
|
||||
@Override
|
||||
public ContentValues getDefaultValues() {
|
||||
return defaultValues;
|
||||
}
|
||||
|
||||
static {
|
||||
defaultValues.put(UUID.name, NO_UUID);
|
||||
defaultValues.put(CREATED_AT.name, 0L);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return getIdHelper(ID);
|
||||
}
|
||||
|
||||
public History() {
|
||||
super();
|
||||
}
|
||||
|
||||
public History(TodorooCursor<History> cursor) {
|
||||
this();
|
||||
readPropertiesFromCursor(cursor);
|
||||
}
|
||||
|
||||
public void readFromCursor(TodorooCursor<History> cursor) {
|
||||
super.readPropertiesFromCursor(cursor);
|
||||
}
|
||||
|
||||
/** List of all properties for this model */
|
||||
public static final Property<?>[] PROPERTIES = generateProperties(History.class);
|
||||
|
||||
private static final Creator<History> CREATOR = new ModelCreator<History>(History.class);
|
||||
|
||||
@Override
|
||||
protected Creator<? extends AbstractModel> getCreator() {
|
||||
return CREATOR;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.todoroo.astrid.dao;
|
||||
|
||||
import android.content.ContentValues;
|
||||
|
||||
import com.todoroo.andlib.service.Autowired;
|
||||
import com.todoroo.andlib.service.DependencyInjectionService;
|
||||
import com.todoroo.andlib.utility.DateUtilities;
|
||||
import com.todoroo.astrid.data.History;
|
||||
|
||||
public class HistoryDao extends RemoteModelDao<History> {
|
||||
|
||||
@Autowired
|
||||
private Database database;
|
||||
|
||||
public HistoryDao() {
|
||||
super(History.class);
|
||||
DependencyInjectionService.getInstance().inject(this);
|
||||
setDatabase(database);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean createNew(History item) {
|
||||
if (!item.containsValue(History.CREATED_AT))
|
||||
item.setValue(History.CREATED_AT, DateUtilities.now());
|
||||
return super.createNew(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveExisting(History item) {
|
||||
ContentValues values = item.getSetValues();
|
||||
if(values == null || values.size() == 0)
|
||||
return false;
|
||||
return super.saveExisting(item);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue