Remove SyncMetadataService.getMetadataCriteria

pull/189/head
Alex Baker 12 years ago
parent 4ce3a66071
commit c4c15ecc15

@ -69,10 +69,9 @@ public class MetadataDao extends DatabaseDao<Metadata> {
* *
* @param taskId id of task to perform synchronization on * @param taskId id of task to perform synchronization on
* @param metadata list of new metadata items to save * @param metadata list of new metadata items to save
* @param metadataCriteria criteria to load data for comparison from metadata * @param metadataKey metadata key
*/ */
public void synchronizeMetadata(long taskId, ArrayList<Metadata> metadata, public void synchronizeMetadata(long taskId, ArrayList<Metadata> metadata, String metadataKey) {
Criterion metadataCriteria) {
HashSet<ContentValues> newMetadataValues = new HashSet<>(); HashSet<ContentValues> newMetadataValues = new HashSet<>();
for(Metadata metadatum : metadata) { for(Metadata metadatum : metadata) {
metadatum.setTask(taskId); metadatum.setTask(taskId);
@ -80,8 +79,8 @@ public class MetadataDao extends DatabaseDao<Metadata> {
newMetadataValues.add(metadatum.getMergedValues()); newMetadataValues.add(metadatum.getMergedValues());
} }
TodorooCursor<Metadata> cursor = query(Query.select(Metadata.PROPERTIES).where(Criterion.and(MetadataCriteria.byTask(taskId), TodorooCursor<Metadata> cursor = query(Query.select(Metadata.PROPERTIES).where(
metadataCriteria))); MetadataCriteria.byTaskAndwithKey(taskId, metadataKey)));
try { try {
// try to find matches within our metadata list // try to find matches within our metadata list
for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {

@ -53,11 +53,6 @@ public final class GtasksMetadataService extends SyncMetadataService<GtasksTaskC
return GtasksMetadata.ID.eq(remoteTask.gtaskMetadata.getValue(GtasksMetadata.ID)); return GtasksMetadata.ID.eq(remoteTask.gtaskMetadata.getValue(GtasksMetadata.ID));
} }
@Override
public Criterion getMetadataCriteria() {
return MetadataCriteria.withKey(getMetadataKey());
}
@Override @Override
public String getMetadataKey() { public String getMetadataKey() {
return GtasksMetadata.METADATA_KEY; return GtasksMetadata.METADATA_KEY;

@ -6,7 +6,6 @@
package com.todoroo.astrid.utility; package com.todoroo.astrid.utility;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.dao.MetadataDao; import com.todoroo.astrid.dao.MetadataDao;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
@ -24,9 +23,6 @@ abstract public class SyncMetadataService<TYPE extends SyncContainer> {
/** @return metadata key identifying this sync provider's metadata */ /** @return metadata key identifying this sync provider's metadata */
abstract public String getMetadataKey(); abstract public String getMetadataKey();
/** @return criterion for matching all metadata keys that your provider synchronizes */
abstract public Criterion getMetadataCriteria();
// --- implementation // --- implementation
public SyncMetadataService(TaskDao taskDao, MetadataDao metadataDao) { public SyncMetadataService(TaskDao taskDao, MetadataDao metadataDao) {
@ -47,8 +43,7 @@ abstract public class SyncMetadataService<TYPE extends SyncContainer> {
public void saveTaskAndMetadata(TYPE task) { public void saveTaskAndMetadata(TYPE task) {
task.prepareForSaving(); task.prepareForSaving();
taskDao.save(task.task); taskDao.save(task.task);
metadataDao.synchronizeMetadata(task.task.getId(), task.metadata, metadataDao.synchronizeMetadata(task.task.getId(), task.metadata, getMetadataKey());
getMetadataCriteria());
} }
/** /**

Loading…
Cancel
Save