List of usage examples for android.database Cursor getType
int getType(int columnIndex);
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithNumber_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;/* w ww .j av a 2 s.co m*/ String testCol = "testColumn"; String testColType = ElementDataType.number.name(); List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); double testVal = 5.5; ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); double val = 0; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_FLOAT); val = cursor.getDouble(ind); } assertEquals(val, testVal, 0.0); // cursor.close(); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithDate_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;//from www . jav a 2 s.co m String testCol = "testColumn"; String testColType = ElementType.DATE; List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); String testVal = TableConstants.nanoSecondsFromMillis(System.currentTimeMillis()); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithDatetime_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;/* w ww . ja v a 2s .co m*/ String testCol = "testColumn"; String testColType = ElementType.DATETIME; List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); String testVal = TableConstants.nanoSecondsFromMillis(System.currentTimeMillis()); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithString_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;/*from w w w . jav a 2 s.c om*/ String testCol = "testColumn"; String testColType = ElementDataType.string.name(); List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); String testVal = "test"; ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testGetTableHealthWhenTableIsClean_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;//from w ww. ja v a2s . c o m String testCol = "testColumn"; String testColType = ElementDataType.integer.name(); List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); int testVal = 5; ContentValues cvValues = new ContentValues(); String rowId = LocalizationUtils.genUUID(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, rowId, activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); int val = 0; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_INTEGER); val = cursor.getInt(ind); } assertEquals(val, testVal); // Test that the health of the table is CLEAN int health = ODKDatabaseImplUtils.get().getTableHealth(db, tableId); assertFalse(CursorUtils.getTableHealthHasConflictsOrCheckpoints(health)); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithArray_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;/*from w w w.j av a 2 s . co m*/ String testCol = "testColumn"; String testColType = ElementDataType.array.name(); String testVal = "item"; List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[\"" + testCol + "_items\"]")); columns.add(new Column(testCol + "_items", "items", ElementDataType.string.name(), "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testInsertCheckpointRowIntoExistingTableWithIdWhenRowDoesNotExist_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;// w w w. j av a 2s . co m String testCol = "testColumn"; String testColType = ElementDataType.string.name(); String testVal = "test"; String rowId = LocalizationUtils.genUUID(); List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertCheckpointRowWithId(db, tableId, orderedColumns, cvValues, rowId, activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); ind = cursor.getColumnIndex(DataTableColumns.SAVEPOINT_TYPE); assertTrue(cursor.isNull(ind)); // Get the conflict_type and make sure that it is null ind = cursor.getColumnIndex(DataTableColumns.CONFLICT_TYPE); assertTrue(cursor.isNull(ind)); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testWriteDataIntoExistingTableWithTime_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;//from w ww. j av a 2s. c o m String testCol = "testColumn"; String testColType = ElementType.TIME; List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); String interMed = TableConstants.nanoSecondsFromMillis(System.currentTimeMillis()); int pos = interMed.indexOf('T'); String testVal = null; if (pos > -1) { testVal = interMed.substring(pos + 1); } else { fail("The conversion of the date time string to time is incorrect"); // Log.i(TAG, "Time string is " + interMed); } // Log.i(TAG, "Time string is " + testVal); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, LocalizationUtils.genUUID(), activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); } assertEquals(val, testVal); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testMultithreadedDBInsertionWithoutClosingCursor_ExpectPass() throws ActionNotAuthorizedException { int numOfThreads = 5; String tableId = testTable;//from w w w.j a v a 2s . c o m String colPrefix = "testColumn"; String testColType = ElementDataType.integer.name(); List<Column> columns = new ArrayList<Column>(); // Create table with the right number of columns for (int i = 0; i <= numOfThreads; i++) { String testCol = colPrefix + i; columns.add(new Column(testCol, testCol, testColType, "[]")); } OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); // Insert data so that the threads can all just update int testVal = 0; String setupTestCol = colPrefix + 0; ContentValues cvValues = new ContentValues(); String rowId = LocalizationUtils.genUUID(); cvValues.put(setupTestCol, testVal); ODKDatabaseImplUtils.get().insertRowWithId(db, tableId, orderedColumns, cvValues, rowId, activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Ensure that the row exists String sel = "SELECT * FROM " + tableId + " WHERE " + setupTestCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(setupTestCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_INTEGER); int val = cursor.getInt(ind); assertEquals(val, testVal); } // Have the threads all update the corresponding column in the table try { threadTest(numOfThreads, tableId, rowId, colPrefix, orderedColumns, false, false, 0); } catch (Exception e) { e.printStackTrace(); } // Ensure that the row exists String sel2 = "SELECT * FROM " + tableId + " WHERE " + DataTableColumns.ID + " = ?"; String[] selArgs2 = { "" + rowId }; Cursor cursor2 = ODKDatabaseImplUtils.get().rawQuery(db, sel2, selArgs2, null, accessContext); assertEquals(cursor2.getCount(), 1); System.out.println("testMultithreadedDBInsertionWithoutClosingCursor_ExpectPass: before assert"); OdkConnectionFactorySingleton.getOdkConnectionFactoryInterface().dumpInfo(false); while (cursor2.moveToNext()) { for (int i = 0; i <= numOfThreads; i++) { String columnName = colPrefix + i; int ind = cursor2.getColumnIndex(columnName); int type = cursor2.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_INTEGER); int val = cursor2.getInt(ind); assertEquals(val, i); } } // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }
From source file:org.opendatakit.utilities.AbstractODKDatabaseUtilsTest.java
@Test public void testDeleteLastCheckpointRowWithId_ExpectPass() throws ActionNotAuthorizedException { String tableId = testTable;// w ww. j a v a 2 s .c o m String testCol = "testColumn"; String testColType = ElementDataType.string.name(); String testVal = "test"; String rowId = LocalizationUtils.genUUID(); List<Column> columns = new ArrayList<Column>(); columns.add(new Column(testCol, testCol, testColType, "[]")); OrderedColumns orderedColumns = ODKDatabaseImplUtils.get().createOrOpenTableWithColumns(db, tableId, columns); ODKDatabaseImplUtils.AccessContext accessContext = ODKDatabaseImplUtils.get().getAccessContext(db, tableId, activeUser, RoleConsts.ADMIN_ROLES_LIST); ContentValues cvValues = new ContentValues(); cvValues.put(testCol, testVal); ODKDatabaseImplUtils.get().insertCheckpointRowWithId(db, tableId, orderedColumns, cvValues, rowId, activeUser, RoleConsts.ADMIN_ROLES_LIST, currentLocale); // Select everything out of the table String sel = "SELECT * FROM " + tableId + " WHERE " + testCol + " = ?"; String[] selArgs = { "" + testVal }; Cursor cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); String val = null; while (cursor.moveToNext()) { int ind = cursor.getColumnIndex(testCol); int type = cursor.getType(ind); assertEquals(type, Cursor.FIELD_TYPE_STRING); val = cursor.getString(ind); ind = cursor.getColumnIndex(DataTableColumns.SAVEPOINT_TYPE); assertTrue(cursor.isNull(ind)); // Get the conflict_type and make sure that it is null ind = cursor.getColumnIndex(DataTableColumns.CONFLICT_TYPE); assertTrue(cursor.isNull(ind)); } assertEquals(val, testVal); ODKDatabaseImplUtils.get().deleteLastCheckpointRowWithId(db, tableId, rowId, activeUser, RoleConsts.ADMIN_ROLES_LIST); // Select everything out of the table sel = "SELECT * FROM " + tableId; selArgs = new String[0]; cursor = ODKDatabaseImplUtils.get().rawQuery(db, sel, selArgs, null, accessContext); assertEquals(cursor.getCount(), 0); // Drop the table now that the test is done ODKDatabaseImplUtils.get().deleteTableAndAllData(db, tableId); }