use of com.dailystudio.dataobject.query.QueryToken in project devbricks by dailystudio.
the class QueryTokenTest method testCreateQueryToken.
public void testCreateQueryToken() {
QueryToken token = null;
token = new QueryToken("1234");
assertEquals("1234", token.toString());
token = new QueryToken(new IntegerColumn("intVal"));
assertEquals("intVal", token.toString());
}
use of com.dailystudio.dataobject.query.QueryToken in project devbricks by dailystudio.
the class DatabaseConnectivity method onDelete.
@Override
protected int onDelete(Query query) {
if (query == null) {
return 0;
}
if (checkProviderPreparation() == false) {
return 0;
}
Uri uri = ProviderUriBuilder.buildQueryUri(mAuthority, mObjectClass, getDatabaseVersion());
if (uri == null) {
return 0;
}
String selection = null;
QueryToken selToken = query.getSelection();
if (selToken != null) {
selection = selToken.toString();
}
return mContentResovler.delete(uri, selection, null);
}
use of com.dailystudio.dataobject.query.QueryToken in project devbricks by dailystudio.
the class DatabaseConnectivity method doQueryCursor.
private Cursor doQueryCursor(long serial, Query query, Class<? extends DatabaseObject> projectionClass, boolean cursorOnly) {
if (query == null) {
return null;
}
if (checkProviderPreparation() == false) {
return null;
}
Uri uri = ProviderUriBuilder.buildQueryUri(mAuthority, mObjectClass, getDatabaseVersion(), serial, cursorOnly);
if (uri == null) {
return null;
}
String selection = null;
String groupBy = null;
String having = null;
String orderBy = null;
String limit = null;
QueryToken selToken = query.getSelection();
if (selToken != null) {
selection = selToken.toString();
}
QueryToken groupByToken = query.getGroupBy();
if (groupByToken != null) {
groupBy = groupByToken.toString();
}
QueryToken havingToken = query.getHaving();
if (havingToken != null) {
having = havingToken.toString();
}
QueryToken orderByToken = query.getOrderBy();
if (orderByToken != null) {
orderBy = orderByToken.toString();
}
QueryToken limitToken = query.getLimit();
if (limitToken != null) {
limit = limitToken.toString();
}
String sortOrder = SortOrderEncoder.encode(groupBy, having, orderBy, limit);
String[] projection = createProjection(projectionClass);
Cursor c = null;
try {
c = mContentResovler.query(uri, projection, selection, null, sortOrder);
} catch (Exception e) {
Logger.warn("content resolver failure: %s", e.toString());
}
if (c == null || c.getCount() <= 0) {
if (c != null) {
c.close();
}
return null;
}
return c;
}
use of com.dailystudio.dataobject.query.QueryToken in project devbricks by dailystudio.
the class DatabaseConnectivity method onUpdate.
@Override
protected int onUpdate(Query query, DatabaseObject object) {
if (query == null || 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;
}
String selection = null;
QueryToken selToken = query.getSelection();
if (selToken != null) {
selection = selToken.toString();
}
return mContentResovler.update(uri, values, selection, null);
}
use of com.dailystudio.dataobject.query.QueryToken in project devbricks by dailystudio.
the class DatabaseConnectivityDirectSQLiteImpl method onDelete.
@Override
protected int onDelete(Query query) {
if (query == null) {
return 0;
}
if (mOpenHandler == null) {
return 0;
}
final SQLiteDatabase db = mOpenHandler.getWritableDatabase();
if (db == null) {
return 0;
}
final String table = DatabaseObject.classToTable(query.getObjectClass());
if (table == null) {
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.delete(table, selection, null);
if (selection == null) {
db.execSQL(String.format("DROP TABLE %s", table));
}
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 (affected <= 0) {
return 0;
}
return affected;
}
Aggregations