use of com.dailystudio.dataobject.Template in project devbricks by dailystudio.
the class DatabaseConnectivity method onInsert.
@Override
protected int onInsert(DatabaseObject[] objects) {
if (objects == null) {
return 0;
}
final int count = objects.length;
if (count <= 0) {
return 0;
}
if (checkProviderPreparation() == false) {
return 0;
}
ContentValues[] values = new ContentValues[count];
Uri uri = ProviderUriBuilder.buildQueryUri(mAuthority, mObjectClass, getDatabaseVersion());
if (uri == null) {
return 0;
}
final Template template = objects[0].getTemplate();
if (template == null) {
return 0;
}
final String table = DatabaseObject.classToTable(mObjectClass);
if (table == null) {
return 0;
}
final DatabaseObject sample = objects[0];
uri = ProviderUriBuilder.attachCreateTableParamter(uri, sample.toSQLTableCreationString());
if (uri == null) {
return 0;
}
for (int i = 0; i < count; i++) {
values[i] = objects[i].getValues();
}
return mContentResovler.bulkInsert(uri, values);
}
use of com.dailystudio.dataobject.Template in project devbricks by dailystudio.
the class DatabaseConnectivity method onInsert.
@Override
protected long onInsert(DatabaseObject object) {
if (object == null || object.isEmpty()) {
return 0;
}
if (checkProviderPreparation() == false) {
return 0;
}
final ContentValues values = object.getValues();
if (values == null) {
return 0;
}
Uri uri = ProviderUriBuilder.buildQueryUri(mAuthority, mObjectClass, getDatabaseVersion());
if (uri == null) {
return 0;
}
final Template template = object.getTemplate();
if (template == null) {
return 0;
}
final String table = DatabaseObject.classToTable(mObjectClass);
if (table == null) {
return 0;
}
uri = ProviderUriBuilder.attachCreateTableParamter(uri, object.toSQLTableCreationString());
if (uri == null) {
return 0;
}
Uri resUri = mContentResovler.insert(uri, values);
if (resUri == null) {
return 0;
}
ProviderResultUriParser parser = new ProviderResultUriParser(resUri);
return parser.getRowId();
}
use of com.dailystudio.dataobject.Template in project devbricks by dailystudio.
the class DatabaseConnectivityDirectSQLiteImpl method onInsert.
@Override
protected long onInsert(DatabaseObject object) {
if (object == null || object.isEmpty()) {
return 0;
}
if (mOpenHandler == null) {
return 0;
}
final SQLiteDatabase db = mOpenHandler.getWritableDatabase();
if (db == null) {
return 0;
}
final ContentValues values = object.getValues();
if (values == null) {
db.close();
return 0;
}
final Template template = object.getTemplate();
if (template == null) {
db.close();
return 0;
}
final String table = DatabaseObject.classToTable(object.getClass());
if (table == null) {
db.close();
return 0;
}
if (checkOrCreateTable(db, table, object) == false) {
db.close();
return 0;
}
long rowId = -1;
try {
db.beginTransaction();
rowId = db.insert(table, object.handleNullProjection(), values);
db.setTransactionSuccessful();
} catch (SQLException e) {
Logger.warn("database failure: %s", e.toString());
} catch (IllegalStateException e) {
Logger.warn("database failure: %s", e.toString());
} finally {
try {
db.endTransaction();
} catch (Exception e) {
Logger.warn("database failure: %s", e.toString());
}
}
db.close();
if (rowId <= 0) {
return 0;
}
return rowId;
}
use of com.dailystudio.dataobject.Template in project devbricks by dailystudio.
the class DatabaseConnectivityDirectSQLiteImpl method onUpdate.
@Override
protected int onUpdate(Query query, DatabaseObject object) {
if (query == null || object == null || object.isEmpty()) {
return 0;
}
if (mOpenHandler == null) {
return 0;
}
final SQLiteDatabase db = mOpenHandler.getWritableDatabase();
if (db == null) {
return 0;
}
final ContentValues values = object.getValues();
if (values == null) {
db.close();
return 0;
}
final Template template = object.getTemplate();
if (template == null) {
db.close();
return 0;
}
final String table = DatabaseObject.classToTable(object.getClass());
if (table == null) {
db.close();
return 0;
}
if (checkOrCreateTable(db, table, object) == false) {
db.close();
return 0;
}
String selection = null;
QueryToken selToken = query.getSelection();
if (selToken != null) {
selection = selToken.toString();
}
int affected = -1;
try {
db.beginTransaction();
affected = db.update(table, object.getValues(), selection, null);
db.setTransactionSuccessful();
} catch (SQLException e) {
Logger.warn("database failure: %s", e.toString());
} finally {
try {
db.endTransaction();
} catch (Exception e) {
Logger.warn("database failure: %s", e.toString());
}
}
db.close();
if (affected <= 0) {
return 0;
}
return affected;
}
Aggregations