Remove cursor constructor usage from database dao

pull/189/head
Alex Baker 12 years ago
parent 004f1dd83e
commit 22ef1e24be

@ -14,8 +14,6 @@ import com.todoroo.andlib.sql.Query;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
@ -33,7 +31,6 @@ public class DatabaseDao<TYPE extends AbstractModel> {
private static final Logger log = LoggerFactory.getLogger(DatabaseDao.class); private static final Logger log = LoggerFactory.getLogger(DatabaseDao.class);
private final Class<TYPE> modelClass; private final Class<TYPE> modelClass;
private final Constructor<TYPE> cursorConstructor;
private Table table; private Table table;
@ -42,7 +39,7 @@ public class DatabaseDao<TYPE extends AbstractModel> {
public DatabaseDao(Class<TYPE> modelClass) { public DatabaseDao(Class<TYPE> modelClass) {
this.modelClass = modelClass; this.modelClass = modelClass;
try { try {
this.cursorConstructor = modelClass.getConstructor(TodorooCursor.class); modelClass.getConstructor(); // check for default constructor
} catch (NoSuchMethodException e) { } catch (NoSuchMethodException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -156,9 +153,7 @@ public class DatabaseDao<TYPE extends AbstractModel> {
if (cursor.getCount() == 0) { if (cursor.getCount() == 0) {
return null; return null;
} }
return cursorConstructor.newInstance(cursor); return fromCursor(cursor);
} catch (InvocationTargetException | InstantiationException | IllegalAccessException e) {
throw new RuntimeException(e);
} finally { } finally {
cursor.close(); cursor.close();
} }

@ -14,7 +14,6 @@ import com.todoroo.andlib.data.Property;
import com.todoroo.andlib.data.Property.LongProperty; import com.todoroo.andlib.data.Property.LongProperty;
import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Property.StringProperty;
import com.todoroo.andlib.data.Table; import com.todoroo.andlib.data.Table;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
/** /**
@ -79,11 +78,6 @@ public class StoreObject extends AbstractModel {
super(); super();
} }
@Deprecated
public StoreObject(TodorooCursor<StoreObject> cursor) {
super(cursor);
}
@Override @Override
public long getId() { public long getId() {
return getIdHelper(ID); return getIdHelper(ID);

Loading…
Cancel
Save