Java Code Examples for mil.nga.geopackage.schema.constraints.DataColumnConstraintsDao#deleteCascade()
The following examples show how to use
mil.nga.geopackage.schema.constraints.DataColumnConstraintsDao#deleteCascade() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DataColumnConstraintsUtils.java From geopackage-android with MIT License | 4 votes |
/** * Test delete * * @param geoPackage * @throws SQLException */ public static void testDelete(GeoPackage geoPackage) throws SQLException { DataColumnConstraintsDao dao = geoPackage.getDataColumnConstraintsDao(); DataColumnsDao dataColumnsDao = geoPackage.getDataColumnsDao(); if (dao.isTableExists()) { List<DataColumnConstraints> results = dao.queryForAll(); if (!results.isEmpty()) { // Choose random data column constraints int random = (int) (Math.random() * results.size()); DataColumnConstraints dataColumnConstraints = results .get(random); int remainingConstraints = dao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); int dataColumns = dataColumnsDao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); // Delete the data column constraints dao.deleteCascade(dataColumnConstraints); // Verify deleted DataColumnConstraints queryDataColumns = dao.queryByUnique( dataColumnConstraints.getConstraintName(), dataColumnConstraints.getConstraintType(), dataColumnConstraints.getValue()); TestCase.assertNull(queryDataColumns); // Verify cascade delete int afterRemainingConstraints = dao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); int afterDataColumns = dataColumnsDao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); TestCase.assertEquals(remainingConstraints - 1, afterRemainingConstraints); if (remainingConstraints == 1) { TestCase.assertEquals(0, afterDataColumns); } else { TestCase.assertEquals(dataColumns, afterDataColumns); } // Prepared deleted results = dao.queryForAll(); if (!results.isEmpty()) { // Choose random data column constraints random = (int) (Math.random() * results.size()); dataColumnConstraints = results.get(random); // Find which data column constraints to delete QueryBuilder<DataColumnConstraints, Void> qb = dao .queryBuilder(); qb.where().eq(DataColumnConstraints.COLUMN_CONSTRAINT_NAME, dataColumnConstraints.getConstraintName()); PreparedQuery<DataColumnConstraints> query = qb.prepare(); List<DataColumnConstraints> queryResults = dao.query(query); int count = queryResults.size(); // Delete DeleteBuilder<DataColumnConstraints, Void> db = dao .deleteBuilder(); db.where().eq(DataColumnConstraints.COLUMN_CONSTRAINT_NAME, dataColumnConstraints.getConstraintName()); PreparedDelete<DataColumnConstraints> deleteQuery = db .prepare(); int deleted = dao.delete(deleteQuery); TestCase.assertEquals(count, deleted); } } } }
Example 2
Source File: DataColumnConstraintsUtils.java From geopackage-java with MIT License | 4 votes |
/** * Test delete * * @param geoPackage * @throws SQLException */ public static void testDelete(GeoPackage geoPackage) throws SQLException { DataColumnConstraintsDao dao = geoPackage.getDataColumnConstraintsDao(); DataColumnsDao dataColumnsDao = geoPackage.getDataColumnsDao(); if (dao.isTableExists()) { List<DataColumnConstraints> results = dao.queryForAll(); if (!results.isEmpty()) { // Choose random data column constraints int random = (int) (Math.random() * results.size()); DataColumnConstraints dataColumnConstraints = results .get(random); int remainingConstraints = dao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); int dataColumns = dataColumnsDao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); // Delete the data column constraints dao.deleteCascade(dataColumnConstraints); // Verify deleted DataColumnConstraints queryDataColumns = dao.queryByUnique( dataColumnConstraints.getConstraintName(), dataColumnConstraints.getConstraintType(), dataColumnConstraints.getValue()); TestCase.assertNull(queryDataColumns); // Verify cascade delete int afterRemainingConstraints = dao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); int afterDataColumns = dataColumnsDao.queryByConstraintName( dataColumnConstraints.getConstraintName()).size(); TestCase.assertEquals(remainingConstraints - 1, afterRemainingConstraints); if (remainingConstraints == 1) { TestCase.assertEquals(0, afterDataColumns); } else { TestCase.assertEquals(dataColumns, afterDataColumns); } // Prepared deleted results = dao.queryForAll(); if (!results.isEmpty()) { // Choose random data column constraints random = (int) (Math.random() * results.size()); dataColumnConstraints = results.get(random); // Find which data column constraints to delete QueryBuilder<DataColumnConstraints, Void> qb = dao .queryBuilder(); qb.where().eq(DataColumnConstraints.COLUMN_CONSTRAINT_NAME, dataColumnConstraints.getConstraintName()); PreparedQuery<DataColumnConstraints> query = qb.prepare(); List<DataColumnConstraints> queryResults = dao.query(query); int count = queryResults.size(); // Delete DeleteBuilder<DataColumnConstraints, Void> db = dao .deleteBuilder(); db.where().eq(DataColumnConstraints.COLUMN_CONSTRAINT_NAME, dataColumnConstraints.getConstraintName()); PreparedDelete<DataColumnConstraints> deleteQuery = db .prepare(); int deleted = dao.delete(deleteQuery); TestCase.assertEquals(count, deleted); } } } }