|
|
@ -24,7 +24,7 @@ import com.todoroo.andlib.sql.Query;
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
|
|
|
|
|
|
|
|
private Class<TYPE> modelClass;
|
|
|
|
private final Class<TYPE> modelClass;
|
|
|
|
|
|
|
|
|
|
|
|
private Table table;
|
|
|
|
private Table table;
|
|
|
|
|
|
|
|
|
|
|
@ -133,14 +133,14 @@ public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public boolean persist(AbstractModel item) {
|
|
|
|
public boolean persist(AbstractModel item) {
|
|
|
|
if (item.getId() == AbstractModel.NO_ID) {
|
|
|
|
if (item.getId() == AbstractModel.NO_ID) {
|
|
|
|
return createItem(item);
|
|
|
|
return createNew(item);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
ContentValues values = item.getSetValues();
|
|
|
|
ContentValues values = item.getSetValues();
|
|
|
|
|
|
|
|
|
|
|
|
if (values.size() == 0) // nothing changed
|
|
|
|
if (values.size() == 0) // nothing changed
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
|
|
return saveItem(item);
|
|
|
|
return saveExisting(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -154,7 +154,7 @@ public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
* item model
|
|
|
|
* item model
|
|
|
|
* @return returns true on success.
|
|
|
|
* @return returns true on success.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public boolean createItem(AbstractModel item) {
|
|
|
|
public boolean createNew(AbstractModel item) {
|
|
|
|
long newRow = database.getDatabase().insert(table.name,
|
|
|
|
long newRow = database.getDatabase().insert(table.name,
|
|
|
|
AbstractModel.ID_PROPERTY.name, item.getMergedValues());
|
|
|
|
AbstractModel.ID_PROPERTY.name, item.getMergedValues());
|
|
|
|
item.setId(newRow);
|
|
|
|
item.setId(newRow);
|
|
|
@ -162,7 +162,7 @@ public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Saves the given item.
|
|
|
|
* Saves the given item. Will not create a new item!
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @param database
|
|
|
|
* @param database
|
|
|
|
* @param table
|
|
|
|
* @param table
|
|
|
@ -171,7 +171,7 @@ public class GenericDao<TYPE extends AbstractModel> {
|
|
|
|
* item model
|
|
|
|
* item model
|
|
|
|
* @return returns true on success.
|
|
|
|
* @return returns true on success.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public boolean saveItem(AbstractModel item) {
|
|
|
|
public boolean saveExisting(AbstractModel item) {
|
|
|
|
ContentValues values = item.getSetValues();
|
|
|
|
ContentValues values = item.getSetValues();
|
|
|
|
if(values.size() == 0) // nothing changed
|
|
|
|
if(values.size() == 0) // nothing changed
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|