|
|
|
@ -5,10 +5,18 @@ import java.util.List;
|
|
|
|
|
|
|
|
|
|
import com.todoroo.andlib.data.TodorooCursor;
|
|
|
|
|
import com.todoroo.andlib.service.Autowired;
|
|
|
|
|
import com.todoroo.andlib.service.DependencyInjectionService;
|
|
|
|
|
import com.todoroo.andlib.sql.Criterion;
|
|
|
|
|
import com.todoroo.andlib.sql.Join;
|
|
|
|
|
import com.todoroo.andlib.sql.Query;
|
|
|
|
|
import com.todoroo.astrid.actfm.sync.messages.ConstructOutstandingTableFromMasterTable;
|
|
|
|
|
import com.todoroo.astrid.actfm.sync.messages.NameMaps;
|
|
|
|
|
import com.todoroo.astrid.dao.TaskAttachmentDao;
|
|
|
|
|
import com.todoroo.astrid.dao.TaskAttachmentOutstandingDao;
|
|
|
|
|
import com.todoroo.astrid.dao.TaskOutstandingDao;
|
|
|
|
|
import com.todoroo.astrid.data.Task;
|
|
|
|
|
import com.todoroo.astrid.data.TaskAttachment;
|
|
|
|
|
import com.todoroo.astrid.data.TaskAttachmentOutstanding;
|
|
|
|
|
import com.todoroo.astrid.data.TaskOutstanding;
|
|
|
|
|
|
|
|
|
|
public class EmptyTitleOutstandingEntryMigration {
|
|
|
|
@ -16,17 +24,30 @@ public class EmptyTitleOutstandingEntryMigration {
|
|
|
|
|
@Autowired
|
|
|
|
|
private TaskOutstandingDao taskOutstandingDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private TaskAttachmentDao taskAttachmentDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private TaskAttachmentOutstandingDao taskAttachmentOutstandingDao;
|
|
|
|
|
|
|
|
|
|
public EmptyTitleOutstandingEntryMigration() {
|
|
|
|
|
DependencyInjectionService.getInstance().inject(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void performMigration() {
|
|
|
|
|
try {
|
|
|
|
|
TodorooCursor<TaskOutstanding> outstandingWithTitle = taskOutstandingDao
|
|
|
|
|
.query(Query.select(TaskOutstanding.TASK_ID)
|
|
|
|
|
.query(Query.select(TaskOutstanding.TASK_ID, Task.UUID)
|
|
|
|
|
.join(Join.left(Task.TABLE, Task.ID.eq(TaskOutstanding.TASK_ID)))
|
|
|
|
|
.where(Criterion.and(TaskOutstanding.COLUMN_STRING.eq(Task.TITLE.name),
|
|
|
|
|
Criterion.or(TaskOutstanding.VALUE_STRING.isNotNull(), TaskOutstanding.VALUE_STRING.neq("")))) //$NON-NLS-1$
|
|
|
|
|
.groupBy(TaskOutstanding.TASK_ID));
|
|
|
|
|
List<Long> ids = new ArrayList<Long>();
|
|
|
|
|
List<String> uuids = new ArrayList<String>();
|
|
|
|
|
for (outstandingWithTitle.moveToFirst(); !outstandingWithTitle.isAfterLast(); outstandingWithTitle.moveToNext()) {
|
|
|
|
|
try {
|
|
|
|
|
ids.add(outstandingWithTitle.get(TaskOutstanding.TASK_ID));
|
|
|
|
|
uuids.add(outstandingWithTitle.get(Task.UUID));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
@ -35,6 +56,9 @@ public class EmptyTitleOutstandingEntryMigration {
|
|
|
|
|
taskOutstandingDao.deleteWhere(Criterion.and(TaskOutstanding.TASK_ID.in(ids.toArray(new Long[ids.size()])),
|
|
|
|
|
TaskOutstanding.COLUMN_STRING.eq(Task.TITLE.name),
|
|
|
|
|
Criterion.or(TaskOutstanding.VALUE_STRING.isNull(), TaskOutstanding.VALUE_STRING.eq("")))); //$NON-NLS-1$
|
|
|
|
|
|
|
|
|
|
new ConstructOutstandingTableFromMasterTable<TaskAttachment, TaskAttachmentOutstanding>(NameMaps.TABLE_ID_ATTACHMENTS,
|
|
|
|
|
taskAttachmentDao, taskAttachmentOutstandingDao, TaskAttachment.CREATED_AT).execute(TaskAttachment.TASK_UUID.in(uuids.toArray(new String[uuids.size()])));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|