mirror of https://github.com/tasks/tasks
Constructing task outstanding from master table should include tag_added
parent
e2a9d34701
commit
6819e94458
@ -0,0 +1,48 @@
|
|||||||
|
package com.todoroo.astrid.actfm.sync.messages;
|
||||||
|
|
||||||
|
import com.todoroo.andlib.data.Property.LongProperty;
|
||||||
|
import com.todoroo.andlib.data.TodorooCursor;
|
||||||
|
import com.todoroo.andlib.sql.Criterion;
|
||||||
|
import com.todoroo.andlib.sql.Query;
|
||||||
|
import com.todoroo.astrid.dao.MetadataDao;
|
||||||
|
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
|
||||||
|
import com.todoroo.astrid.dao.OutstandingEntryDao;
|
||||||
|
import com.todoroo.astrid.dao.RemoteModelDao;
|
||||||
|
import com.todoroo.astrid.data.Metadata;
|
||||||
|
import com.todoroo.astrid.data.Task;
|
||||||
|
import com.todoroo.astrid.data.TaskOutstanding;
|
||||||
|
import com.todoroo.astrid.tags.TaskToTagMetadata;
|
||||||
|
|
||||||
|
public class ConstructTaskOutstandingTableFromMasterTable extends ConstructOutstandingTableFromMasterTable<Task, TaskOutstanding> {
|
||||||
|
|
||||||
|
private final MetadataDao metadataDao;
|
||||||
|
|
||||||
|
public ConstructTaskOutstandingTableFromMasterTable(String table, RemoteModelDao<Task> dao, OutstandingEntryDao<TaskOutstanding> outstandingDao, MetadataDao metadataDao, LongProperty createdAtProperty) {
|
||||||
|
super(table, dao, outstandingDao, createdAtProperty);
|
||||||
|
this.metadataDao = metadataDao;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void extras(long itemId, long createdAt) {
|
||||||
|
super.extras(itemId, createdAt);
|
||||||
|
TodorooCursor<Metadata> tagMetadata = metadataDao.query(Query.select(Metadata.PROPERTIES)
|
||||||
|
.where(Criterion.and(MetadataCriteria.byTaskAndwithKey(itemId, TaskToTagMetadata.KEY), Metadata.DELETION_DATE.eq(0))));
|
||||||
|
Metadata m = new Metadata();
|
||||||
|
try {
|
||||||
|
for (tagMetadata.moveToFirst(); !tagMetadata.isAfterLast(); tagMetadata.moveToNext()) {
|
||||||
|
m.clear();
|
||||||
|
m.readFromCursor(tagMetadata);
|
||||||
|
|
||||||
|
TaskOutstanding oe = new TaskOutstanding();
|
||||||
|
oe.setValue(TaskOutstanding.ENTITY_ID_PROPERTY, itemId);
|
||||||
|
oe.setValue(TaskOutstanding.COLUMN_STRING, NameMaps.TAG_ADDED_COLUMN);
|
||||||
|
oe.setValue(TaskOutstanding.VALUE_STRING, m.getValue(TaskToTagMetadata.TAG_UUID));
|
||||||
|
oe.setValue(TaskOutstanding.CREATED_AT, createdAt);
|
||||||
|
outstandingDao.createNew(oe);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
tagMetadata.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue